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