【发布时间】:2016-06-12 20:12:41
【问题描述】:
我正在处理一个小项目,我需要能够使用存储在 Access 2016 数据库中的数据填写 Word 2016 表单。为此,我创建了一个带有按钮(保存)的表单(客户)。单击按钮时,表单中的数据应保存到表(客户)中,并发送到 Word 表单。这是我按照Techrepublic.的说明编写的代码
Private Sub cmdPrint_Click()
'Print customer slip for current customer.
Dim appWord As Word.Application
Dim doc As Word.Document
'Avoid error 429, when Word isn't open.
On Error Resume Next
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("E:\Usuarios\Acrocephalus\Daniel\Projectes\AnemaDB\ProgramaControlDDD2015.docx", , True)
With doc
.FormFields("fldIDClient").Result = Me!IDClient
.FormFields("fldNomLocal").Result = Me!NomLocal
.FormFields("fldNomFiscal").Result = Me!NomFiscal
.FormFields("fldNIF_CIF").Result = Me!NIF_CIF
.FormFields("fldTipusVia").Result = Me!TipusVia
.FormFields("fldAdreca").Result = Me!Adreca
.FormFields("fldCP").Result = Me!CP
.FormFields("fldMunicipi").Result = Me!Municipi
.FormFields("fldProvincia").Result = Me!Provincia
.FormFields("fldFix").Result = Me!Fix
.FormFields("fldMobile").Result = Me!Mobile
.FormFields("fldemail").Result = Me!email
.Visible = True
.Activate
End With
Set doc = Nothing
Set appWord = Nothing
Exit Sub
errHandler:
MsgBox Err.Number & ": " & Err.Description
End Sub
但是,当我填写数据并点击按钮时,我遇到了 3 个问题:
- 它不会将任何数据保存到表中
- 它没有填满单词
- 我必须按两次按钮才能打开表单。
有人可以帮忙吗? 谢谢!!
丹妮
【问题讨论】:
-
您需要在您的 Access VB 项目中添加对 Word 应用程序库的引用。
标签: forms ms-access ms-word vba