篩選是一種只看到你想在 Access 資料庫中顯示的資料的實用方式。 您可以使用篩選器來顯示表單、報告、查詢或資料表中的特定紀錄,或僅列印報告、表格或查詢中的特定紀錄。 透過套用過濾器,你可以限制視圖中的資料,而不改變底層物件的設計。
本文內容
過濾器的實用性
由於套用篩選器後的視圖只包含你選擇的紀錄,其他資料會隱藏,直到你清除篩選器。
注意
資料表中的欄位,以及綁定到表達式的表單和報告中的控制項,不支援過濾。
過濾器有好幾種,其中一些很容易安裝和拆卸。 Access 包含一些常見的篩選器,這些過濾器內建於每個檢視中。 過濾指令的可用性取決於欄位的類型與值。
例如,若要查看特定月份生日者的紀錄,請點擊「出生日期」欄位,在「排序 & 篩選」群組的「首頁」標籤中點擊「篩選」,再在對話框中點擊「日期篩選」,最後選擇所需的日期期間。
1. 你可用的篩選條件取決於所選欄位的資料類型。
- 期間內的所有日期 過濾器忽略日期值中的日期與年份部分。
在這個篩選檢視中,你只會看到出生 日期 欄位中月份部分設為四月的紀錄。
1. 欄位標頭中的篩選圖示和記錄導覽列顯示目前檢視已在 BirthDate 欄位被過濾。
2. 在資料表檢視中,當你將滑鼠移到欄位標題上時,你會看到目前的篩選條件。
注意
當你對已經被篩選過的欄位套用篩選器時,之前的篩選器會自動移除。 雖然同一欄位一次只能啟用單一過濾器,但你可以為視圖中的每個欄位指定不同的過濾器。
例如,要查看住在英國且生日在四月的聯絡人姓名,你可以在 CountryRegion 欄位的聯絡人表中篩選,也可以在出生日期欄位中篩選。 當你在單一視圖中篩選多個欄位時,這些篩選器會透過 AND 運算子組合,如下所示:
CountryRegion = 英國及出生月份 日期 = 四月
要回復為未過濾視圖:移除篩選條件。 移除濾鏡會暫時從檢視中移除,讓你可以切回原本未過濾的檢視。
要在篩選與未篩選檢視間切換:在主頁& 排序篩選群組中,點擊切換篩選器。
要永久移除檢視中的濾鏡:清除該濾鏡。 想了解如何清除過濾器,請參閱 「清除過濾器」這一章節。
濾鏡設定會一直生效,直到你關閉物件,即使你切換到物件的其他視角。 換句話說,如果你在資料表檢視中篩選表單,即使切換到表單檢視或版面檢視,篩選設定仍會生效,直到你關閉表單為止。 如果你在套用篩選條件時儲存物件,下次打開物件時它就會顯示出來。 想了解如何儲存過濾器,請參閱本文中的 「儲存過濾器 」章節。
選擇並套用一種過濾器類型
你可以從多種現成型態篩選器中選擇資料型別。 這些篩選器可透過以下檢視表單指令使用:資料表、表單、報告與版面設計。 除了這些篩選器外,你還可以填寫一個名為「以表單篩選) 」的表單 (來篩選表單或資料表。
如果你想要更多彈性,且擅長寫表達式,可以使用 篩選文件標籤 中的選項自行建立篩選器。
可從以下幾種篩選器中選擇:
常見過濾器:針對特定值或多個值進行篩選。
選擇篩選:透過篩選資料表檢視,過濾表格中所有包含與所選值相符的列。
依表單篩選:在表單或資料表中的多個欄位篩選,或是尋找特定紀錄時。
進階篩選器:定義自訂篩選條件的篩選類型。
注意
如果你在任何檢視中都看不到篩選指令,表單或資料庫的設計者可能已經停用了篩選功能。 如需進一步協助,請聯絡設計師。
常見濾波器
除了 OLE 物件欄位及顯示計算值的欄位外,所有欄位類型皆提供共通的篩選條件。 可用的篩選器清單取決於所選欄位的資料型態與值。
右鍵點擊你想篩選的欄位。 若要在多個欄位或控制項上篩選,您必須分別選擇並篩選每個欄位或控制項,或使用進階篩選選項。 更多資訊請參閱本文中的 「依表單篩選 」及「 進階篩選 」章節。
例如,要查看出生日期欄位可用的篩選條件,在 「首頁 」標籤的 「排序 & 篩選器 」群組中,點擊「 篩選」。
1. 要篩選特定值,請使用核取方塊清單。 清單顯示目前欄位中所有的數值。
2. 要篩選出一系列數值,請點擊其中一個篩選器,並指定所需的數值。 例如,若要查看落在當前日期與年底之間的生日,點擊 「Between」,然後在 「Between 」對話框中指定適當的開始與結束日期。 要查看所有落在特定日期的生日,點擊該日期,所有落在該特定日期的生日都會顯示出來。
值得注意的是,日期欄位中的數值會影響特定型別篩選器的清單。 如果日期欄位中最近的日期值落在過去兩年內,你會看到更長且更詳細的篩選清單。 如果欄位中的日期都不超過兩年,你會看到較短的篩選清單。
注意
針對是/否、OLE 物件及附件欄位,沒有針對類型特定的篩選器。 長文字欄位或包含豐富文字的欄位,值清單無法使用。
使用共用過濾器
在以下任一檢視中開啟表格、查詢表單、表單或報告:Datasheet、表單、報告或版面。
確保視圖尚未被過濾。 在唱片選擇欄上,確認是否出現 未過濾 或調暗的 無濾鏡 圖示。
秘訣
要移除特定物件的所有過濾器,請在 「首頁 」標籤的「 排序 & 篩選器 」群組中,點擊 「進階」,然後點擊 「清除所有過濾器」。
在欄位或控制項中,對應你想篩選的第一個欄位,然後在 「首頁 」分頁的 「排序 & 篩選器 」群組中點選 「篩選」。
要套用常見篩選器:指向 文字 (或 數字 或 日期) 篩選器,然後點選你想要的篩選器。 像是 Equals 和 Between 這類篩選器會提示你輸入必要的數值。
秘訣
某些字元,如 *、% 和 ?,在篩選文字框中指定時具有特殊意義。 例如,* 代表一串字元,因此字串 a* 會匹配任何以 a 開頭的字串,而不僅僅是字面上的 字串 a*。 若忽略字元的特殊意義,請用方括號括號([])包圍,如下:a[*]。 使用 ANSI-89 標準的資料庫會將 *、?、[, ]、, -, 和 # 視為特殊字元。 使用 ANSI-92 標準的資料庫會將 %、_、[, ]、^ 和 - 視為特殊字元。 你可以在 Access 中使用任一標準,但不能混合使用這兩個標準,例如在特定表達式中 (?a*) ..
要根據欄位值套用篩選器:清除你不想篩選的值旁的勾選框,然後點擊 確定。
要篩選長列表中的一個或少數幾個值,先清除 (「全部選擇) 」勾選框,然後選擇你想要的值。
要篩選空值 (空值表示文字、數字和日期欄位中沒有資料) :在勾選框清單中,清除 (「全部選擇) 」勾選框,然後勾選「 (空白 」旁的勾選框) 。
選擇篩選
要查看表格中所有包含與該列值相符的列,您可以透過選擇特定值,然後點擊 Selection 指令快速篩選資料表檢視。 下拉選單會顯示可用的篩選選項。 這些選項會依所選值的資料類型而有所不同。 另一種進入選擇篩選選項的方法是右鍵點擊特定儲存格。
例如,如果在「出生日期」欄位、 首 頁標籤的 「排序 & 篩選器 」群組中選取了 2/21/1967, 點選選取 以顯示篩選指令,然後再選擇篩選選項。
指令清單也取決於選取了多少值。 例如,如果你只選擇值中的部分字元,你會看到不同的指令清單,取決於你選擇的欄位區域。
1. 用欄位值的開頭來篩選......
2. ...場值的中間......
3. ...或欄位值的末尾。
注意
多值欄位無法對部分選擇進行過濾。 選擇指令無法用於附件。
要移除篩選器,請在 首頁 分頁的排序 & 篩選器 群組中,點選切換 篩選器,或點選 進階 並點 選清除所有篩選器。
根據選擇套用濾波器
- 在以下任一檢視中開啟表格、查詢表單、表單或報告:Datasheet、表單、報告或版面。
- 確保視圖尚未被過濾。 在唱片選擇欄上,確認是否出現 未過濾 或調暗的 無濾鏡 圖示。
- 移動到包含你想用作篩選器一部分的值的紀錄,然後在資料表檢視中點選欄位 (,) 表單、報表或版面檢視) 中的控制 (。
根據部分選擇進行篩選;在 「主頁 」標籤的「 排序 & 篩選器 」群組中選擇你想要的角色,點選 選擇,然後點選你想套用的篩選器。
依形式篩選
這個篩選器在你想篩選表單或資料表中的多個欄位,或是尋找特定紀錄時非常有用。 Access 會建立一個與原始表格或資料表相似的空白表單或資料表,然後允許你填補任意數量的欄位。 完成後,Access 會找到包含指定值的紀錄。
注意
你無法用表單篩選器來指定多值欄位的欄位值,也不能指定長文字、超連結、是/否或 OLE 物件資料型別的欄位,但你可以在紀錄集中指定其他欄位的值。
例如,如果你想找到所有聯絡人職稱為 業主且該人位於 波特蘭 或 尤金的客戶紀錄,請開啟客戶資料表或表單,並在 首頁 分頁的 排序 & 篩選群組 中,點選 進階,然後點 選表單篩選。
輸入第一組數值,然後點選資料表或表單底部的 Or 標籤,再輸入下一組數值。 請注意,如果你想讓欄位值獨立於其他欄位值作為過濾器運作,必須在 「尋找」 標籤和每個 Or 標籤中輸入該值。每個 Or 分頁代表一組不同的濾波器值。
要只看到符合你輸入的紀錄: 在 「主頁 」標籤,在 「排序 & 篩選器 」群組中,點擊切換 篩選器。
請填寫表格來套用篩選
在資料表檢視中開啟表格或查詢,或在表單檢視中開啟表單。
確保視圖沒有被過濾過。 在唱片選擇欄上,確認是否出現 未過濾 或調暗的 無濾鏡 圖示。
在 首頁 分頁,在 排序 & 篩選器 群組中,點選 進階,然後在快捷選單點選單中按 表單篩選 。
根據你是在資料表檢視或表單檢視中工作,請執行以下其中一項:
資料表視圖: 點擊你想篩選的欄位的第一列,點擊出現的箭頭,然後選擇一個值。 若要新增額外數值,只需點擊資料表底部的 Or 標籤,然後選擇另一個數值即可。
表單檢視:點擊控制鍵中出現的箭頭,選擇要篩選的值。 若要新增更多值,請點擊表單底部的 Or 標籤,並選擇其他值。秘訣
你無法透過形式篩選器指定多值欄位的欄位值,但你可以在紀錄集中指定非多值欄位的值。
- 若要指定欄位的可能值清單,請使用 or 運算子。 例如,在城市欄位中指定 「Portland」或「Oregon」 以篩選包含任一值的紀錄。
- 要根據控制項的狀態篩選,例如勾選框或按鈕,點擊控制項使其處於你想要的狀態。 要將控制點恢復到中立位置,避免被用作過濾紀錄的標準,請確保它不可用 (且顯示) 暗。
- 要過濾 (缺少) 、非空、空白 (空值或「) 」或非空白值的紀錄,欄位中應輸入 Is Null、Is Not Null、“” 或 Not “”。
例如,如果你想指定兩組替代條件,只看到 CountryRegion 值為美國且生日在四月的聯絡人名稱,你可以選擇以下任一:
- 要取得所有符合多組標準的紀錄,請輸入第一組標準,點擊 Or 標籤,然後輸入下一組標準。 請注意,如果你想讓欄位值獨立於其他欄位值作為過濾器運作,必須在 「尋找」 標籤和每個 Or 標籤中輸入該值。換句話說, Look for 標籤和每個 Or 標籤代表一組不同的篩選值。
- 另外要注意,每次你在 Or 標籤中新增欄位準則時,Access 會建立另一個 Or 標籤。這讓你能指定幾個「或」標準。 過濾器回傳包含「 尋找」 標籤中所有值的紀錄,或包含第一個 Or 標籤中所有值,或第二個 Or 標籤中所有值,依此類推。
要移除篩選並顯示所有紀錄,請再次點擊切換篩選。
若要修改表單篩選,請點選 「進階」,再點選「 依表單篩選 」。 目前的過濾條件集會顯示出來。
進階篩選
有時候,你可能想套用進階濾波器類型,並且可能得自己寫濾波條件。 例如,尋找包含過去七天或過去六個月內日期的紀錄。
使用進階過濾器需要寫入表達式。 表達式類似於 Excel 中的公式,以及你在設計查詢時指定的條件。
你可以使用進階篩選器,例如找出過去七天內生日的聯絡人姓名。 套用進階篩選後,你可以進一步限制結果只給美國的國家/地區。
套用進階濾鏡
在以下任一檢視中開啟表格、查詢表單、表單或報告:Datasheet、表單、報告或版面。
確保視圖尚未被過濾。 在記錄導航列中,確認 「無濾鏡 」顯示為暗 () 不可用。 如果記錄導覽列看不到,請在首頁& 排序篩選器群組中點選進階,然後點選清除所有篩選 (如果清除所有篩選器顯示調暗,表示) 沒有篩選器生效。
在 主頁 標籤的「 排序 & 篩選器 」群組中,點選 「進階 」,然後在捷徑選單點選「 進階篩選/排序 」。
把你想過濾的欄位加入格子。
在每個欄位的 Criteria 列中,指定一個準則。 這些標準會作為一組套用,且僅顯示符合條件列中所有條件的紀錄。 若要指定單一欄位的替代條件,請在 Criteria 列輸入第一個準則,或在 Or 列輸入第二個準則,依此類推。
秘訣
- Or 列的整組準則是作為 Criteria 列條件集合的替代方案。 任何你想同時套用這兩組標準的標準,都必須在 Criteria 列和 Or 列都輸入。 點擊切換 篩選 器即可查看篩選後的列。
- 學習撰寫準則的好方法是套用一個通用過濾器,或是基於選擇產生接近你想要結果的過濾器。 接著,當篩選器套用到檢視圖時,顯示 篩選 物件標籤
篩選文件標籤上的特殊指令
在 篩選 文件標籤中,有兩個特殊指令可供使用。當你在分頁設計格子上方任意地點右鍵點擊時,捷徑選單中會出現 「從查詢載入 」和 「另存為查詢 」指令。
「從查詢載入」指令會將所選查詢的設計載入網格中。 這讓你可以用查詢條件作為篩選條件。
「 另存為查詢 」指令可以讓你將篩選器設定存成新查詢。
移除或重新套用篩選
若要切換到未篩選的資料檢視,請點擊記錄導覽列上的 「篩選」 移除篩選,即可回復完整檢視。
當你移除目前的濾鏡時,這些濾鏡會暫時從視圖中所有欄位中移除。 例如,如果你先在 CountryRegion 和 BirthDate 欄位套用篩選器,然後移除篩選條件,你就能再次看到所有紀錄。
要重新套用最新的篩選器,請在紀錄導覽欄點擊 「未篩選 」。
清除篩選
當你不再需要過濾器時,就清理它。 清除篩選器會從檢視中刪除它,且你無法再透過狀態列上的「 未篩選」 重新套用。 你可以清除單一欄位的單一篩選條件,或是清除視圖中所有欄位的所有篩選條件。
- 要清除單一欄位中的單一篩選器:右鍵點擊篩選後的欄位或控制項,然後點擊 欄位名稱中的清除篩選器。
- 要清除所有欄位的篩選條件:在 「首頁 」標籤,排序 & 篩選器 群組,點選 「進階」,然後在捷徑選單點選「 清除所有篩選器 」。
儲存一個過濾器
如果你還會再用,儲存一個過濾器可能會很有用。 當你關閉資料表、查詢、表單或報表時生效的篩選設定會自動與物件一同儲存,並可重新套用。 不過預設情況下,當你下一次開啟物件時,過濾器設定不會自動套用。
為了確保當你下一次從物件屬性表中開啟資料表、查詢、表單或報告時,會自動套用目前的篩選條件,請將物件的 FilterOnLoad 屬性設為 「是」。 FilterOnLoad 屬性會在你下一次打開物件時套用。 每次更改這個設定時,你必須先關閉物件再重新開啟,才能套用新的設定。
注意
FilterOnLoad 屬性設定只會在物件載入時套用。 在設計檢視中為物件設定此屬性,然後切換到另一個檢視時,該設定不會被套用。 你必須關閉並重新開啟物件, FilterOnLoad 屬性設定的變更才會生效。