Il primo step, o meglio passaggio è quello di trasformare il campo string in numero, per questo dobbiamo creare un campo formula.
Dalla finestra esplora campo, facciamo click sulla voce di menu "Campi Formula" e si crea un campo (es. Totale o importo ). (figura 1)
| Figura 1 |
A questo punto si crea la funzione che trasformi il campo in numerico, tasto destro sul nome del campo e click sulla voce "Modifica".
Nella finestra delle formule scriviamo la seguente formula
if not isnull({NomeTabella.Campo}) then
ToNumber({NomeTabella.Campo})
else
0
In questo modo se non è null tramite la funzione ToNumber trasforma il valore in numero, altrimenti restituisce 0.
Salviamo il tutto.
Nella sezione di raggruppamento facciamo click con il tasto destro e nella voce di menu, selezioniamo la voce "Inserisci" e poi riepilogo.
A questo punto nella finestra che viene aperta, selezioniamo come campo quello della formula (Totale) mentre come formula quello relativo alla Somma (figura 2).
| Figura 2 |
A questo punto nel report avremmo un campo di tipo formula, su un campo di testo trasformato in numerico.
Le opere pubblicate in questo blog sono sotto la licenza Creative Commons. Attribuzione- No commerciale e no derivate.
2 commenti:
Ciao come sempre ti faccio i complimenti per i tuoi articoli
che spaziano dai diversi linguaggi di programmazione a strumenti di reportistica come crystal reports.
Se posso permettermi ti riporto come con la sintassi basic
anni fa avevo fatto la formula a mio parere per
chi utilizza vb e Crystal più flessibile in quanto alla formula
puoi aggiungere ulteriori operazioni per modificare il dato
dim nNumero as double
dim nCoefficiente as double
nCoefficiente = 1.05
if not isnull({NomeCampoTesto}) then
nNumero=ToNumber({NomeCampoTesto})
else
nNumero=0
end if
formula = nNumero * nCoefficiente
Ottimo spunto.
Grazie per aver condiviso il frammento di codice.
Posta un commento