Newsgroup: it.comp.appl.access
Titolo: esportare valuta con decimali  in word

Avendo questo codice che mi esporta dei dati in word:
Private Sub Comando36_Click()
Dim Wrd As Word.Application, Doc As Word.Document
Dim rst As DAO.Recordset
Dim Modello As String, nomefile As String, i As Integer
Dim Record As String, SQL As String
Dim Tbl As String * 1
Dim TotRiga As Currency, Totale As Currency
Dim ReplSel As Boolean
    'Trova il nome, completo di percorso, del modello word
    '("Lettera.dot" nella stessa cartella del database)
    Modello = CurrentDb.Name
    Modello = Left(Modello, Len(Modello) - Len(Dir(Modello))) & 
"copertura.dot"
    On Error Resume Next 'gestione errori step by step
    'cerca un'istanza di Word gi� aperta
    Set Wrd = GetObject(, "Word.Application")
    If Err.Number = 429 Then
        'se c'� stato un errore � perch� Word non era gi� aperto:
        'aprilo adesso
        Set Wrd = CreateObject("Word.Application")
    End If
    On Error GoTo 0 'ripristina la segnalazione degli errori
    'rendi visibile la finestra di Word:
    Wrd.Visible = True
    'attiva Word e portalo in primo piano:
    Wrd.Activate
    'abilita l'opzione "Sostituisci la selezione". Se non fosse
    'attiva, i campi modulo rimarrebbero all'interno del testo.
    ReplSel = Wrd.Options.ReplaceSelection
    Wrd.Options.ReplaceSelection = True
    'Apri un nuovo documento basato sul modello:
    Set Doc = Wrd.Documents.Add(Modello)
    'attivalo e portalo in primo piano:
    Doc.Activate
omissis...................................................
pausa
    'seleziona il bookmark del primo campo importo:
    Doc.Bookmarks("importo").Select
pausa
    'e sovrascrivilo con il contenuto dei campi
    'importo:
    Wrd.Selection.TypeText Me.importo
    'ripristina il valore originario dell'opzione
    '"Sostituisci la selezione"
    Wrd.Options.ReplaceSelection = ReplSel
    'avvisa l'utente che l'esportazione � terminata
    Wrd.Application.WordBasic.MsgBox "Esportazione terminata", "Esportazione 
dati da Access"
omissis .......................................
    'azzera le variabili oggetto
    Set Doc = Nothing
    Set Wrd = Nothing
    'NB: L'azzeramento degli oggetti Doc e Wrd senza la loro
    'preventiva chiusura (Doc.Close e Wrd.Quit)
    'fa s� che dopo l'esportazione dei dati
    'Word e il documento rimangano aperti
___________________________________________________
Quando esporta il campo importo che � di tipo valuta, se ad esempio il 
valore � 100,58 viene esportato in word esattamente 100,58 , mentre se il 
valore � 100,60 viene esportato 100,6 e se il valore � 100,00 viene 
esportato 100 senza i decimali.
Come posso fare per esportare anche gli zeri?
Grazie anticipatamente a tutti. 

 ha scritto nel messaggio 
news:4a6c2644$0$31347$9b4e...@newsspool4.arcor-online.net...

Anche io ho lo stesso problema, in word dopo il punto export ho inserito 
[datiAccess],00   che poi correggero' a mano.
Devo risolvere anche il problema di convertire i numeri in lettere     da 
100 a Cento, e' possibile farlo con un modulo, ma la vedo un po complicata.
Speriamo che intanto qualcuno ci dica come risolvere il problema della 
virgola.
Aless

 ha scritto nel messaggio 
news:4a6c2644$0$31347$9b4e...@newsspool4.arcor-online.net...

Io proverei a sostituire l'esportazione del semplice campo me.importo, con 
la formula format$ (me.importo,"#0.00").
Ciao
Antonio

 schrieb im Newsbeitrag 
news:4a6c6954$0$6825$5fc...@news.tiscali.it...

�Ho provato modificando il campo da valuta a testo e scrivendo ad esempio 
100,00 in questo modo viene esportato perfettamente in word. Ora ho pensato, 
senza modificare il campo, di copiare il valore del campo valuta in un campo 
non associato nella maschera e far esportare in word quest�ultimo. Ma non so 
come far copiare il valore. :( 

 ha scritto nel messaggio 
news:4a6e1a83$0$31866$9b4e...@newsspool3.arcor-online.net...

Ti consiglio di provare il metodo che ti ho scritto io che lo ritengo pi� 
semplice di come vorresti fare tu. In ogni modo, se proprio vuoi usare il 
meccanismo che hai detto, crea un nuovo campo nella maschera che chiamerai, 
per es. "NuovoImporto". A questo punto inserisci questa istruzione nel 
codice del comando che fa l'esportazione, ma prima di richiamare word:
    NuovoImporto = format$ (me.importo,"#0.00")
Sar� sufficiente poi sostituire me.importo con NuovoImporto nella routine di 
esportazione.
Noterai comunque che se sostituisci me.importo direttamente con "format$ 
(me.importo,"#0.00")" risulterebbe superflua la creazione di quel campo 
aggiuntivo.
Ciao
Antonio



Grazie Antonio del suggerimento, ma sostituendolo direttamente 
nell�esportazione riporta sempre senza decimali. Ho provato anche a creare 
il campo nuovo importo e seguito le ue istruzioni ma non succede niente.Il 
campo rimane vuoto. 

 schrieb im Newsbeitrag 
news:4a6f4a9c$0$32678$9b4e...@newsspool2.arcor-online.net...

Scusa Antonio, avevo fatto qualcosa di sbagliato, ora funziona 
perfettamente. Grazie mille.