Gianni mi scrive
... avrei la necessità, all'interno di un report che il
risultato in un campo, mi restituisca, in un campo immediatamente sotto
la corrispondente stringa in lettere (156,25 in Centotrentasei/25).
....
Soluzione:
1) Andate su www.sitocomune.com - Sezione General - Articolo 6.63: Convertire numeri in testo di Federico Luciani e scaricare il modulo di conversione Cifre-Lettere. Ve ne sono altri in rete ma questo, tra quelli che ho esaminato, è quello che funziona meglio;
2) Inserite nel Vostro applicativo Access un nuovo modulo e copiateci dentro
il codice del
modulo modCurrency2String che trovate nel file scaricato dal
sito comune;
3) Aggiungete nel modulo appena creato questa funzione pubblica scritta da me:
Public Function Converti(Valore As Variant) ' By ' Michele de Nittis (C) 2007 Dim Risu As String Dim p_intera As Integer Dim p_decimale As Integer ' Si deve separare la parte intera da quella decimale. ' Prelievo della parte intera p_intera = Fix(Valore) ' prelievo delle due cifre decimali con approssimazione. p_decimale = Fix(((Valore - p_intera) * 100) + 0.5) ' Composizione del risultato LongCur2Str p_intera, Risu, langItalian ' Parte dei decimali If p_decimale > 0 Then Converti = Risu & "/" & Format(CStr(p_decimale), "00") Else Converti = Risu & "/00" End If End Function
4) Supponiamo che i dati siano in una tabella denominata Importi e che le cifre da convertire in lettere siano i valori della colonna 'totale' della seguente query, che dovrete creare sul Vostro DB Access.
SELECT [Importi].[id], [Importi].[Importo], [Importi].[Commissione], [Importi].[Importo]+[Importi].[Commissione] AS Totale, Converti(Totale) AS [In Lettere] FROM Importi;
5) Create con l'autocomposizione di Access un Report avente questa query come origine dati ed il gioco è fatto.
Siccome un esempio è sempre più espressivo di 1000 discorsi,
scaricatevi il seguente
file:
Nell'esempio la procedura di conversione viene applicata anche alla somma
di tutte le colonne 'totale' di tutti i record.
NOTA:
Nell'esempio vi è anche un piccolo TIP: Come modificare da codice VBA
un'etichetta di un Report dalla maschera chiamante. Ma questo sarà argomento
di un altro articolo del mio Blog.
MdN
[da 1 a 0 di 0 commenti] | Indietro