我編寫了一個MS Access 2000報告,顯示每個頁面有一個月的日曆和添加到特定日期的項目。底層記錄源中的唯一數據是月份列表。該結構通過On Page事件創建,該事件還讀取其他數據。MS Access報告的第一頁似乎沒有呼叫頁面事件
打開此報告時,我注意到頁面事件似乎沒有觸發第一頁。 (我將這歸因於這樣的事實,即在頁面緩存時激活報告中的頁面,而不是在顯示頁面時激活,如On Current for Access窗體。)
當報告顯示時,我的工作是使用On Activate事件強制On Page子例程運行,即使該事件尚未被調用。但是,導出報告時,它不會觸發On Activate事件,並且導出的第一頁採用以下兩種格式之一: 1)如果報告在Access中打開(即先前已激活「激活」),則第一頁與正在顯示的頁面之後的頁面或最後一頁相同,除了正確的月份(來自底層記錄源) 2)如果報表在Access中未打開,則第一頁僅包含報告設計視圖(即大量空盒子)
我最好的解決方法是強制一個(否則毫無意義的)封面頁以確保第一頁包含任何需要代碼運行的東西,但這遠非理想。我可以強制代碼運行導出的第一頁嗎?或者,也許我誤解了頁面上的工作方式,並且需要重構我的代碼? (我也注意到On Page似乎在最後一頁上運行兩次)。