篩選是一種實用的方法,可讓您只查看 Access 資料庫中想要顯示的資料。 您可以使用篩選來顯示表單、報表、查詢或資料工作表中的特定記錄,或只列印報表、資料表或查詢中的特定記錄。 藉由套用篩選,您可以限制檢視中的資料,而不變更基礎物件的設計。
本文內容
篩選的用途
由於套用篩選之後取得的檢視畫面只包含所選值的記錄,因此其餘資料會保持隱藏狀態,直到您清除篩選為止。
注意
資料工作表中的欄,以及繫結至運算式的表單和報表中的控制項不支援篩選。
過濾器有多種類型,其中一些易於應用和刪除。 Access 包含一些內建於每一個檢視的常用篩選。 篩選命令的可用性取決於欄位的類型和值。
例如,若要檢視生日落在特定月份之人員的記錄,請按一下 [BirthDate ] 欄,在 [ 常用 ] 索引標籤的 [排序 & 篩選] 群組中,按一下 [ 篩選],然後按一下對話方塊中的 [日期篩選] ,然後選取所需的日期期間。
1. 您可以使用的篩選條件取決於所選資料行中的資料類型。
- [期間中的所有日期] 篩選會忽略日期值的日期和年份部分。
在此篩選檢視中,您只會看到 [BirthDate ] 欄位的月份部分設為 [四月] 的記錄。
1. 欄標題和記錄導覽器列中的篩選圖示表示目前檢視已在 BirthDate 欄上篩選。
2. 在 [資料工作表] 檢視中,當您將滑鼠停留在欄標題上時,您會看到目前的篩選準則。
注意
當您將篩選套用至已篩選的欄時,先前的篩選會自動移除。 雖然一次只能對一個欄位生效單一篩選,但您可以為檢視中的每個欄位指定不同的篩選。
例如,若要查看生日在四月的英國連絡人名稱,您可以在 [CountryRegion] 欄位和 [BirthDate] 欄位上篩選 [連絡人] 資料表。 當您在單一檢視中篩選多個欄位時,篩選會使用 AND 運算子合併,如下所示:
CountryRegion = 英國 AND 出生月份日期 = 四月
若要還原為未篩選的檢視:移除篩選。 移除篩選會暫時從檢視中移除篩選,以便您可以切換回原始的未篩選檢視。
若要在篩選和未篩選的檢視之間切換: 在 [常用] 索引標籤上的 [排序 & 篩選] 群組中,按一下 [切換篩選]。
若要從檢視中永久移除篩選: 清除篩選。 若要瞭解如何清除篩選,請參閱 清除篩選一節。
篩選設定會一直有效,直到您關閉物件為止,即使您切換到物件的另一個檢視也一樣。 換句話說,如果您在 [資料工作表檢視] 中篩選表單,即使您切換到 [表單檢視] 或 [版面配置檢視],篩選設定仍會有效,而且在您關閉表單之前,篩選設定仍會維持不變。 如果您在套用篩選時儲存物件,下次開啟物件時,篩選將可供使用。 若要瞭解如何儲存篩選,請參閱本文中的 儲存篩選 一節。
選取並套用篩選類型
您可以針對資料類型從數個現成可用的篩選中選取。 這些篩選可在下列檢視中做為功能表命令使用:[資料工作表]、[表單]、[報表] 和 [版面配置]。 除了這些篩選,您也可以藉由填寫名為 [依表單) 篩選] 的表單 (來篩選表單或資料工作表。
如果您想要更大的彈性,並且如果您習慣撰寫運算式,您可以使用 [篩選 文件] 索引標籤上的選項來建立您自己的篩選。
從下列篩選類型中選取:
一般篩選:篩選特定值或值範圍。
依選取範圍篩選:若要篩選資料工作表檢視,以篩選資料表中包含符合列中所選值之值的所有資料列。
依表單篩選:篩選表單或資料工作表中的多個欄位,或您嘗試尋找特定記錄。
進階篩選器:若要篩選您定義自訂篩選準則的篩選類型。
注意
如果您在任何檢視中都沒有看到篩選命令,表單或資料庫的設計工具可能已停用篩選。 請連絡設計師以取得進一步協助。
一般篩選
除了 OLE 物件欄位和顯示計算值的欄位外,所有欄位類型都提供常見的篩選。 可用的篩選清單取決於所選欄位的資料類型和值。
以滑鼠右鍵按一下要篩選的欄位。 若要篩選多個資料行或控制項,您必須分別選取並篩選每個資料行或控制項,或使用進階篩選選項。 如需詳細資訊,請參閱本文中的 [ 依表單篩選] 和 [進階篩選條件] 區段。
例如,若要查看 [BirthDate] 欄位可用的篩選條件,請在 [常用] 索引標籤上的 [排序 & 篩選] 群組中按一下 [篩選]。
1. 若要篩選特定值,請使用核取方塊清單。 清單會顯示欄位中目前顯示的所有值。
2. 若要篩選值範圍,請按一下其中一個篩選條件,然後指定必要的值。 例如,若要查看落在目前日期到年底之間的生日,請按一下 [中間日期],然後在 [ 之間 ] 對話方塊中指定適當的開始日期和結束日期。 若要查看所有落在特定日期的生日,請按一下該日期,所有落在該特定日期的生日都會顯示。
請務必注意,日期欄位中的值會影響類型特定篩選清單。 如果日期欄位中最近的日期值落在過去兩年內,您會看到更長、更詳細的篩選清單。 如果欄位中的日期都不是小於兩年,則會看到較短的篩選清單。
注意
類型特定篩選不適用於 [是/否]、[OLE 物件] 和 [附件] 欄位。 值清單不適用於長文字欄位,或是包含 RTF 文字的欄位。
套用通用篩選條件
在下列任一檢視中開啟資料表、查詢、表單或報表:[資料工作表]、[表單]、[報表] 或 [版面配置]。
請確定尚未篩選檢視。 在記錄選取器列上,確認 [ 未篩選 ] 或呈暗灰色的 [無篩選] 圖示出現。
秘訣
若要移除特定物件的所有篩選,請在 [常用] 索引標籤的 [排序 & 篩選] 群組中,按一下 [進階],然後按一下 [清除所有篩選]。
按一下欄或控制項中與您要篩選之第一個欄位對應的任何位置,然後在 [常用 ] 索引標籤的 [排序 & 篩選] 群組中按一下 [ 篩選]。
若要套用一般篩選:指向 [文字 (] 或 [ 數字 ] 或 [日期 ]) 篩選 ,然後按一下您想要的篩選。 [ Equals ] 和 [Between ] 等篩選會提示您輸入必要的值。
秘訣
在篩選文字方塊中指定某些字元,例如 *、% 和 ?,具有特殊意義。 例如,* 代表一串字元,因此字串 a* 會比對任何以 a 開頭的字串,而不只是常值字串 a*。 若要忽略字元的特殊意義,請將其括在方括號 []中,像這樣:a[*]。 使用 ANSI-89 標準的資料庫會將 *、?、[]、, -, 和 # 視為特殊字元。 使用 ANSI-92 標準的資料庫會將 %、_、[、]、^ 和 - 視為特殊字元。 您可以將任一標準與 Access 搭配使用,但不能混合使用這兩個標準 (例如,在特定運算式中使用 ?a*) 。
若要根據欄位值套用篩選: 清除您不要篩選之值旁邊的核取方塊,然後按一下 [確定]。
若要篩選一長清單中的一個或只篩選幾個值,請先清除 [全選) 核取方塊 (然後選取您想要的值。
若要篩選 Null 值, (Null 值表示文字、數字和日期欄位中沒有資料) : 在核取方塊清單中,清除 [ (全選) ] 核取方塊,然後選取 [ (空白] 旁的核取方塊) 。
依選取範圍篩選
若要查看表格中包含符合某列值之值的所有列,您可以選取特定值,然後按一下 [選取] 命令,以快速篩選資料工作表檢視。 下拉式清單會顯示可用的篩選選項。 這些選項會根據所選值的資料類型而有所不同。 存取選取篩選選項的另一種方法是以滑鼠右鍵按一下特定儲存格。
例如,如果目前已在 [BirthDate] 欄位中選取 2/21/1967 值,請在 [常用 ] 索引標籤的 [排序 & 篩選 ] 群組中,按一下 [選取範圍 ] 以顯示所選命令的篩選,然後選取您的篩選選項。
命令清單也取決於選取的值量。 例如,如果您只選取值中的部分字元,就會根據您選取的欄位部分,看到不同的命令清單。
1. 使用欄位值的開頭進行篩選...
2. ...欄位值的中間...
3. ...或欄位值的結尾。
注意
多重值欄位無法篩選部分選取範圍。 [ 選取] 命令不適用於附件。
若要移除篩選,請在 [常用] 索引標籤的 [排序 & 篩選] 群組中,按一下 [切換篩選],或按一下 [進階],然後按一下 [清除所有篩選]。
根據選取範圍套用篩選
- 在下列任一檢視中開啟資料表、查詢、表單或報表:[資料工作表]、[表單]、[報表] 或 [版面配置]。
- 請確定尚未篩選檢視。 在記錄選取器列上,確認 [ 未篩選 ] 或呈暗灰色的 [無篩選] 圖示出現。
- 移至包含您想要作為篩選的一部分使用的值的記錄,然後在 [資料工作表檢視] 中的欄 (內按一下,或在 [表單]、[報表] 或 [版面配置檢視]) ) 控制項 (。
根據部分選取範圍進行篩選;選取您想要的字元,在 [常用 ] 索引標籤的 [排序 & 篩選 ] 群組中,按一下 [選取範圍],然後按一下您想要套用的篩選。
依表單篩選
當您想要篩選表單或資料工作表中的多個欄位,或嘗試尋找特定記錄時,此篩選很有用。 Access 會建立與原始表單或資料工作表相似的空白表單或資料工作表,然後允許您完成任意數量的欄位。 完成後,Access 會尋找包含指定值的記錄。
注意
雖然您可以為記錄集中的其他欄位指定值,但無法為使用表單篩選的多重值欄位指定欄位值,也無法為具有 [長文字]、[超連結]、[是/否] 或 [OLE 物件] 資料類型的欄位指定欄位值。
例如,如果您想要尋找連絡人職稱為 [擁有者] 的所有客戶記錄,且該人員位於 波特蘭 或 尤金,請開啟 [客戶資料工作表] 或表單,然後在 [常用] 索引標籤的 [排序 & 篩選] 群組中,按一下 [ 進階],然後按一下 [ 依表單篩選]。
輸入第一組值,然後按一下資料工作表或表單底部的 [或 ] 索引標籤,然後輸入下一組值。 請注意,如果您希望欄位值作為篩選運作,獨立於其他欄位值,您必須在 [ 尋找] 索引標籤和每個 Or 索引標籤上輸入該值。每個 Or 索引標籤分別代表一組替代的篩選值。
若要只查看符合您輸入的記錄: 在 [常用 ] 索引標籤的 [排序 & 篩選] 群組中,按一下 [切換篩選]。
填寫表單以套用篩選
在 [資料工作表檢視] 中開啟資料表或查詢,或在 [表單檢視] 中開啟表單。
請確定尚未篩選檢視。 在記錄選取器列上,確認 [ 未篩選 ] 或呈暗灰色的 [無篩選] 圖示出現。
在 [常用 ] 索引標籤的 [排序 & 篩選 ] 群組中,按一下 [ 進階],然後按一下捷徑功能表上的 [ 依表單篩選 ]。
依據您是在 [資料工作表檢視] 或 [表單檢視] 中工作,執行下列其中一項操作:
資料工作表檢視: 按一下您要篩選的欄中的第一列,按一下出現的箭號,然後選取值。 若要新增其他值,只要按一下資料工作表底部的 [或 ] 索引標籤,然後選取另一個值即可。
表單檢視:按一下控制項中出現的箭號,然後選取要篩選的值。 若要新增其他值,請按一下表單底部的 [或 ] 索引標籤,然後選取另一個值。秘訣
您無法使用 [篩選依據] 表單為多重值欄位指定欄位值,但可以為記錄集中的非多重值欄位指定值。
- 若要指定欄位的可能值清單,請使用 or 運算子。 例如,在 [城市] 欄位中指定 “Portland” 或 “Oregon” ,以篩選包含任一值的記錄。
- 若要根據控制項的狀態進行篩選,例如核取方塊或按鈕,請按一下控制項,使其處於您想要的狀態。 若要將控制項返回中性位置,使其不會被用作篩選記錄的準則,請確保控制項無法使用 (顯示為暗灰色) 。
- 若要篩選含有 Null (缺) 、非 Null、空白 (空白或 “”) 或非空白值的記錄,請在欄位中輸入 Is Null、 Is Not Null、 “” 或 Not “” 。
如果您想要指定兩組替代準則,例如,只查看 CountryRegion 值為 USA 且生日在 4 月的連絡人名稱,您可以執行下列任何一項操作:
- 若要擷取符合多組準則中任一組的所有記錄,請輸入第一組準則來指定準則,按一下 [或 ] 索引標籤,然後輸入下一組準則。 請注意,如果您希望欄位值作為篩選運作,獨立於其他欄位值,您必須在 [ 尋找] 索引標籤和每個 Or 索引標籤上輸入該值。換句話說,[ 尋找] 索引標籤和每個 Or 索引標籤分別代表一組替代的篩選值。
- 另請注意,每當您將欄位準則新增至 [或 ] 索引標籤時,Access 就會建立另一個 或 索引標籤。這可讓您指定數個 “or” 準則。 篩選會傳回包含 [尋找] 索引標籤上指定之所有值、第一個 [或 ] 索引標籤上指定的所有值,或第二個 [或 ] 索引標籤上指定的所有值的任何記錄,依此類推。
若要移除篩選並顯示所有記錄,請再次按一下 [切換篩選]。
若要依表單修改篩選,請按一下 [進階],然後再次按一下 [ 依表單篩選 ]。 顯示目前的篩選準則集。
進階篩選
有時候,您可能想要套用進階篩選類型的篩選,而且您可能需要自行撰寫篩選準則。 例如,尋找包含過去七天或過去六個月內發生日期的記錄。
使用進階篩選需要撰寫運算式。 運算式類似於 Excel 中的公式,也類似於您在設計查詢時指定的準則。
您可以使用進階篩選的其中一個範例是,尋找過去七天內生日發生的連絡人名稱。 套用進階篩選之後,您可以進一步將結果限制為國家/地區為美國的篩選條件。
套用進階篩選條件
在下列任一檢視中開啟資料表、查詢、表單或報表:[資料工作表]、[表單]、[報表] 或 [版面配置]。
請確定尚未篩選檢視。 在記錄導覽列上,確認 [無篩選] 顯示為暗灰色 () 無法使用。 如果看不到記錄瀏覽列,請按一下 [常用] 索引標籤上 [排序 & 篩選] 群組中的 [進階],然後按一下 [清除所有篩選 ( 如果 [清除所有篩選] 顯示為暗灰色,表示沒有任何篩選生效) 。
在 [常用 ] 索引標籤的 [ 排序 & 篩選] 群組中,按一下 [進階 ],然後按一下捷徑功能表上的 [ 進階篩選/排序 ]。
將要篩選的欄位新增至格線。
在每個欄位的 [準則 ] 列中,指定準則。 準則會以集合的形式套用,且只會顯示符合 [準則 ] 資料列中所有準則的記錄。 若要指定單一欄位的替代準則,請在 [ 準則 ] 列中輸入第一個準則,並在 [或 ] 列中輸入第二個準則,依此類推。
秘訣
- [ Or ] 資料列中的整組準則會套用為 [準則 ] 資料列中這組準則的替代選項。 您想要套用至兩組準則的任何準則都必須同時輸入於 [準則 ] 列和 [Or ] 列。 按一下 [切換篩選] 以查看篩選的資料列。
- 學習撰寫準則的一個好方法是套用通用篩選或基於選擇的篩選,以產生接近您要尋找的結果。 接著,將篩選套用至檢視後,顯示 [ 篩選物件 ] 索引標籤
[篩選文件] 索引標籤上的特殊命令
您可以在 [篩選 文件] 索引標籤上使用兩個特殊命令。當您以滑鼠右鍵按一下索引標籤上設計格線上方的任何位置時,快顯功能表上會出現 [ 從查詢載入 ] 和 [另存為查詢 ] 命令。
[ 從查詢載入] 命令會將所選查詢的設計載入格線。 這可讓您使用查詢準則做為篩選準則。
[ 另存為查詢 ] 命令可讓您將篩選設定儲存為新查詢。
移除或重新套用篩選
若要切換到未篩選的資料檢視,請按一下記錄導覽器列上的 [已篩選 ] 以還原至完整檢視,以移除篩選。
移除目前篩選時,篩選會暫時從檢視的所有欄位中移除。 例如,如果您先在 [CountryRegion] 和 [BirthDate] 欄位上套用篩選,然後再移除篩選,就會再次看到所有記錄。
若要重新套用最新的篩選,請按一下記錄導覽列上的 [未篩選 ]。
清除篩選
當您不再需要篩選時,清除篩選。 清除篩選會將它從檢視中刪除,而且您無法再按一下狀態列上的 [ 未篩選 ] 來重新套用。 您可以清除單一欄位中的單一篩選條件,或清除檢視中所有欄位中的所有篩選條件。
- 若要從單一欄位清除單一篩選條件: 以滑鼠右鍵按一下篩選的欄或控制項,然後按一下 [從欄位名稱清除篩選]。
- 若要清除所有欄位中的所有篩選條件: 在 [常用] 索引標籤的 [排序 & 篩選] 群組中,按一下 [進階],然後按一下捷徑功能表上的 [清除所有篩選]。
儲存篩選
如果您要再次使用篩選,儲存篩選可能會很有用。 當您關閉資料表、查詢、表單或報表時生效的篩選設定,會自動與物件一起儲存,而且可供重新套用。 不過,根據預設,下次開啟物件時,不會自動套用篩選設定。
若要確保下次開啟資料表、查詢、表單或報表時會自動套用目前篩選,請從物件的屬性工作表將物件的 FilterOnLoad 屬性設為 Yes。 下次開啟物件時,會套用 FilterOnLoad 屬性。 每當您變更此設定時,都必須關閉物件並重新開啟,才能套用新設定。
注意
只有在物件載入時,才會套用 FilterOnLoad 屬性設定。 在 [設計檢視] 中為物件設定此屬性,然後切換到另一個檢視,將不會套用該設定。 您必須關閉並重新開啟物件,才能使 FilterOnLoad 屬性設定的變更生效。