Microsoft Access 报表 - 如何在打印视图中循环浏览报表的所有页面?

Posted

技术标签:

【中文标题】Microsoft Access 报表 - 如何在打印视图中循环浏览报表的所有页面?【英文标题】:Microsoft Access Report - How to cycle through all pages of a report in print view? 【发布时间】:2016-02-29 12:34:25 【问题描述】:

我有一份报告,其中列出了公司名称和该公司的详细信息。 每个企业通常在打印预览的报告的一页上。

我设法创建了一些代码来获取所有企业名称和它们所在的当前页码,然后将它们添加到表中 (BusinessPage)。我已将此代码放在报告的“打印时”部分。

在我循环浏览报告后,所有商家名称及其页面都会添加到表格中 (BusinessPage)。

然后索引页会显示这些特定业务的相应页码。

现在这工作得相当好,唯一的问题是:我必须在索引页面显示任何内容之前循环浏览报告的每一页(这是因为只有在激活页面“打印”代码时才会填充表格。在将任何信息添加到表格之前,必须先查看页面)。

我的问题是,是否有一段 VBA 代码可以用来循环浏览报告的所有页面,然后再返回?如果我能做到这一点,这意味着它将让您回到报告的开头并正确显示索引页面上的所有页面,因为报告已经循环通过。

【问题讨论】:

如果你跳到最后一页(而不是循环浏览所有页面)不起作用吗?如果没有,如果您将代码从 On Print 移动到 On Format,它可能会起作用。 @Andre 它没有,但是您的替代建议效果很好。只是将代码更改为在格式上而不是在打印上执行 - 现在它立即显示在索引页面上。不敢相信我错过了。如果您想将其作为答案,我将等待并接受。谢谢! 【参考方案1】:

解决方案是将代码从On Print 移动到On Format

On Print 仅在实际打印或预览页面时执行。

On Format 在页面准备好时执行,例如通过转到打印预览中的最后一页。或者如果页脚包含[Pages]: 要计算总页数,必须准备好所有页,所以代码也被执行。

【讨论】:

以上是关于Microsoft Access 报表 - 如何在打印视图中循环浏览报表的所有页面?的主要内容,如果未能解决你的问题,请参考以下文章

从 DoCmd OpenReport 打印报表时触发 Microsoft Access 中的事件

Microsoft Access 2007 - 查看报表中使用的查询?

Microsoft Access VBA 将参数传递给报表

Microsoft Access 2010 - 在基于查询的报表中按计算字段过滤

带有条件列的 Microsoft Access 2007 报表

使用 .Net Framework 编写的 Microsoft Access 报表 ActiveX 控件