在 Access 中,您可以建立多值欄位,以保存多個值,最多 (100) 。 您也可以建立 [查閱] 欄位,以顯示繫結至另一個資料來源中值的使用者易記值。 當您查詢查閱或多值欄位時,有獨特的考量。 如需詳細資訊,請參閱 建立或刪除多值欄位 和 建立或刪除查閱欄位。
本文內容
檢視查詢中 Lookup 欄位的繫結值
依預設,查閱欄位的顯示值會自動顯示在查詢資料工作表檢視中。 當您建立查詢時,您可以覆寫此行為,以便改為顯示繫結值。 在此範例中,假設您想要在「查閱」新英格蘭州名稱的 Headquarters 資料表中查看 Lookup 欄位的繫結值。
-
在 [設計檢視] 中開啟查詢。
-
在此範例中,新增 Headquarters 和 NewEngland 資料表。
兩個表格應該連接起來。
如需詳細資訊,請參閱 聯結資料表和查詢。
-
將 a 欄位與 [查閱] 欄位一起拖曳至查詢設計網格。 在此範例中,新增 City 和 NEState 欄位。
-
按一下 [查閱] 欄位,然後在 [ 設計 ] 索引標籤的 [顯示/隱藏 ] 群組中,按一下 [屬性表]。 在此範例中,使用 NEState 欄位。
-
在屬性表中,選取 [查閱] 索引標籤,然後在 [顯示控制項] 屬性中,選取 [文字方塊]。
結果 現在,當您在資料工作表檢視中檢視查詢時,您會看到顯示值的對應繫結值。
在查詢中使用查閱欄位的顯示值
當您建立「查閱」欄位時,會在「繫結」值與「顯示」值之間建立聯結。 雖然您無法直接在查詢中使用 Display 值,但您可以使用其他資料來源中的對應值。 在此範例中,假設您要在查詢中使用 Headquarters 資料表中 [查閱] 欄位 NEState 的顯示值作為準則。
-
在 [設計檢視] 中開啟查詢。
-
在此範例中,新增 Headquarters 和 NewEngland 資料表。
兩個表格應該連接起來。 如需詳細資訊,請參閱 聯結資料表和查詢。
-
將您要使用的欄位拖曳至查詢方格。 在此範例中,將 City 從 Headquarters 資料表拖曳至第一欄,將 NEState 從 Headquarters 資料表拖曳至第二欄,並將 StateName 從 NewEngland 資料表拖曳至第三欄。
-
清除查詢方格中 StateName 的 [顯示] 核取方塊。
-
在查詢方格的 [StateName] 底下,在 [準則] 資料列中輸入 Vermont。
查詢準則是以 StateName 資料行為基礎,當然與 [顯示] 值 NEState 相同,但不會顯示在 [資料工作表檢視] 中。
-
在 [設計] 索引標籤上的 [結果] 群組中,按一下 [執行]。
結果 僅顯示包含 佛蒙特州 的列。
在查詢中使用多值欄位
當您在查詢中顯示多值欄位時,您可以顯示完整的多值欄位,其中包含一列上以逗號分隔的所有值,或平面化資料,每個值都有個別的列。 例如,假設您有一個 [問題] 表格,其中包含每個問題的 [標題] 欄位,以及一個 [指派給 ] 多值欄位,用於將問題指派給人員。
在一列中顯示多值欄位中的所有值
-
在 [設計檢視] 中開啟查詢。
-
在此範例中,新增 Issues 資料表。
-
將欄位拖曳至查詢設計方格。 在此範例中,拖曳 [標題] 欄位和 [指派至 ] 多值欄位。
-
在 [設計] 索引標籤上的 [結果] 群組中,按一下 [執行]。
結果 如您所料,一欄會顯示 [標題] 欄位,而第二欄會顯示 [指派至 ] 多值欄位:
在平面化檢視) (一列顯示多值欄位的每個值
-
在 [設計檢視] 中開啟查詢。
-
在此範例中,新增 Issues 資料表。
-
將欄位 U 拖曳至查詢方格。 在此範例中,拖曳 [標題] 欄位和 [AssignedTo.Value ] 多值欄位。
格式 <Fieldname>。Value,將 Value 屬性附加為字串 。Value新增至AssignedTo 欄位。
-
在 [設計] 索引標籤上的 [結果] 群組中,按一下 [執行]。
結果 資料會平面化,以便重複 [標題] 欄位,且 [指派給 ] 多值欄位中的每個值都會顯示在對應的列中:
將準則新增至查詢中的多值欄位
在查詢方格中不同方格欄中放置相同的準則,會對查詢的結果產生重大影響。
新增準則,以一列顯示多值欄位中的所有值
Access 會先建立結果集,然後新增準則。
-
在 [設計檢視] 中開啟查詢。
-
在此範例中,新增 Issues 資料表。
-
將欄位 U 拖曳至查詢方格。 在此範例中,拖曳 [標題] 欄位、[ AssignedTo ] 多值欄位和 [AssignedTo.Value ] 多值欄位。
-
清除查詢方格中 AssignedTo.Value 的 [顯示] 核取方塊。
-
在查詢方格的 [AssignedTo.Value] 底下的 [準則] 資料列中,輸入 “NOT ”David Hamilton“。
查看 SQL 檢視會很有幫助:
SELECT Title, AssignedTo FROM Issues WHERE NOT AssignedTo.Value = "David Hamilton";
-
在 [設計] 索引標籤上的 [結果] 群組中,按一下 [執行]。
結果 未指派給 David Hamilton 的三個問題會以預設值顯示。
新增準則,以一列顯示多值欄位中的每個值, (平面檢視)
Access 會先建立平面化的結果集,然後新增準則。
-
在 [設計檢視] 中開啟查詢。
-
在此範例中,新增 Issues 資料表。
-
將欄位 U 拖曳至查詢方格。 在此範例中,拖曳 [標題] 欄位和 [AssignedTo.Value ] 多值欄位。
-
在查詢方格的 [AssignedTo.Value] 底下的 [準則] 資料列中,輸入 NOT “David Hamilton”。
查看 SQL 檢視會很有幫助:
SELECT Issues.Title, AssignedTo.Value FROM Issues WHERE NOT AssignedTo.Value = "David Hamilton"
-
在 [設計] 索引標籤上的 [結果] 群組中,按一下 [執行]。
結果 每個未指派給 David Hamilton 的問題都會以平面化值顯示。
將多個準則新增至查詢中的多值欄位
有時,您需要在多值欄位內搜尋多個值的相符專案。 例如,假設您想要查看 「Kelly Rollin」 和 「Lisa Miller」 都屬於 [指派給 ] 欄位中值的問題
-
在 [設計檢視] 中開啟查詢。
-
在此範例中,新增 Issues 資料表。
-
將欄位 U 拖曳至查詢方格。 在此範例中,拖曳 [標題] 欄位和 [指派至 ] 多值欄位。
-
在查詢方格的 [指派給] 底下的 [準則] 資料列中,輸入 “Kelly Rollin” 和 “Lisa Miller”。
-
在 [設計] 索引標籤上的 [結果] 群組中,按一下 [執行]。
結果 分配給“Kelly Rollin”和“Lisa Miller”的這兩個問題被顯示出來。
將查詢中的多值欄位分組和計算
若要對儲存在多值欄位中的值執行計算、分組和排序,請使用 <欄位名稱>。值欄位。 如需群組查詢的詳細資訊,請參閱 使用查詢來計算資料。
計算指派給每個人的問題數目
-
在 [設計檢視] 中開啟查詢。
-
在此範例中,新增 Issues 資料表。
-
將您要使用的欄位拖曳至查詢方格。 在此範例中,將 AssignedTo.Value 拖曳至第一欄,並將 Title 拖曳至第二欄。
-
在 [設計] 索引標籤上,按一下 [顯示/隱藏] 群組中的 [合計]。
[總計] 資料列會出現在查詢方格中。 預設情況下,分組依據會顯示在查詢中每個欄位下的 [總計] 儲存格中。
-
在查詢方格的 [標題] 底下,在 [ 總計 ] 資料列中,按一下 [計數]。
-
在 [設計] 索引標籤上的 [結果] 群組中,按一下 [執行]。
結果 每人指派的問題計數會顯示在平面檢視中。
計算分配給每個問題的人數
-
在 [設計檢視] 中開啟查詢。
-
在此範例中,新增 Issues 資料表。
-
將您要使用的欄位拖曳至查詢方格。 在此範例中,將 Title 拖曳至第一欄,並將 AssignedTo 拖曳至第二欄。
-
在 [設計] 索引標籤上,按一下 [顯示/隱藏] 群組中的 [合計]。
[總計] 資料列會出現在查詢方格中。 依預設,「分組依據」會顯示在查詢中「標題」欄位下的「總計」儲存格中。 運算式預設會顯示在 [指派至] 欄位下的 [總計] 儲存格中,因為您無法直接對多值欄位執行 [分組依據] 作業,只能> <[欄位名稱]。值欄位。
-
在查詢方格的 [指派給] 底下,在 [ 總計 ] 資料列中,按一下 [計數]。
-
在 [設計] 索引標籤上的 [結果] 群組中,按一下 [執行]。
結果 每個問題指派的人數會顯示在平面檢視中。
將附加查詢與多值欄位搭配使用
您可以使用附加查詢,將單一值插入多值欄位。 例如,假設您要將「Tom Michaels」新增至「問題」資料表中的「指派至」多值欄位。
附註 這是唯一適用於多值欄位的附加查詢類型。
-
在 [設計檢視] 中開啟查詢。
-
新增 [問題] 表格。
-
在「設計」標籤上,按一下「附加」。
-
在 [ 附加 ] 對話方塊中,選取 [問題],然後按一下 [ 確定]。
-
在 [設計方格] 的 [ 附加至 ] 資料列中,選取 [AssignedTo.Value]。
-
在「設計格線」的 「欄位」 列中,輸入「Tom Michaels」。
-
若要將附加作業限制為特定問題,請將欄位新增至 [設計] 方格,例如 [標題],從 [附加至] 資料列中移除 [標題],然後輸入諸如「問題 3」之類的準則。
-
在 [設計] 索引標籤上的 [結果] 群組中,按一下 [執行]。
Access 可能會要求您確認是否附加所選列。 按一下「 是 」以插入資料列,或按一下「 否 」以取消。
結果 「Tom Michaels」現在已新增至問題 3 的 AssignedTo 欄位。
重要 您無法使用參照包含多值欄位之資料表的附加查詢。 例如,下列查詢無效:
INSERT INTO [NewIssues] ( ID, Title, AssignedTo ) SELECT Issues.ID, Issues.Title, Issues.AssignedTo FROM Issues;
將更新查詢與多值欄位搭配使用
您可以使用「更新」查詢,將多值欄位中的單一值變更為另一個值。 在此範例中,您想要更新 AssignedTo 多值欄位,以將 “Kelly Rollin” 取代為 “Lisa Miller”。
-
在 [設計檢視] 中開啟查詢。
-
新增 [問題] 表格。
-
在「設計」頁籤上,按一下「更新」。
-
將 AssignedTo.Value 拖曳至 [查詢] 方格。
-
在 「更新為 」列中,輸入「Lisa Miller」。
-
在 「準則」 列中,輸入「Kelly Rollin」。
-
在 [設計] 索引標籤上的 [結果] 群組中,按一下 [執行]。
Access 可能會要求您確認是否附加所選列。 按一下「 是 」以插入資料列,或按一下「 否 」以取消。
結果 Lisa Miller 取代了所有對應問題的 AssignedTo 欄位中的 Kelly Rollin。
將 Delete 查詢與多值欄位搭配使用
當您使用包含多值欄位的資料表時,您可以使用刪除查詢來刪除多值欄位中包含特定值的記錄,或從資料表中所有記錄中的多值欄位中刪除特定值。 在下列範例中,假設您要從「問題」表格中刪除「David Hamilton」。
重要 當您使用刪除查詢刪除包含資料的多值欄位時,您會永久遺失該資料,無法復原刪除。 因此,您應該先備份資料庫,再刪除任何資料表欄位或其他資料庫元件。
從所有記錄的多值欄位中刪除特定值
-
在 [建立] 索引標籤的 [查詢] 群組中,按一下 [查詢設計]。
-
新增 [問題] 表格。
-
在 [設計檢視] 中開啟查詢。
-
在 [設計 ] 索引標籤上,按一下 [刪除]。
-
在 「準則」 列中,輸入「David Hamilton」。
-
在 [設計] 索引標籤上的 [結果] 群組中,按一下 [執行]。
Access 可能會要求您確認是否要刪除記錄。 按一下 「是 」以刪除記錄,或按一下 「否 」以取消。
結果 大衛·漢密爾頓因所有相應問題而被刪除。
刪除在多值欄位中包含特定值的記錄
-
在 [建立] 索引標籤的 [查詢] 群組中,按一下 [查詢設計]。
-
新增 [問題] 表格。
-
在 [設計檢視] 中開啟查詢。
-
在 [設計] 索引標籤上,按一下 [刪除群組]。
-
在 [ 設計 ] 索引標籤的 [結果] 群組中,按一下 [檢視 ] 底下的箭號,然後按一下 [SQL 檢視]。
-
輸入下列 SQL 陳述式:
DELETE FROM Issues WHERE (((Issues.AssignedTo.Value)="David Hamilton"));
附註 在此情況下,您只能使用 SQL 陳述式,而不能使用「設計」網格。 如果您切換至 [設計方格] 檢視,Access 會在 DELETE 陳述式之後新增星號 (*) ,您應該從 SQL 檢視中移除該星號。
-
在 [設計] 索引標籤上的 [結果] 群組中,按一下 [執行]。
Access 可能會要求您確認是否要刪除記錄。 按一下 「是 」以刪除記錄,或按一下 「否 」以取消。
結果 指派 David Hamilton 的所有問題都會被移除。