this is code that i use in vba the template i use is a mailmerge document. when you create your mail merge doc on the the open date source dialog box check select method box and select odbc to prevent access from loading twice
Dim mydb As Database
Set mydb = CurrentDb
If Nz(Me!Combo0, 0) < 1 Then
msgbox "Please select letter", vbCritical
Exit Sub
End If
DoCmd.SetWarnings False
DoCmd.OpenQuery "MTformailmerge1" 'make table query
DoCmd.SetWarnings True
Dim woobj As Object, mm As Object, ret, a
Dim stDocName As String
ret = Shell("C:\Program Files\Microsoft Office\Office\winword.exe", 6)
For a = 1 To 7500
DoEvents
Next a
AppActivate "Microsoft Access"
Set woobj = GetObject(, "Word.Application"

'woobj.fileopen "f:\My Documents\registration\Sat.doc"
'woobj
woobj.Documents.Add Template:="H:\My Documents\Dinner2002\" & Combo0.Column(5) & ".dot"
Set mm = woobj.ActiveDocument.MailMerge
mm.Destination = wdSendToNewDocument
mm.Execute
woobj.PrintOut
'Dialogs(wdDialogFilePrint).Show
woobj.Documents.Close SaveChanges:=wdDoNotSaveChanges
woobj.Quit
If msgbox("Did letter print ok?", vbQuestion + vbYesNo, "Print ok"

= vbYes Then
mydb.Execute "INSERT INTO maillings ( name, letter, [date] ) SELECT formailmerge1.id, " & Me![Combo0] & " AS Expr1, Now() AS Expr2 FROM formailmerge1;"
End If