Report.ApplyFilter 事件 (Access)

当向报表应用筛选时,将会发生该事件。

语法

表达式ApplyFilter (CancelApplyType)

表达 一个代表 Report 对象的变量。

参数

名称 必需/可选 数据类型 说明
Cancel 必需 Integer 该设置确定是否发生 ApplyFilter 事件。 将 Cancel参数设置为 True 会取消 ApplyFilter 事件,筛选器不会应用于报表。
ApplyType 必需 Integer 返回所应用的筛选器类型。

备注

若要在此事件发生时运行宏或事件过程,请将 OnApplyFilter 属性设置为宏名或 [事件过程]。

使用 ApplyFilter 事件可以:

  • 确保正在应用的筛选器正确。 例如,你可能希望确保应用于 “订单” 报表的任何筛选器都包含限制 OrderDate 字段的条件。 为此,请检查报表的 FilterServerFilter 属性值,以确保 WHERE 子句表达式中包含此条件。

  • 在应用筛选之前更改报表的显示。 例如,在应用某个筛选时,可能会因为某些字段不适合于该筛选所显示的记录,而要求禁用或隐藏某些字段。

  • 撤消或更改在 Filter 事件发生时执行的操作。 例如,当用户创建筛选器时,可以禁用或隐藏报表上的某些控件,因为你不希望这些控件包含在筛选条件中。 之后,可以在应用筛选器之后启用或显示这些控件。

ApplyFilter 事件过程或宏中的操作发生在应用或删除筛选器之前,或者在“高级筛选/排序”窗口关闭之后,但在重新显示报表之前发生。 在新建的筛选器中输入的条件可用于 ApplyFilter 事件过程或宏作为 FilterServerFilter 属性的设置。

当用户执行下列情况之一时,就不会发生 ApplyFilter 事件:

  • 通过使用宏中的 ApplyFilter、OpenReport 或 ShowAllRecords 操作或 Visual Basic 中 DoCmd 对象的相应方法来应用或删除筛选器。

  • 使用 DoCmd 对象的 Close 操作或 Close 方法关闭“高级筛选/排序”窗口。

  • 在宏或 Visual Basic (中设置 FilterServerFilter 属性或 FilterOn 属性,尽管可以在 ApplyFilter 事件过程或宏) 中设置这些属性。

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。