Newsgroup: it.comp.lang.visual-basic
Titolo: Flexgrid sort

Come fare per ottenere l'ordinamento in base ad una colonna che contiene 
delle date, dal momento che il metodo Sort lavora solo su numeri e stringhe?
I dati provengono da una query pivot, il capo in questione č il risultato 
della funzione Min applicata a quel campo.
Avevo provato a generare il recordset gia ordinato ma access mi dice che non 
si puň: Impossibile avere una funzione di aggregazione in una clausola Order 
By Min(giorno).
Devo proprio rinunciare?
greg 

 Devo proprio rinunciare?
Guarda l'help per la proprietà Sort. In particolare dove dice
    flexSortCustom  9   Utilizza l'evento Compare per confrontare le righe.
Poi ti basta mettere nel Compare un po' di IF e di conversioni
(e magari un po' di IsDate per buona misura ;-) )
Bye, G.

 (e magari un po' di IsDate per buona misura ;-) )
Grazie Pato, avevo proprio ignorato la voce custom.
E leggendo bene, loro consigliano di farsi una colonna invisisibile e poi 
"sortare" su quella.
Buona idea, solo che... non riesco a trasformare una data in numero :(
Ho guardato tutte le funzioni date ma non ho torvato nulla. C'è una funzione 
che fa ciò o devo andare a inventare?
-- 
Greg 

"greg" ha scritto nel messaggio

Ops. Attenzione, qui c'è il problema spesso citato in questo NG,
la differenza fra un dato e la sua rappresentazione.
Per altre info gugla, che trovi fior di discussioni sull'argomento.
Il punto è che per VB una data *è* un numero: guarda l'help per il
"tipo di dati Date". In breve, ogni data è rappesentata internamente
a VB come un numero con virgola. Quando lo stampi o visualizzi
viene di solito convertito automaticamente in una stringa, secondo
le impostazioni internazionali settate sul PC.
Altro problema che non posso vedere da qui: come viene passato
quel campo dal tuo database.
Comunque c'è la funzione CDate per convertire quasi qualunque
cosa in una data. Il problema è proprio quello: qulla bestia di
funzione converte a scatola chiusa, e anche lì seguendo le
impostazioni internazionali del PC, quindi un "10/01/2007" potrebbe
venir interpretato come "dieci gennaio" o come "primo ottobre"...
per altre info guarda, sempre nella guida, le specifiche della
funzione CDate.
Bye, G. 

 cosa in una data.
Il campo arriva gia dal db come Cdate, ma per buona misura ho rifatto un 
cdate.
Poi ho cercato di fare un CInt, un Clong di quel campo, ma sbatto contro un 
errore di tipo.
Mi aspettavo di riceere un numero, metterlo in una colonna, e poi ordinare 
in base a quel nmero.
Ma nisba.
-- 
Greg 

 Ma nisba.
Infatti, la Flexgrid non sa che farsene, sa ordinare solo numeri e stringhe.
Per questo ti ho consigliato di usare flexSortCustom e Compare :-).
Guarda, sono in pausa cena e ne approfitto: beccati l'allegato e guarda
come funziona. E' fatto in fretta e furia, quindi non prenderlo per oro
colato, ma almeno dovrebbe servirti da spunto.
Per andare sul sicuro non ho messo valori di tipo Date, ma stringhe.
************************
Mhhh. Non funziona, il mio server, giustamente, non mi permette
gli allegati in un gruppo non binario emi ha rifiutato il post.
L'ho piazzato qui: 
http://paperino.port5.com/FlexSort.zip
Bye, G. 

 L'ho piazzato qui: 
http://paperino.port5.com/FlexSort.zip
Immaginando che sei al pc di casa, hai appunto finito la cena (piano col 
dolce :))
ma qesto link punta ad un vero e proprio server, oppure è una cartella del 
tuo pc di casa, e appena stacchi la connessione non è piu valido? Se cosi, 
mi piarebbe sapere come hai fatto.
Grazie ancora, ciao
-- 
Greg 

 connessione non č piu valido? Se cosi, mi piarebbe sapere come hai fatto.
No, č un server (in Inghilterra) di quelli che offrono spazio web gratuito.
L'ho preso per prova un bel po' di tempo fa, ma non l'ho mai usato sul
serio, giusto per casi come questo, ci appoggio qualche foto o simili.
Tu hai Telecom, e non mi pare una ADSL ...Brescia o giů di lě, giusto ?
Se sei in abbonamento probabilmente hai anche tu uno spazio gratuito
disponibile.
Se hai un modem su un numero tipo 702XXXXXX, credo di no.
Bye, G. 

 disponibile.
Avevo uno spazio di xomer, ci avevo pure fatto un sitarello per provare, poi 
č anche passato sotto Virgilio/Telecom ma era parecchio sul complicato per 
quelle che erano e sono le mie conoscenze.
-- 
Greg