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