【发布时间】:2019-08-07 10:03:07
【问题描述】:
我正在尝试将 Access 记录集中的数据(来自 2 列的数据 - “问题”和“答案”)导出(按钮单击)到具有表单字段“问题”和“答案”的 Word 模板。
我设法做到了,但直到 Word 文档用完 FormFields(我添加了 - 100),如果记录集有超过 100 行,它将导致错误“错误 5941 请求的集合成员不存在” - 因为它用完了可用的 FormFields(此时最大问题数为 1100,并且会增长)。顺便说一句,我可以添加数千个 FormField,但用户在使用此选项时必须删除空的。
我觉得有一种简单的方法可以实现其他类型的循环,该循环将采用只有这两个 FormField 的文档并复制或复制第一个 FormField - “问题”并在第二个中插入数据,但我仍然没有找不到任何方法。
从 Access 记录集中的 2 列中导出数据,一个是“问题”,另一个是“答案”。 ButtonClick 上的代码:
Private Sub cmdToWordMultiple_Click()
Dim db As DAO.Database
Dim rst As DAO.Recordset
Set db = CurrentDb()
Set rst = Me.RecordsetClone
Set Wd = New Word.Application
Set myDoc = Wd.Documents.Add("C:\Users\User\Desktop\ReportQuestions.docx")
Wd.Visible = True
rst.MoveFirst
Do Until rst.EOF
myDoc.FormFields("Question").Range.Text = Nz(rst!Question, "")
myDoc.FormFields("Answer").Range.Text = Nz(rst!Answer, "")
rst.MoveNext
Loop
rst.Close
Set rst = Nothing
objWord.Application.Quit
End Sub
我想让这个按钮将数据从 Access 记录集导出到 Word 文档,而不留下多余的 FormFields。
【问题讨论】:
-
为什么使用 Word 而不是 Access 报告?可能在 Word 中构建表格而不是 FormFields。
-
我使用Word模板是因为在FormField之前,我有单词“问题:”和“答案:”,我在需要一个问答时使用Access报告,我只是没有任何线索如何在同一个文档中导出 100 或 1000 个 Q 和 A,如果您有任何想法,请告诉我。
-
对不起,你表达的限制对我来说毫无意义。我看不出 Access 报告无法完成的原因。必须更多地了解您的数据库结构和所需的输出。但是,如果您对 Word 合并性能感到满意,那么问题就解决了。