【问题标题】:Create Access reports from Form and save as PDF从表单创建 Access 报告并另存为 PDF
【发布时间】:2018-02-19 11:51:12
【问题描述】:

我目前正在使用 Access 数据库创建大量报告 - 报告是使用查询作为源制作的,在查询中我使用表单作为标准,以便表单中的打开页面是报告中使用的数据. 然后我将报告另存为 PDF 并单击表单以运行下一组数据。 当我要制作超过 500 份报告时,这非常耗时。那么有没有办法制作一个函数、一个 VBA 或宏来遍历表单中的所有页面并将每个报告保存为 PDF 格式?

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

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

【问题讨论】:

  • 是的,有,使用DoCmd.OutputTo 并将OutputFormat 设置为acFormatPDF。但是,我不会为您编写整个函数。你要么自己写,要么花钱请人代写。

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


【解决方案1】:

如果你在表单上放置一个按钮,后面的代码应该可以工作:

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

【讨论】:

  • 我已经尝试让它现在运行,我已经将 te strReportFile 更改为 "strReportFile = rst!Property_no_ & ".pdf" ' 根据字段名称 DoCmd.OpenReport strReport, acViewPreview, 给出报告名称, "id=" & rst!Property_no_! 但是当我单击按钮时,它要保存的 PDF 是 NorwRap.pdf 并且没有添加属性 no,所以它只是一个空报告。我使用 Property_no_ 作为报告中的字段名称
  • 我已将代码设置为使用表单中的当前记录 - 如果您想要查询中的所有记录,请参阅我的代码修改。
  • 您可以为报告提供单个 pk“ID”,也可以使用 property_no - 您使用哪个并不重要。只要您提供给记录集循环的列表具有“某些”值,可用于将报告限制为一个 ID 或 Property_no,它应该可以工作。如果 Property_no 是字符串/文本列,则必须用引号将值括起来(单引号即可)。
猜你喜欢
  • 2011-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多