J'ai créé une base de données client. Dans la base de données, chacun des clients est regroupé par un identifiant d'entreprise unique. L'utilisateur peut rechercher tous les clients de l'entreprise en entrant un identifiant d'entreprise dans la cellule suivante du formulaire principal. En ce moment je veux faire du publipostage du sous-formulaire au mot après en cliquant sur un bouton sur le formulaire principal.Je dois créer un bouton pour faire du publipostage à partir du sous-formulaire Access à Word
J'ai eu quelques idées à partir du lien suivant: Access and Word 2010 merging one record depending on subform button clicked
Problème: Lorsque je tente d'exécuter le code, il montre courir erreur de temps « 4198 »: Échec de la commande.
Quand je lance cette commande déboguer le a été souligné
.OpenDataSource Name:=sData, SQLStatement:=strSQL
Quelqu'un peut-il me dire comment corriger l'erreur?
Private Sub Command203_Click()
Dim mDoc As String
Dim strSQL As String
mDoc = "C:\~~~\800052 ENG w Macro titus.docx"
strSQL = "SELECT * FROM![frmNavigationForm]![frmKYCGenerator] WHERE [RS ID]=" & [Forms]![frmNavigationForm]![Text78]
Dim oApp As New Word.Application
Dim oMainDoc As Word.Document
Dim sData As String
oApp.Visible = True
Data = "C:\~~~\Database - Users - PR.accdb"
Set oMainDoc = oApp.Documents.Open(mDoc)
With oMainDoc.MailMerge
.MainDocumentType = wdFormLetters
.OpenDataSource Name:=sData, SQLStatement:=strSQL
End With
With oMainDoc
.MailMerge.Destination = wdSendToNewDocument
.MailMerge.Execute
End With
oApp.Activate
oApp.Documents.Parent.Visible = True
oApp.Application.WindowState = 1
oApp.ActiveWindow.WindowState = 1
Set oApp = Nothing
Set oMainDoc = Nothing
Exit Sub
Err_Handle:
Set oApp = Nothing
Set oMainDoc = Nothing
MsgBox "An error occurred..." & vbCrLf & vbCrLf & Err.Description
End Sub
Vous devez ajouter une option 'Explicit' en haut de votre code. Il est plus facile de trouver des fautes de frappe difficiles à trouver comme sData/Data – dbmitch