ServerFilter 属性

expandtri全部显示

当服务器筛选应用于 Microsoft Access 项目 (.adp) 中的窗体报表,或者 Microsoft Access 项目 (.adp) 或数据库 (.mdb) 中的数据访问页时,可以使用 ServerFilter 属性指定要显示的记录子集。String 型,可读写。

expression.ServerFilter

expression     必需。返回“应用于”列表中的一个对象的表达式。

说明

ServerFilter 属性是一个由不带 WHERE 关键字的 WHERE 子句组成的字符串表达式。例如,以下的 Visual Basic 代码定义并应用了仅显示美国用户的筛选:

Me.ServerFilter = "Country = 'USA'"

Me.Refresh

设置该属性的最简单的方法是通过使用窗体或报表的属性表。也可以通过使用 Visual Basic 在窗体或报表中设置该属性。

若要设置 ServerFilter 属性,必须首先执行下列操作之一:

?在窗体的属性表中设置属性值。

 

?在 Visual Basic 中通过键入以下内容设置该属性:

Forms(0).ServerFilter = "fieldname = value"

注释  设置 ServerFilter 属性不会影响 ADO Filter 属性。

可以使用 ServerFilter 属性来保存筛选以备后用。筛选和在其中创建筛选的对象一起保存。当对象打开时,会自动加载筛选,但不自动应用筛选。

若要对窗体应用已保存的筛选,可以单击工具栏上的“应用服务器筛选”、单击“记录”菜单上的“应用筛选/排序”、使用宏或 Visual Basic 将 ServerFilterByForm 属性设置为 True

“应用服务器筛选”按钮指明 ServerFilterServerFilterByForm 属性的状态。除非应用了筛选,否则该按钮一直保持禁用状态。如果当前应用了一个现有筛选,则“应用服务器筛选”按钮显示为已按下状态。

若要在窗体打开时自动应用筛选,请在窗体的 OnOpen 事件属性设置中,指定一个使用 ApplyFilter 操作的宏,或指定一个使用 DoCmd 对象的 ApplyFilter 方法的事件过程。无论哪种情况,窗体都会在“按窗体服务器筛选”窗口中打开。

可以仅删除服务器筛选,方法是:使用 Visual Basic 将 ServerFilterByForm 属性设为 False,或在“按窗体服务器筛选”窗口中清除所有筛选条件,然后单击“应用服务器筛选”。

当在窗体“设计”视图中设置 ServerFilter 属性时,Microsoft Access 不会验证 SQL 表达式。如果 SQL 表达式无效,则当应用筛选时会发生错误。

注释

?当新建对象时,该对象会继承创建所用源表或查询的 RecordSourceFilterServerFilterOrderBy 以及 OrderByOn 属性。

?如果窗体的记录源存储过程,则会忽略 ServerFilter 属性设置。