Retreat 事件

expandtri全部显示

在 Microsoft Access 设置报表格式的过程中当返回到前一个报表节时,Retreat 事件发生。

Private Sub object_Retreat()

Object    报表节的名称。

说明

Retreat 事件可应用于除页面页眉和页面页脚之外的所有报表节。

若要在该事件发生时运行一个事件过程,请将 OnRetreat 属性设置为宏的名称或 [事件过程]。

在某些情况下,Microsoft Access 必须返回到前一个报表节才能确定特定控件在报表上的位置,以及它们是否适合于给定空间。示例包括:

?组(除页面页眉和页面页脚之外),且组的 KeepTogether 属性设为“整个组 ”或“与第一条详细记录”两者之一。

?子报表子窗体,且其 CanGrow 和/或 CanShrink 属性设为“是”。

?在报表最后一页上的节。

在这些情况下,Format 事件在 Microsoft Access 确定节将如何调整以适合于打印页面(但是,Print 事件不会发生,因为节还未被打印)时发生。如果节不能打印,Microsoft Access 将回到必需的位置,以便该节能真正打印在接下来的页上。Retreat 事件在 Microsoft Access 返回时经过的每一节上都会发生。当 Microsoft Access 准备真正打印节时,每一节的 Format 事件将再次发生。

例如,在设置报表格式时,只要 Microsoft Access 到达最后一页的末端时, Retreat 事件就将顺序在前一个节上发生,直到 Microsoft Access 到达最后一页的第一个节。然后 Format 事件再次发生在页面的每一个节上,接着 Print 事件发生。

当 Retreat 事件发生时,可以运行事件过程或宏来撤消在 Format 事件发生时对节所作的所有更改,这在 Format 事件过程或宏执行操作时尤其有用,例如计算页面的总计或控制节的大小,希望这些操作对每一节只执行一次。

Retreat 事件对于保持报表项目的位置也是有用的。例如,在“罗斯文”示例数据库中的“按年度汇总销售额”报表中就是使用该事件来确定是否打印页面页眉(页面页眉只在打印了组页眉的页的后续页中打印,但在打印了组页脚的页的后续页中将不打印)。