Mailmerge van query van uit Access

Status
Niet open voor verdere reacties.

otreb

Nieuwe gebruiker
Lid geworden
16 mrt 2004
Berichten
2
BEste mede Accessers,

Wat ik voor elkaar probeer te breien is het volgende:

Ik heb een query die gemailmerged moet worden, opzich lukt dat ook wel aardig met de onderstaand code:

Function MergeIt()
Dim objWord As Word.Document
Set objWord = GetObject("c:\brief1.doc", "Word.Document")
' Make Word visible.
objWord.Application.Visible = True
objWord.MailMerge.OpenDataSource _
Name:="c:\database1.mdb", _
LinkToSource:=True, _
Connection:="QUERY Zoekaktief Query", _
SQLStatement:="Select * from [Zoekaktief]"
' Execute the mail merge.
objWord.MailMerge.Execute
End Function


Deze code staat in een module, die weer wordt aangeroepen door een macro onder een knop.

Echter........ Na het mailmergen wordt de Access Database nog een keer extra geopend. Dat wil ik helemaal niet. Hoe kan ik dat verhelpen. En wat nog mooier zou zijn is als de brieven direct geprint worden.


Kan/wil iemand mij helpen?
 
Leuk stukje code, kan ik vast ook nog eens gebruiken.


Ik heb even gekeken en het is heel makkelijk om direct naar de printer te sturen. Als je het volgende regeltje toevoegt voordat je de mailmerge uitvoert werkt het.

Code:
objWord.MailMerge.Destination = wdSendToPrinter

Omdat je een aparte connection opbouwt voor de mailmerge wordt Access nogmaals geopend. Om dat te voorkomen moet je bij de connection parameter "currentproject.connection" gebruiken.

Bij mij was het echter helemaal niet nodig. Mijn Word document is reeds gereed voor samenvoegen (d.w.z. hij weet welke velden waar moeten staan en welke datasource er gebruikt moet worden) en ik kan direct objWord.MailMerge.Execute doen.


Suc6,
 
De code komt van de site van Microsoft. Ik moet eerlijk bekennen dat ik nog in de beginfase zit wat VBA betreft.

Dank voor je antwoord maar waar kan ik de connection parameter "currentproject.connection" kwijt in die module?

Het direct print werkt idd perfect.

dank voor de moeite.

groet
Berto
 
Als je de regel in jouw code vervangt door deze moet het werken. Ik had de hele regel echter niet nodig omdat alles in het Word document al goed ingesteld staat.

Code:
objWord.MailMerge.OpenDataSource _ 
Name:="c:\database1.mdb", _ 
LinkToSource:=True, _ 
Connection:=Currentproject.Connection, _ 
SQLStatement:="Select * from [Zoekaktief]"


Grtz,
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan