[VBA] requete SQL dans un programme VB pour publipostage vers word

requete SQL dans un programme VB pour publipostage vers word [VBA] - VB/VBA/VBS - Programmation

Marsh Posté le 13-08-2008 à 21:47:17    

bonjour a tous,  
 
je recherche des informations afin que, a partir d'une base de donnée Access et grâce a une requête SQL, je puisse remplir une feuille Word réservée au publipostage.
 
Mon problème est que je ne sais pas comme intégré ma requête SQL pour remplir le publipostage.
 

Code :
  1. Dim CheminMonFichier As String
  2. Dim cheminDuDocWord As String
  3. Dim mvarDocumentId As Variant
  4. Dim ObjWord As Word.Application
  5. date1 = Month(CDate(ref3)) & "/" & Day(CDate(ref3)) & "/" & Year(CDate(ref3))
  6. cheminDuDocWord = App.Path & "\Cabs.dot"
  7. CheminMonFichier = App.Path & "\Absences.mdb"
  8. textesql = "Select eleves.nom, eleves.prenom, eleves.nomresp, eleves.prenomresp, eleves.adresse, eleves.localite, eleves.cp, eleves.classe, absences.datedep, absences.datefin, absences.duree, absences.justifier, absences.justification from absences inner join eleves on eleves.refeleve = absences.refeleve where absences.datedep = " & date1
  9. Set ObjWord = CreateObject("Word.application" )
  10. Set mvarDocumentId = ObjWord.Documents.Add(cheminDuDocWord, False)
  11. ObjWord.Visible = True
  12. ObjWord.activedocument.mailmerge.MainDocumentType = wdFormLetters
  13. ObjWord.activedocument.mailmerge.OpenDataSource Name:=CheminMonFichier, ConfirmConversions:=False, ReadOnly:=True, LinkToSource:=False, AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:="", WritePasswordDocument:="", WritePasswordTemplate:="", Revert:=False, Format:=wdOpenFormatAuto, SQLstatement:="textesql"
  14. With ObjWord.activedocument.mailmerge
  15. .SuppressBlankLines = True
  16. With .DataSource
  17. .FirstRecord = wdDefaultFirstRecord
  18. .LastRecord = wdDefaultLastRecord
  19. End With
  20. .Execute pause = True
  21. End With
  22.  
  23. mvarDocumentId.Close False
  24. Set ObjWord = Nothing

 
 
Merci par avance pour votre aide !
 
edit : est-ce qu'un placé un objet OLE pourrai faire l'affaire?
 
edit2 : la solution la plus simple est de passer par un fichier séquentielle (.txt ou .ini) et le tour est joué. Je cherchais plutot a intégrer directement la requete entre l'acces a la DB et le publipostage, mais cette solution fait l'affaire en attendant.


Message édité par serial_xp le 17-08-2008 à 02:47:02
Reply

Marsh Posté le 13-08-2008 à 21:47:17   

Reply

Marsh Posté le 14-08-2008 à 18:07:45    

up, personne n'a de solution ni d'idée?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed