Oppure

Loading
15/11/08 13:07
XXXXXX
Ho bisogno di aiuto...
Non riesco a formattare i numeri in un controllo di tipo MSHFlexGrid1 alimentato in maniera automatica tramite DataEnvironment che legge a sua volta i dati da un file access (*.mdb ). Funziona tutto, ma i campi numerici vengono visualizzati con tutte le cifre decimali possibili, invece a me occorrono solo due cifre. qualcuno ha la soluzione... grazie
aaa
15/11/08 14:30
antometal
ciao

nn so se ho capito il tuo problema

se mi fai un esempio di come vuoi il numero e di come invece lo ottieni, forse posso aiutarti
aaa
15/11/08 14:30
GrG
C'è stata di recente una discussione del genere, se guardavi verso il basso la trovavi...
Ecco il link:
pierotofy.it/pages/extras/forum/6/44859-stampare_numero_formattato/

Utilizza la funzione Format() (c'è un esempio nell'ultimo post della discussione)
aaa
15/11/08 15:30
XXXXXX
non posso usurare la funzione format.

provo a spiegarmi meglio:
Sul form ho un solo controllo del tipo MSHflexgrid, nel campi proprietà del controllo ho definito :
datasource = DataEnvironment2
datamember = NuovaM ( origine strutturata dei dati )

il risultato è mostrato in figura
Ultima modifica effettuata da XXXXXX 15/11/08 15:33
aaa
15/11/08 17:07
GrG
Perchè dici ke non si può utilizzare la funzione format?
aaa
15/11/08 17:29
XXXXXX
fORMAT NON lo puoi usuare perchè non hai l'accesso al singolo dato da formattare....
aaa
15/11/08 18:14
GrG
Secondo me basta usare un ciclo for oppure formattare il numero quando viene inserito nella cella...

EDIT:
Si che si ha singolo accesso al dato da formattare, basta fare:
msflexgrid1.col = 1 'Specificare numero colonna
msflexgrid1.row = 1 'Specificare numero riga
msflexgrid.text = Format(msflexgrid.text, "0.00";)

Ecco un esempio...
Poi con dei cicli for puoi agire su tutte le celle...
Ultima modifica effettuata da GrG 15/11/08 18:16
aaa
16/11/08 11:54
XXXXXX
Grazie GrG
Non sapevo di poter accedere direttamente al dato anche in fase di popolamento della griglia, se ho capito bene, prima la popolo e poi la formatto, ho scritto il ciclo da te suggerito...
For i = 1 To MSHFlexGrid1.Rows - 1
MSHFlexGrid1.Row = i
MSHFlexGrid1.col = 8
MSHFlexGrid1.text = Format$(MSHFlexGrid1.text, "0.00";)
Next i
MSHFlexGrid1.CollapseAll

il risultato atteso non è stato raggiunto nella BMP riporto l'esecuzione... come vedi la colonna sette contiene il dato originale ... quella otto il risultato della formattazione...
DOVE SBAGLIO.... ho provato anche con "0,00" niente da fare...
aaa