我有一个非常大的访问报告,我想基于名为Security Contact的字段将其作为单独的PDF(存储在C驱动器上的同一文件夹中)存档。我想根据安全联系人的姓名命名每个PDF。有任何想法吗?我正在使用Access 2013.提前致谢。
答案 0 :(得分:0)
您可以通过DoCmd.OutputTo
方法导出为PDF。
DoCmd.OutputTo acOutputReport, "MyReport", acFormatPDF, "C:\MyReport.pdf"
但是,此方法不允许传递过滤器,因此要单独输出每个安全联系人,您需要让报告获取正确的安全联系人并过滤自身。有多种方法可以以编程方式执行此操作。选项包括将值存储在表中并在报表的查询中引用该表。另一种方法是在报告的查询中引用一个开放表单的字段(可能是一个隐藏的字段)。
例如,您的报告的查询可能是:
SELECT * FROM Data WHERE SecurityContact=[Forms]![frmRunSecConReport]![txtContact]
这会导致报告基于特定值SecurityContact
的记录。
步骤如下:
OutputTo
。请注意,如果您想避免询问是否要覆盖现有文件的警告消息框,则需要先删除现有文件(请参阅VBA中的Kill
语句。)