我使用在线找到的代码填写Word文档中的表单字段。当我在一个空文档上使用它并添加一个表单字段时,它的工作原理。但是,当我在表单上使用它时,我试图填写执行代码时没有任何反应。我检查了Word中字段的名称,它们与代码匹配,我不知道错误。
我还检查了Access中的数据类型,这不是问题,我现在无法访问代码但是有没有人知道导致这种情况的原因?
编辑:这是一个类似的代码,我无法访问完全相同的代码:
Dim appWord As Word.Application
Dim doc As Word.Document
'Avoid error 429, when Word isn't open.
Err.Clear
'Set appWord object variable to running instance of Word.
Set appWord = GetObject(, "Word.Application")
If Err.Number <> 0 Then
'If Word isn't open, create a new instance of Word.
Set appWord = New Word.Application
End If
Set doc = appWord.Documents.Open("C:\Users\" & Environ$("Username") & "\Desktop\Form.doc", , True)
With doc
.FormFields("TextEn").Result = DLookup("[End date]", "[Table1]", "[Table1]![ID Number] =" & [ID2])
.FormFields("TextSt").Result = DLookup("[Starting date]", "[Table1]", "[Table1]![ID Number] =" & [ID2])
.Visible = True
.Activate
End With
Set doc = Nothing
Set appWord = Nothing
Exit Sub
errHandler:
MsgBox Err.Number & ": " & Err.Description
答案 0 :(得分:0)
您可以尝试验证您的dlookup是否返回了以下值:
If DCount("[End date]", "[Table1]", "[Table1]![ID Number] =" & [ID2]) > 0 then
.FormFields("TextEn").Result = DLookup("[End date]", "[Table1]", "[Table1]![ID Number] =" & [ID2])
End If
在尝试设置字段之前,您必须为每次查找执行此操作。