클라이언트 데이터베이스를 만들었습니다. 데이터베이스에서 각 클라이언트는 고유 한 회사 ID로 그룹화됩니다. 사용자는 주 양식의 다음 셀에 회사 ID를 입력하여 회사의 모든 고객을 검색 할 수 있습니다.Access subform에서 Word로 편지 병합을 수행하는 버튼을 만들어야합니다.
([Forms]![frmNavigationForm]![Text78])
지금은 기본 양식의 단추를 클릭하여 하위 양식에서 단어로 편지 병합을 수행하려고합니다.
내가 다음 링크에서 몇 가지 아이디어를 가지고 : Access and Word 2010 merging one record depending on subform button clicked는 문제 : 코드를 실행하려고하면 , 그것은 시간 오류 "4198"를 실행 보여줍니다 : 명령이 실패했습니다.
나는이 명령
.OpenDataSource Name:=sData, SQLStatement:=strSQL
을 강조했다 사람이 어떻게 오류를 수정하는 방법을 말해 줄래 디버깅 실행하면?
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
이. sData/Data – dbmitch