使用 Filter 属性可以在对窗体、报表 查询或表应用筛选时指定要显示的记录子集。String 型,可读/写。
expression.Filter
expression 必需。返回“应用于”列表中的一个对象的表达式。
在 Microsoft Access 项目 (.adp) 中,如果要为服务器上的数据指定服务器筛选,请使用 ServerFilter 属性。
Filter 属性是一个字符串表达式,它包含了一个不带 WHERE 关键字的 WHERE 子句。例如下面的 Visual Basic 代码定义并应用筛选以只显示来自美国的顾客:
Me.Filter = "Country = 'USA'"
Me.FilterOn = True
可以使用表或窗体的属性表、宏或 Visual Basic 设置该属性。
也可以在“窗体”视图或“数据表”视图中设置该属性,方法是指向“记录”菜单上的“筛选”,然后单击子菜单中的一个命令。
注释 设置 Filter 属性对 ADO Filter 属性无任何影响。
用 Filter 属性可保存一个筛选以便在日后应用它。筛选被保存在创建该筛选的对象中。在打开对象的时候将自动加载筛选,但不会自动应用筛选。
当新建对象时,该对象将从创建它的表或查询继承 RecordSource、Filter、OrderBy 和 OrderByOn 属性。
要将一个已保存的筛选应用于窗体、查询或表上,可单击工具栏上的“应用筛选”按钮或选择“记录”菜单上的“应用筛选/排序”命令,或者可在宏或 Visual Basic 中把 FilterOn 属性设置为 True。对于报表,可以通过在报表的属性表中把“开启筛选”属性设置为“是”来应用筛选。
“应用筛选”按钮指明了 Filter 和 FilterOn 属性的状态。除非有筛选要应用,否则该按钮是无效的。如果当前应用了一个现有的筛选,则“应用筛选”按钮是被按下的。
若要在打开窗体时自动应用筛选,请在窗体的 OnOpen 事件属性设置中指定一个使用 ApplyFilter 操作的宏或使用 DoCmd 对象的 ApplyFilter 方法的事件过程。
要删除筛选,可单击处于按下状态的“应用筛选”按钮,或单击“记录”菜单中的“取消筛选/排序”,或者使用 Visual Basic 将 FilterOn 属性设置为 False。
注释 可以将筛选保存为查询,方法是在“按窗体筛选”窗口或“高级筛选/排序”窗口中单击“文件”菜单中的“另存为查询”命令。
当在窗体“设计”视图中设置 Filter 属性时,Microsoft Access 不验证 SQL 表达式的有效性。如果 SQL 表达式是无效的,则在应用筛选时会出现错误。