En programmant un dialogue avec le langage VBA de Access ( Visual Basic for Application ) utilisé dans tous les bureau à écrire des macros,
vous pouvez également exporter les données d’une ou plusieurs tables dans un document MS Word en utilisant un modèle avec les champs de formulaire.
Nous voyons le processus avec les principales étapes. Premièrement, nous devons ouvrir à l’exécution via un objet COM de notre modèle à la volée et de créer un document à faire ce qui est nécessaire comme référence l’objet Word bien sûr, dans l’écriture de macros dans le menu Outils -> Référence,
trouver quelque chose sur les objets COM de Word et les marquer.
Dim myApp As Word.Application, myDoc As Word.Document
Set myApp = CreateObject(« Word.Application »)
Set myDoc = myApp.Documents.Add(« mymodele.dot »)
Par la première ligne de code nous avons dimensionné un objet de type Word.Application pour gérer la fenêtre principale de Word et un objet de type Word.Document pour gérer le document avec les champs de formulaire.
Dans la ligne suivante j’ai créé l’objet Application et dans le troisième j’ai créé le document avec mon modèle.
Dim myData As DAO.Database, myRec As DAO.Recordset
Set myData = CurrentDb
Set myRec = myData.OpenRecordset(« SELECT * FROM Tableau WHERE IDValuer = X)
La première ligne d’instructions dimensionner une variable de type DAO.Database et DAO.Recordset, les instructions sont référencée à des objets DAO ( Data Access Object ), l’ancienne façon d’accéder aux données de Microsoft dans « liste de référence ». La deuxième ligne assigne la base de données actuelle de la variable myData, tandis que la troisième rangée ouvre la connexion à la table ( dans l’exemple que j’ai pris un tableau générique ) des données en sélectionnant des valeurs dans une requête SQL ( Structured Query Language ).
myDoc.FormFields(« Nom Champ Module »).Result = myRec![Nom Champ Tableau]
Cette dernier déclaration vous permet d’insérer à la place de « Nom Champ Module » la valeur du champ « Nom Champ Tableau » de la base de données, et le jeu est fait, le tout avec VBA. A la fin, vous devez fermer les ressources allouées, la base de données, l’application et le document Word.
myApp.Visible = True
MyRec.Close
Set myData = Nothing
Set myRec = Nothing
Set myDoc = Nothing
Set myApp = Nothing
Si vous voulez, vous pouvez aussi garder invisible l’application Word et imprimer votre document à la volée puis n’oubliez pas de fermer l’application Word avec myApp.Quit.