Newsgroup: it.comp.lang.visual-basic
Titolo: WORD ed esperti Visual Basic....

Salve
Ho il seguente problema di......"stampa unione" tra Word ed Access
Un documento di Word contiene il   "campo unione"  [ORARIO]
"l'origine dati" e' rappresentata dal campo [ORARIO] di una query di access
2000
il formato di questo campo e'  "ora breve 24h" cioe' ad es. 17.34
Ebbene, quando questo campo [ORARIO], visualizzato correttamente dalla
query, viene unito
come "campo unione" nel documento di Word succede che ....
Word mi aggiunge all'orario i due zeri dei secondi...trasformandomi 17.34 in
17.34.00
Domando..
e' possibile riformattare "via codice" all'apertura del documento di Word il
formato della data
ritrasformando 17.34.00 nuovamente in 17.34......
nell'Help di Word ho trovato i riferimenti ai seguenti comandi visual basic
...
ma non so dache parte iniziare...
FormatDateTime(Data[,FormatoSpecifico])
Qualcuno mi da una mano...??
Grazie in anticipo
Roberto Bolelli

 17.34.00
Basta usare i parametri di formattazione. Visualizza il
formato del campo con "attiva o disattiva codici di campo"
e aggiungi il parametro, come indicato
    {MERGEFIELD NomeCampo \@ "hh:mm"}
NOTA:  Non è una questione per esperti, basta leggere l'Help
              Non è una questione per esperti di VB
              (Non sarebbe questo il NG adatto)

 wrote in message 8am91m$5rv$1...@nslave2.tin.it...

Grazie per la risposta..ma l'help di Word l'avevo gia' letto....
il famigerato parametro \@"
hh.mm
"...non funzia..ovvero... funziona solo
quando pare a lui e solo con certi orari....
e' questa la ragione per cui pensavo di ricorrere alVB....
comunque grazie.......
Hai qualche altra soluzione???

 Hai qualche altra soluzione???
Hai ragione, non avevo capito la questione.
Il problema nasce non tanto da un cattivo funzionamento
del parametro "HH:mm", ma dalla formattazione dei dati
che Access passa: non è compatibile con quella che la
funzione di conversione di Word accetta.
Si risolve facilmente convertendo il campo dal formato
Data/Ora a Testo. Sempre che questo sia possibile in
relazione all'utilizzo generale del database.
Se non è possibile convertire il formato del campo,
occorre procedere diversamente. In pratica il processo
di mailmerge deve essere fatto "manualmente", da codice,
per gestire in modo "intelligente" i dati in arrivo.
Se ti trovi obbligatoriamente in questa condizione, posso
farti un esempio di come si può procedere con VBA.
Fammi sapere.

 wrote in message 8anc8g$kb8$1...@nslave1.tin.it...

Grazzzzie....per la prima che hai detto!!!!!
ho impostato il formato del campo [orario FP] della tabella a "testo"..
nel  corrspondente controllo della maschera ho inserito la seguente maschera
di imput
00.00;0;_
cosi da avere il formato 12.25
poi sull'evento beforeupdate del controllo ho inserito il seguente codice...
Private Sub OrarioFP_BeforeUpdate(Cancel As Integer)
If Left(OrarioFP, 2) > 23 Or Right(OrarioFP, 2) > 59 Then
VisualizzaMessaggio "Attenzione!!! Controlla l'orario..."
Cancel = True
End If
End Sub
cosi da impedire l'immissione di orari tipo 25.89
e finalmente word si comporta bene ..in stampa unione vede il "testo"
correttamente...
Grazie per l'idea..
A buon rendere
Roberto Bolelli