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 屬性,必須首先執(zhí)行下列操作之一:

?在窗體的屬性表中設置屬性值。

 

?在 Visual Basic 中通過鍵入以下內容設置該屬性:

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

注釋  設置 ServerFilter 屬性不會影響 ADO Filter 屬性。

可以使用 ServerFilter 屬性來保存篩選以備后用。篩選和在其中創(chuàng)建篩選的對象一起保存。當對象打開時,會自動加載篩選,但不自動應用篩選。

若要對窗體應用已保存的篩選,可以單擊工具欄上的“應用服務器篩選”、單擊“記錄”菜單上的“應用篩選/排序”、使用宏或 Visual Basic 將 ServerFilterByForm 屬性設置為 True。

“應用服務器篩選”按鈕指明 ServerFilterServerFilterByForm 屬性的狀態(tài)。除非應用了篩選,否則該按鈕一直保持禁用狀態(tài)。如果當前應用了一個現有篩選,則“應用服務器篩選”按鈕顯示為已按下狀態(tài)。

若要在窗體打開時自動應用篩選,請在窗體的 OnOpen 事件屬性設置中,指定一個使用 ApplyFilter 操作的宏,或指定一個使用 DoCmd 對象的 ApplyFilter 方法的事件過程。無論哪種情況,窗體都會在“按窗體服務器篩選”窗口中打開。

可以僅刪除服務器篩選,方法是:使用 Visual Basic 將 ServerFilterByForm 屬性設為 False,或在“按窗體服務器篩選”窗口中清除所有篩選條件,然后單擊“應用服務器篩選”。

當在窗體“設計”視圖中設置 ServerFilter 屬性時,Microsoft Access 不會驗證 SQL 表達式。如果 SQL 表達式無效,則當應用篩選時會發(fā)生錯誤。

注釋

?當新建對象時,該對象會繼承創(chuàng)建所用源表或查詢的 RecordSource、FilterServerFilter、OrderBy 以及 OrderByOn 屬性。

?如果窗體的記錄源存儲過程,則會忽略 ServerFilter 屬性設置。