我有一个访问数据库,我想将一个突出显示的行中的字段导出到word文档并通过电子邮件发送给收件人。
从Access数据库我想导出以下字段: 缩写(字符串),HospNo(字符和数字字符串),日期,注释(字符串)
我希望将这些字段从我选择的行导出到word文档c:\ test.docx,其中4个MERGEFIELD分别被标记为Inits,HosNumber,ScanDate,Diagnosis。
我认为MailMerge是解决方案,这也是我在Word中使用Mergefileds的原因。但我知道很少有VBA,也不知道从哪里开始。
我的PC上有Office 2010。
这些信息是否足以解释问题?
答案 0 :(得分:0)
如果您已经在使用MailMerge,则只需在Access中选择该行并使用外部数据链接下的Word Merge功能。 如果您正在寻找更自动化的程序,我相信您将需要使用代码。
答案 1 :(得分:0)
从很高的层面来看,您可能需要在VBA中创建一个只包含您要导出的记录的记录集。然后,您可以将该记录集用作mailmerge的源。
我从未做过mailmerges,但这应该让你开始:
Dim db as Database
Dim rec as Recordset
Set db = CurrentDB
Set rec = db.OpenRecordset("SELECT Initials, HospNo, [date], comment FROM MyTableName WHERE SomeFilterCriteria")
'Mailmerge based on "rec"
显然,你需要根据你的具体信息更改MyTableName和MyFilterCriteria,你没有给我们提供表名或你想如何确定哪些数据记录到mailmerge。
或者您可以构建查询,从查询中设置mailmerge,然后在查询中添加指向表单的过滤器。在查询的Criteria行中(如果在Design View中打开它),您可以使用类似
的内容[Forms]![MyFormName].[MyFieldName]
此外,如果您有能力这样做,请更改日期字段名称。单词“date”是一个保留字,这意味着你必须将它括在括号中,以便Access不认为它是内置命令。将字段名称更改为scandate或其他内容以避免将来出现问题。