我编写了一个MS Access 2000报告,显示每个页面有一个月的日历和添加到特定日期的项目。底层记录源中的唯一数据是月份列表。该结构通过On Page事件创建,该事件还读取其他数据。MS Access报告的第一页似乎没有呼叫页面事件
打开此报告时,我注意到页面事件似乎没有触发第一页。 (我将这归因于这样的事实,即在页面缓存时激活报告中的页面,而不是在显示页面时激活,如On Current for Access窗体。)
当报告显示时,我的工作是使用On Activate事件强制On Page子例程运行,即使该事件尚未被调用。但是,导出报告时,它不会触发On Activate事件,并且导出的第一页采用以下两种格式之一: 1)如果报告在Access中打开(即先前已激活“激活”),则第一页与正在显示的页面之后的页面或最后一页相同,除了正确的月份(来自底层记录源) 2)如果报表在Access中未打开,则第一页仅包含报告设计视图(即大量空盒子)
我最好的解决方法是强制一个(否则毫无意义的)封面页以确保第一页包含任何需要代码运行的东西,但这远非理想。我可以强制代码运行导出的第一页吗?或者,也许我误解了页面上的工作方式,并且需要重构我的代码? (我也注意到On Page似乎在最后一页上运行两次)。