当用户通过选择 “高级筛选/排序”打开筛选器窗口时发生。
语法
表达式。Filter (Cancel、 FilterType)
表达 一个代表 Report 对象的变量。
参数
| 名称 | 必需/可选 | 数据类型 | 说明 | 
|---|---|---|---|
| Cancel | 必需 | Integer | 该设置确定是否打开筛选窗口。 将 Cancel 参数设置为 True (1) 会阻止打开筛选器窗口。 您还可以使用 CancelEventDoCmd 对象的方法可取消打开筛选窗口。 | 
| FilterType | 必需 | Integer | 用户尝试打开的筛选窗口。 FilterType 参数可以是 acFilterAdvanced。 | 
备注
若要此事件发生时运行宏或事件过程,请将 OnFilter 属性设为宏的名称或 [事件过程]
使用 Filter 事件可以:
- 删除以前的所有筛选报告。 若要执行此操作,设置 筛选 属性或报表 ServerFilter 属性为零长度字符串 ("") 在 Filter 宏或事件过程。 如果要确保无关的条件不会在新筛选器中显示,这尤其有用。 例如,使用 “按选定内容筛选” 功能时, (报表) 所选文本中使用的条件将添加到 Filter 或 ServerFilter 属性 WHERE 子句表达式中,并显示在 “高级筛选/排序 ”窗口中。 通过使用 筛选器 事件,您可以删除这些旧标准。 
- 输入新筛选器的默认设置。 若要执行此操作,设置 筛选器 属性或 ServerFilter 属性,以包括这些条件。 例如,您可能希望“产品”报表的所有筛选器仅显示当前产品 (“产品”报表中未选择“已停产”控件) 的产品。 
- 使用您自己的自定义筛选器窗口而不是一个 Microsoft Access 筛选器窗口。 筛选器 事件发生时,可以打开自定义窗体,并在此报表上使用的项来设置 筛选器 属性或 ServerFilter 属性和筛选与原始报表。 当用户关闭此自定义窗体时,将原始报表的 FilterOn 属性或 ServerFilterByForm 属性设置为 True (1) 以应用筛选器。 取消 Filter 事件会阻止“访问筛选器”窗口打开。 
支持和反馈
有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。