Report.ApplyFilter 事件 (Access)
当向报表应用筛选时,将会发生该事件。
语法
表达式。ApplyFilter (Cancel、 ApplyType)
表达 一个代表 Report 对象的变量。
参数
名称 | 必需/可选 | 数据类型 | 说明 |
---|---|---|---|
Cancel | 必需 | Integer | 该设置确定是否发生 ApplyFilter 事件。 将 Cancel参数设置为 True 会取消 ApplyFilter 事件,筛选器不会应用于报表。 |
ApplyType | 必需 | Integer | 返回所应用的筛选器类型。 |
备注
若要在此事件发生时运行宏或事件过程,请将 OnApplyFilter 属性设置为宏名或 [事件过程]。
使用 ApplyFilter 事件可以:
确保正在应用的筛选器正确。 例如,你可能希望确保应用于 “订单” 报表的任何筛选器都包含限制 OrderDate 字段的条件。 为此,请检查报表的 Filter 或 ServerFilter 属性值,以确保 WHERE 子句表达式中包含此条件。
在应用筛选之前更改报表的显示。 例如,在应用某个筛选时,可能会因为某些字段不适合于该筛选所显示的记录,而要求禁用或隐藏某些字段。
撤消或更改在 Filter 事件发生时执行的操作。 例如,当用户创建筛选器时,可以禁用或隐藏报表上的某些控件,因为你不希望这些控件包含在筛选条件中。 之后,可以在应用筛选器之后启用或显示这些控件。
ApplyFilter 事件过程或宏中的操作发生在应用或删除筛选器之前,或者在“高级筛选/排序”窗口关闭之后,但在重新显示报表之前发生。 在新建的筛选器中输入的条件可用于 ApplyFilter 事件过程或宏作为 Filter 或 ServerFilter 属性的设置。
当用户执行下列情况之一时,就不会发生 ApplyFilter 事件:
通过使用宏中的 ApplyFilter、OpenReport 或 ShowAllRecords 操作或 Visual Basic 中 DoCmd 对象的相应方法来应用或删除筛选器。
使用 DoCmd 对象的 Close 操作或 Close 方法关闭“高级筛选/排序”窗口。
在宏或 Visual Basic (中设置 Filter 或 ServerFilter 属性或 FilterOn 属性,尽管可以在 ApplyFilter 事件过程或宏) 中设置这些属性。
支持和反馈
有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。