ServerFilter 屬性

此頁沒有內(nèi)容條目
內(nèi)容

expandtri全部顯示

當(dāng)服務(wù)器篩選應(yīng)用于 Microsoft Access 項(xiàng)目 (.adp) 中的窗體報(bào)表,或者 Microsoft Access 項(xiàng)目 (.adp) 或數(shù)據(jù)庫 (.mdb) 中的數(shù)據(jù)訪問頁時(shí),可以使用 ServerFilter 屬性指定要顯示的記錄子集。String 型,可讀寫。

expression.ServerFilter

expression     必需。返回“應(yīng)用于”列表中的一個(gè)對(duì)象的表達(dá)式。

說明

ServerFilter 屬性是一個(gè)由不帶 WHERE 關(guān)鍵字的 WHERE 子句組成的字符串表達(dá)式。例如,以下的 Visual Basic 代碼定義并應(yīng)用了僅顯示美國用戶的篩選:

Me.ServerFilter = "Country = 'USA'"

Me.Refresh

設(shè)置該屬性的最簡(jiǎn)單的方法是通過使用窗體或報(bào)表的屬性表。也可以通過使用 Visual Basic 在窗體或報(bào)表中設(shè)置該屬性。

若要設(shè)置 ServerFilter 屬性,必須首先執(zhí)行下列操作之一:

?在窗體的屬性表中設(shè)置屬性值。

 

?在 Visual Basic 中通過鍵入以下內(nèi)容設(shè)置該屬性:

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

注釋  設(shè)置 ServerFilter 屬性不會(huì)影響 ADO Filter 屬性。

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

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

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

若要在窗體打開時(shí)自動(dòng)應(yīng)用篩選,請(qǐng)?jiān)诖绑w的 OnOpen 事件屬性設(shè)置中,指定一個(gè)使用 ApplyFilter 操作的宏,或指定一個(gè)使用 DoCmd 對(duì)象的 ApplyFilter 方法的事件過程。無論哪種情況,窗體都會(huì)在“按窗體服務(wù)器篩選”窗口中打開。

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

當(dāng)在窗體“設(shè)計(jì)”視圖中設(shè)置 ServerFilter 屬性時(shí),Microsoft Access 不會(huì)驗(yàn)證 SQL 表達(dá)式。如果 SQL 表達(dá)式無效,則當(dāng)應(yīng)用篩選時(shí)會(huì)發(fā)生錯(cuò)誤。

注釋

?當(dāng)新建對(duì)象時(shí),該對(duì)象會(huì)繼承創(chuàng)建所用源表或查詢的 RecordSource、Filter、ServerFilter、OrderBy 以及 OrderByOn 屬性。

?如果窗體的記錄源存儲(chǔ)過程,則會(huì)忽略 ServerFilter 屬性設(shè)置。