Access & C.

Conversione di una valuta Euro in lettere con centesimi (cifrainlettere/DD)

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

 
    
Inserisci un commento   |   Indietro

  [da 1 a 0 di 0 commenti]     |   Indietro

Inserisci un commento

Nick: e-mail:

web:

Commento: