从表单创建Access报表并另存为PDF

时间:2017-09-11 09:25:52

标签: forms ms-access pdf ms-access-2010

我目前正在使用Access数据库创建大量报告 - 报告是使用Query作为源进行的,在Query中我使用Form作为条件,以便Form中的打开页面是报告中使用的数据。 然后我将报告保存为PDF并单击表单以运行下一组数据。 当我有超过500个报告要做时,这非常耗时。那么有没有办法让函数,VBA或宏运行表单中的所有页面并将每个报告保存为PDF?

我的表单名为NorwF,查询为NorwQ,报告为NorwRap

我希望这是有道理的,并且有一种更快的方式让这个项目顺利运行。

1 个答案:

答案 0 :(得分:0)

如果您在表单上放置一个按钮,则此代码可以正常工作:

Dim rst      As DAO.Recordset

Dim strReport        As String
Dim strReportFile    As String

strReport = "NorwRap"
'Set rst = Me.RecordsetClone
Set rst = CurrentDB.OpenRecordSet("NorwQ")  'use the query
Do While rst.EOF = False

  strReportFile = rst!ID & ".pdf"   ' give report name based on field name
  DoCmd.OpenReport strReport,acViewPreview , , "id = " & rst!ID
  DoCmd.OutputTo acOutputReport, strReport, acFormatPDF, strOutFile
  DoCmd.Close acReport, strReport

  rst.MoveNext

Loop