On 17/gen/07, at 00:30, Lucio Liberi wrote:
Sei un fuoriclasse... Grazie, Massimo...
Approfitto per chiedere un'altra cosa...
Ho un database con una colonna <Importo>
Voglio fare la somma della colonna <Importo>... Tu dirai: E che ci
vuole? Si... Infatti.
Il problema riguarda la formattazione dei numeri che sono reali con
due decimali, come si conviene alla nostra valuta.
Allora...
Se formatto 1.234,00 faccio le somme correttamente, ma quando
ordino 1200, viene dopo 12 e non dopo 600, cioe' 12, 1200, 600
Se formatto 1,234.00 ordino correttamente ma ho problemi con le
somme.
Naturalmente se da sistema cambio le formattazioni, utilizzando
quelle USA, tutto torna a posto... Ma non e' naturale.
Cosa fare e... come?
Grazie e a presto.
Lucio
A questo scopo esiste appositamente l'evento Listbox.CompareRows.
Siccome l'ordinamento delle righe in un listbox è alfabetico, con
l'evento in questione tu puoi ordinare gli elementi secondo un
criterio diverso. Nel tuo caso numerico, ma potrebbe anche servire
per le date ad esempio.
L'evento ti fornisce il numeri di due righe da confrontare e la
colonna. Inoltre un quarto argomento che tu modificherai a seconda di
quale delle due righe è maggiore, minore o uguale.
Tieni presente che l'evento viene chiamato per tutte le colonne della
listbox, quindi anche per quelle che necessitano un ordinamento
alfabetico. Ti consiglio quindi di verificare innanzi tutto
l'argomento colonna. Sulla base di questo tu decidi come trattare i
dati.
Nel caso tu decida di applicare un ordinamento custom, come nel tuo
caso, allora devi ritornare True al termine dell'evento, mentre
invece se decidi di lasciar fare a RB (per una colonna alfabetica)
allora ritorna semplicemente False.
Consulta il Language Reference di RB per i valori da ritornare e
altri dettagli
Ciao
--MaxChiacchiera con i tuoi amici in tempo reale!
http://it.yahoo.com/mail_it/foot/*http://it.messenger.yahoo.com
|