Print 事件

expandtri全部显示

在为打印而对报表中的数据进行格式设置之后、真正打印节之前,Print 事件发生。

Private Sub object_Print(Cancel As Integer, PrintCount As Integer)

Object    报表节的名称。

Cancel    该设置确定是否打印节。将 Cancel 参数设为 True (–1) 可取消打印节。

PrintCount    整型值,指定是否对记录发生多次 Print 事件。例如,如果某记录的一部分被打印在一页上,而其余部分则打印在下一页上,则 Print 事件将发生两次,Microsoft Access 会将 PrintCount 参数设为 2。

说明

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

对于报表主体节,在 Microsoft Access 打印记录中的数据之前,节中的每一条记录都会发生 Print 事件。Print 事件过程或宏可以访问当前记录中的数据。

对于报表组页眉,Print 事件发生在每一个新数据组中。Print 宏或事件过程可以访问组页眉中的数据,以及主体节中第一条记录中的数据。对于报表组页脚,Print 事件发生在每一个新数据组中。Print 宏或事件过程可以访问组页脚中的数据,以及主体节中最后一条记录中的数据。

只有在 Microsoft Access 已经准备好页面上待打印的数据之后,才能使用 Print 事件来运行宏或事件过程。例如,可以计算打印在页面页眉或页面页脚中的页面总计。

对于影响页面布局的更改,例如显示或隐藏控件,请使用 Format 事件。

Print 事件只发生在实际打印的节中。如果需要访问没被打印的节数据(例如,一直在进行求和运算,但只打印指定的页面),请使用 Format 事件。

Page 事件发生在报表的所有 Format 事件以及所有页的 Print 事件之后、真正打印页之前。

可以使用 PrintCount 属性来检查是否某个记录发生了多次 Print 事件。例如,如果某记录的一部分被打印在一页上,而其余部分则打印在下一页上,则 Print 事件会发生两次,PrintCount 属性会设为 2。如果 Print 宏对一个记录应当只运行一次(例如,一个宏用于在页脚显示该页内的记录总计),则可以通过检查 PrintCount 属性值来确定是否只打印了一次。

可以在 Print 宏中使用 CancelEvent 操作来取消打印节的操作。Microsoft Access 会在打印报表时应当是节的页面位置打印空白区域。打印报表时,可以使用 CancelEvent 操作跳过报表中的记录,并在页面上的记录所在位置留下空白区域。

Print 宏只对实际打印的节运行。

示例

下面的示例检查 PrintCount 参数以确定 Print 事件的发生次数。如果 Print 事件发生次数超过一次,则取消该节的 Print 事件。

若要试用该示例,请将下面的事件过程添加到包含名为“CustomerDetail”节的报表中。

Private Sub CustomerDetail_Print(Cancel As Integer, _

        PrintCount As Integer)

    If PrintCount > 1 Then Cancel = True

End Sub