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.
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