Programmare una finestra di Access per creare un documento Word con il linguaggio VBA (Visual Basic for Application), utilizzato in tutto Office per scrivere le macro, si può fare esportando dati da una o più tabelle a un documento Word tramite un modello con campi modulo. Di seguito i passi principali per realizzare questo procedimento.
Passi principali
- Aggiungere il riferimento a Word Object
- In Access, aprire l’editor VBA.
- Dal menu Strumenti → Riferimenti, selezionare “Microsoft Word Object Library” per poter utilizzare gli oggetti Word.
- Creare oggetti Word in VBA
Dim myApp As Word.Application, myDoc As Word.Document
Set myApp = CreateObject("Word.Application")
Set myDoc = myApp.Documents.Add("miomodello.dot")
myAppgestisce la finestra principale di Word.myDocgestisce il documento basato sul modello con i campi modulo.
- Aprire il database e il recordset
Dim myData As DAO.Database, myRec As DAO.Recordset
Set myData = CurrentDb
Set myRec = myData.OpenRecordset("SELECT * FROM Tabella WHERE IDValore = X")
myDatarappresenta il database corrente.myRecè il recordset con i dati selezionati tramite SQL.- È necessario aggiungere il riferimento a DAO (Data Access Object) nel menu Riferimenti.
- Inserire i dati nei campi modulo di Word
myDoc.FormFields("Nome Campo Modulo").Result = myRec![Nome Campo Tabella]
- Questa istruzione sostituisce il campo modulo “Nome Campo Modulo” nel documento Word con il valore corrispondente dal database.
- Pulizia e visualizzazione
myApp.Visible = True
myRec.Close
Set myData = Nothing
Set myRec = Nothing
Set myDoc = Nothing
Set myApp = Nothing
- Mostra l’applicazione Word con il documento compilato.
- Chiude e libera le risorse allocate.
- Opzionale: stampa e chiusura invisibile
- È possibile mantenere Word invisibile, stampare direttamente il documento e chiudere Word con
myApp.Quit.
Per maggiori informazioni o discussioni su questo argomento, è possibile fare domande direttamente dei commenti.
Trovate queste e altre applicazioni sui nostri programmi gestionali.



Molto ben fatto l’articolo e accurate le indicazioni di programmazione.Un unico, sconcertante neo: SQL non sta per Standard Query Language, ma per Structured Query Language
Mi sono informato e si usano entrambi, il linguaggio è sempre quello. Comunque sconcertante mi sembra esagerato!!!!!