Report.Filter 事件 (Access)

当用户通过选择 “高级筛选/排序”打开筛选器窗口时发生。

语法

表达式Filter (CancelFilterType)

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

参数

名称 必需/可选 数据类型 说明
Cancel 必需 Integer 该设置确定是否打开筛选窗口。 将 Cancel 参数设置为 True (1) 会阻止打开筛选器窗口。 您还可以使用 CancelEventDoCmd 对象的方法可取消打开筛选窗口。
FilterType 必需 Integer 用户尝试打开的筛选窗口。 FilterType 参数可以是 acFilterAdvanced

备注

若要此事件发生时运行宏或事件过程,请将 OnFilter 属性设为宏的名称或 [事件过程]

使用 Filter 事件可以:

  • 删除以前的所有筛选报告。 若要执行此操作,设置 筛选 属性或报表 ServerFilter 属性为零长度字符串 ("") 在 Filter 宏或事件过程。 如果要确保无关的条件不会在新筛选器中显示,这尤其有用。 例如,使用 “按选定内容筛选” 功能时, (报表) 所选文本中使用的条件将添加到 FilterServerFilter 属性 WHERE 子句表达式中,并显示在 “高级筛选/排序 ”窗口中。 通过使用 筛选器 事件,您可以删除这些旧标准。

  • 输入新筛选器的默认设置。 若要执行此操作,设置 筛选器 属性或 ServerFilter 属性,以包括这些条件。 例如,您可能希望“产品”报表的所有筛选器仅显示当前产品 (“产品”报表中未选择“已停产”控件) 的产品。

  • 使用您自己的自定义筛选器窗口而不是一个 Microsoft Access 筛选器窗口。 筛选器 事件发生时,可以打开自定义窗体,并在此报表上使用的项来设置 筛选器 属性或 ServerFilter 属性和筛选与原始报表。 当用户关闭此自定义窗体时,将原始报表的 FilterOn 属性或 ServerFilterByForm 属性设置为 True (1) 以应用筛选器。 取消 Filter 事件会阻止“访问筛选器”窗口打开。

支持和反馈

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