使用不同的查询但相同的模板导出大量报告

时间:2015-06-17 11:27:09

标签: ms-access access-vba

下午好,

我有大约10个查询过滤相同的数据集,并且所有查询都有相同的字段。

我已经构建了一个显示此数据的报告,并且可以导出到.PDF。

通过将记录源更改为所需的查询,我可以为所有查询生成报告,但这非常耗时。因为它需要每周完成,所以它不是一个可行的选择。

更重要的是,报告设计可能会随着时间的推移而改变。我可以制作10份报告,然后向每份报告提供正确的查询,但这意味着对报告所做的任何更改都必须进行10次。

有谁知道如何使用VBA /宏自动执行此操作?逻辑类似于以下内容。

  1. 复制模板报告
  2. 将记录来源更改为查询A
  3. 将报告导出为ReportA.pdf
  4. 删除报告
  5. 复制模板报告
  6. 将记录源更改为查询B. ...
  7. 等等。看起来这应该是可能的,我只是不知道如何做第1步和第2步。

    任何帮助表示感谢。

1 个答案:

答案 0 :(得分:0)

没有必要这样做。只需使用单个报表将该查询作为记录源进行单个查询。查询中包含的唯一标准应该是所有用途的共同标准。然后,您只需使用所需的过滤器打开报告。

DoCmd.OpenReport <YourReportName>, acViewPreview, , <YourFilterCriteria>

要导出,请将tempvar设置为过滤条件

<YourTempVar> = <YourFilterCriteria> DoCmd.outputTo acOutputReport, <YourReportName>, acFormatPDF, <OutputFileName>

在报告的公开事件中,将报告的过滤器设置为tempvar。

Me.Filter = <YourTempVar>

相关问题