Toon posts:

[VB/ACC] Mailmerge vanuit Access met query

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ok. Nieuwe poging. Ik mag geen geld bieden voor het oplossen van mijn probleem. Niemand doet het gratis, dus moet ik t zelf doen. Daar gaan we:

Private Sub CmbOpenContract_Click()
Dim msword As Object
Dim mergedocument As Object
Dim nPersoon As Integer
Dim cDM As String
' Check if Word is open. If not, open it.
Set msword = CreateObject("Word.Application")
If Err.Number <> 0 Then Set msword = CreateObject("Word.Application")
Err.Clear

With msword
.Visible = True
Set mergedocument = .Documents.Add(Me.DM & "\Contracten\" & Me.CcbContract.Value)
End With
nPersoon = Me.PN
cDM = Me.DM & "\Personeel.mdb"

With mergedocument.MailMerge
.MainDocumentType = wdFormLetters
.OpenDataSource _
Name:=cDM, LinkToSource:=False, AddToRecentFiles:=False, _
ReadOnly:=True, Revert:=True, Connection:="QUERY QryWerknemers", SQLStatement:="SELECT * FROM [QryWerknemers] WHERE PN = " & nPersoon & ""

.Execute

End With
Set mergedocument = Nothing
Set msword = Nothing
End Sub

Het probleem is dat ie niet goed werkt. In Word wordt er telkens gevraagt welke database source ik wil gebruiken. Het moet volgens bij via ODBC gaan. Het moet dus allemaal automatisch gaan.

nPersoon is het huidige record nummer
cDM is de Database Path, aangezien deze weleens kan veranderen

Iemand enig idee?

Verwijderd

heb je probleem niet echt gevonden . . maare. .

dit werkt niet :
Set msword = CreateObject("Word.Application")
If Err.Number <> 0 Then Set msword = CreateObject("Word.Application")

oftewel:

zet msword naar een object...
check op errors ..
if errors found then zet msword naar een object... (wat niet kan . .want er waren errors found)

dit is me ook niet echt duidelijk :
mergedocument.MailMerge.OpenDataSource

zodra die open is . . doe je er niks mee. . .