Report.NoData 事件 (Access)
Microsoft Access 设置格式的报表可用于打印不包含数据 (该报表绑定到一个空的记录集) 之后, 但在打印报表之前,会发生 NoData 事件。 使用此事件可取消打印空白报表。
语法
表达式。NoData (取消)
表达 一个代表 Report 对象的变量。
参数
名称 | 必需/可选 | 数据类型 | 说明 |
---|---|---|---|
Cancel | 必需 | Integer | 该设置确定是否打印报表。 将 Cancel 参数设置为 True (1) 可防止报表打印。 还可以使用 DoCmd 对象的 CancelEvent 方法取消打印报表。 |
备注
若要在发生此事件时运行宏或事件过程,请将 OnNoData 属性设置为宏的名称或 [事件过程]。
如果报表未绑定到表或查询 (使用报表的 RecordSource 属性) ,则 NoData 事件不会发生。
此事件发生在报表的 Format 事件之后,但在第一个 Print 事件之前。
对于子报表,该事件不会发生。 如果要在子报表没有数据时隐藏子报表上的控件,以便在这种情况下控件不会打印,则可以在发生 Format 或 Print 事件时运行的宏或事件过程中使用 HasData 属性。
NoData 事件发生在报表的第一个 Page 事件之前。
示例
下面的示例显示如何取消打印没有数据的报表。 并显示一条消息,通知用户打印已取消。
若要试用该示例,请将下面的事件过程添加到报表中。 当报表中不含有数据时,尝试运行报表。
Private Sub Report_NoData(Cancel As Integer)
MsgBox "The report has no data." & _
chr(13) & "Printing is canceled. " & _
chr(13) & "Check the data source for the " & _
chr(13) & "report. Make sure you entered " & _
chr(13) & "the correct criteria (for " & _
chr(13) & "example, a valid range of " & _
chr(13) & "dates),." vbOKOnly + vbInformation
Cancel = True
End Sub
以下示例演示如何使用报表的 NoData 事件来防止在没有要显示的数据时打开报表。
Private Sub Report_NoData(Cancel As Integer)
'Add code here that will be executed if no data
'was returned by the Report's RecordSource
MsgBox "No customers ordered this product this month. " & _
"The report will now close."
Cancel = True
End Sub
支持和反馈
有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。