Filter 屬性

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

expandtri全部顯示

使用 Filter 屬性可以在對(duì)窗體、報(bào)表 查詢(xún)應(yīng)用篩選時(shí)指定要顯示的記錄子集。String 型,可讀/寫(xiě)。

expression.Filter

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

說(shuō)明

Microsoft Access 項(xiàng)目 (.adp) 中,如果要為服務(wù)器上的數(shù)據(jù)指定服務(wù)器篩選,請(qǐng)使用 ServerFilter 屬性。

Filter 屬性是一個(gè)字符串表達(dá)式,它包含了一個(gè)不帶 WHERE 關(guān)鍵字的 WHERE 子句。例如下面的 Visual Basic 代碼定義并應(yīng)用篩選以只顯示來(lái)自美國(guó)的顧客:

Me.Filter = "Country = 'USA'"

Me.FilterOn = True

可以使用表或窗體的屬性表、Visual Basic 設(shè)置該屬性。

也可以在“窗體”視圖“數(shù)據(jù)表”視圖中設(shè)置該屬性,方法是指向“記錄”菜單上的“篩選”,然后單擊子菜單中的一個(gè)命令。

注釋  設(shè)置 Filter 屬性對(duì) ADO Filter 屬性無(wú)任何影響。

Filter 屬性可保存一個(gè)篩選以便在日后應(yīng)用它。篩選被保存在創(chuàng)建該篩選的對(duì)象中。在打開(kāi)對(duì)象的時(shí)候?qū)⒆詣?dòng)加載篩選,但不會(huì)自動(dòng)應(yīng)用篩選。

當(dāng)新建對(duì)象時(shí),該對(duì)象將從創(chuàng)建它的表或查詢(xún)繼承 RecordSourceFilter、OrderByOrderByOn 屬性。

要將一個(gè)已保存的篩選應(yīng)用于窗體、查詢(xún)或表上,可單擊工具欄上的“應(yīng)用篩選”按鈕或選擇“記錄”菜單上的“應(yīng)用篩選/排序”命令,或者可在宏或 Visual Basic 中把 FilterOn 屬性設(shè)置為 True。對(duì)于報(bào)表,可以通過(guò)在報(bào)表的屬性表中把“開(kāi)啟篩選”屬性設(shè)置為“是”來(lái)應(yīng)用篩選。

“應(yīng)用篩選”按鈕指明了 FilterFilterOn 屬性的狀態(tài)。除非有篩選要應(yīng)用,否則該按鈕是無(wú)效的。如果當(dāng)前應(yīng)用了一個(gè)現(xiàn)有的篩選,則“應(yīng)用篩選”按鈕是被按下的。

若要在打開(kāi)窗體時(shí)自動(dòng)應(yīng)用篩選,請(qǐng)?jiān)诖绑w的 OnOpen 事件屬性設(shè)置中指定一個(gè)使用 ApplyFilter 操作的宏或使用 DoCmd 對(duì)象的 ApplyFilter 方法的事件過(guò)程。

要?jiǎng)h除篩選,可單擊處于按下?tīng)顟B(tài)的“應(yīng)用篩選”按鈕,或單擊“記錄”菜單中的“取消篩選/排序”,或者使用 Visual Basic 將 FilterOn 屬性設(shè)置為 False。

注釋  可以將篩選保存為查詢(xún),方法是在“按窗體篩選”窗口或“高級(jí)篩選/排序”窗口中單擊“文件”菜單中的“另存為查詢(xún)”命令。

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