下午好,
我有大约10个查询过滤相同的数据集,并且所有查询都有相同的字段。
我已经构建了一个显示此数据的报告,并且可以导出到.PDF。
通过将记录源更改为所需的查询,我可以为所有查询生成报告,但这非常耗时。因为它需要每周完成,所以它不是一个可行的选择。
更重要的是,报告设计可能会随着时间的推移而改变。我可以制作10份报告,然后向每份报告提供正确的查询,但这意味着对报告所做的任何更改都必须进行10次。
有谁知道如何使用VBA /宏自动执行此操作?逻辑类似于以下内容。
等等。看起来这应该是可能的,我只是不知道如何做第1步和第2步。
任何帮助表示感谢。
答案 0 :(得分:0)
没有必要这样做。只需使用单个报表将该查询作为记录源进行单个查询。查询中包含的唯一标准应该是所有用途的共同标准。然后,您只需使用所需的过滤器打开报告。
DoCmd.OpenReport <YourReportName>, acViewPreview, , <YourFilterCriteria>
要导出,请将tempvar设置为过滤条件
<YourTempVar> = <YourFilterCriteria>
DoCmd.outputTo acOutputReport, <YourReportName>, acFormatPDF, <OutputFileName>
在报告的公开事件中,将报告的过滤器设置为tempvar。
Me.Filter = <YourTempVar>