使用 Filter 屬性可以在對窗體、報表 查詢或表應(yīng)用篩選時指定要顯示的記錄子集。String 型,可讀/寫。
expression.Filter
expression 必需。返回“應(yīng)用于”列表中的一個對象的表達式。
在 Microsoft Access 項目 (.adp) 中,如果要為服務(wù)器上的數(shù)據(jù)指定服務(wù)器篩選,請使用 ServerFilter 屬性。
Filter 屬性是一個字符串表達式,它包含了一個不帶 WHERE 關(guān)鍵字的 WHERE 子句。例如下面的 Visual Basic 代碼定義并應(yīng)用篩選以只顯示來自美國的顧客:
Me.Filter = "Country = 'USA'"
Me.FilterOn = True
可以使用表或窗體的屬性表、宏或 Visual Basic 設(shè)置該屬性。
也可以在“窗體”視圖或“數(shù)據(jù)表”視圖中設(shè)置該屬性,方法是指向“記錄”菜單上的“篩選”,然后單擊子菜單中的一個命令。
注釋 設(shè)置 Filter 屬性對 ADO Filter 屬性無任何影響。
用 Filter 屬性可保存一個篩選以便在日后應(yīng)用它。篩選被保存在創(chuàng)建該篩選的對象中。在打開對象的時候?qū)⒆詣蛹虞d篩選,但不會自動應(yīng)用篩選。
當(dāng)新建對象時,該對象將從創(chuàng)建它的表或查詢繼承 RecordSource、Filter、OrderBy 和 OrderByOn 屬性。
要將一個已保存的篩選應(yīng)用于窗體、查詢或表上,可單擊工具欄上的“應(yīng)用篩選”按鈕或選擇“記錄”菜單上的“應(yīng)用篩選/排序”命令,或者可在宏或 Visual Basic 中把 FilterOn 屬性設(shè)置為 True。對于報表,可以通過在報表的屬性表中把“開啟篩選”屬性設(shè)置為“是”來應(yīng)用篩選。
“應(yīng)用篩選”按鈕指明了 Filter 和 FilterOn 屬性的狀態(tài)。除非有篩選要應(yīng)用,否則該按鈕是無效的。如果當(dāng)前應(yīng)用了一個現(xiàn)有的篩選,則“應(yīng)用篩選”按鈕是被按下的。
若要在打開窗體時自動應(yīng)用篩選,請在窗體的 OnOpen 事件屬性設(shè)置中指定一個使用 ApplyFilter 操作的宏或使用 DoCmd 對象的 ApplyFilter 方法的事件過程。
要刪除篩選,可單擊處于按下狀態(tài)的“應(yīng)用篩選”按鈕,或單擊“記錄”菜單中的“取消篩選/排序”,或者使用 Visual Basic 將 FilterOn 屬性設(shè)置為 False。
注釋 可以將篩選保存為查詢,方法是在“按窗體篩選”窗口或“高級篩選/排序”窗口中單擊“文件”菜單中的“另存為查詢”命令。
當(dāng)在窗體“設(shè)計”視圖中設(shè)置 Filter 屬性時,Microsoft Access 不驗證 SQL 表達式的有效性。如果 SQL 表達式是無效的,則在應(yīng)用篩選時會出現(xiàn)錯誤。