在 Access 中,您可以建立一個多重值欄位,該字段最多 (100) 。 您也可以建立 [查閱] 字段,該欄位會顯示系結至另一個數據源中某個值的使用者易記值。 當您查詢查閱或多重值欄位時,會有唯一的考慮。 如需詳細資訊,請參閱 Create 或刪除多重值欄位,以及 Create 或刪除查閱欄位。
本文內容
檢視查詢中查閱欄位的系結值
查閱欄位的顯示值預設會自動顯示在查詢資料工作表檢視中。 當您建立查詢時,您可以覆寫此行為,以便改為顯示系結值。 在此範例中,假設您想要在總部數據表中「查閱」新英格蘭州名的查閱欄位系結值。
-
在 [ 設計檢視] 中開啟查詢。
-
在此範例中,新增 總部 和 NewEngland 數據表。
這兩個數據表應該已聯結。
如需詳細資訊,請參閱 聯結數據表和查詢。
-
將字段與 [查閱] 字段一起拖曳到查詢設計網格線。 在此範例中,新增 City 和 NEState 欄 位。
-
按兩下 [查閱] 字段,然後在 [ 設計] 索引 標籤上,按兩下 [ 顯示/隱藏 ] 群組中的 [ 屬性表]。 在此範例中,使用 NEState欄位 。
-
在屬性表中,選取 [查閱] 索引標籤 ,然後在 [ 顯示控件 ] 屬性中選取 [文本框]。
結果 現在,當您在 [數據工作表檢視] 中檢視查詢時,會看到顯示值的對應系結值。
在查詢中使用查閱欄位的顯示值
當您建立 [查閱] 字段時,會在 [系結] 值和 [顯示] 值之間建立聯結。 雖然您無法直接在查詢中使用 [顯示] 值,但您可以使用來自其他數據源的對應值。 在此範例中,假設您想要在查詢的 [總部] 資料表中使用 [查閱] 欄位 NEState 的顯示值做為準則。
-
在 [ 設計檢視] 中開啟查詢。
-
在此範例中,新增 總部 和 NewEngland 數據表。
這兩個數據表應該已聯結。 如需詳細資訊,請參閱 聯結數據表和查詢。
-
將您要使用的欄位拖曳到查詢網格線。 在此範例中,將 [城市 ] 從 [總部] 數據表拖曳到第一個數據行,將 NEState 從 [總部] 數據表拖曳到第二個數據行,將 [StateName ] 從 NewEngland 數據表拖曳到第三個數據行。
-
清除查詢格線中 [狀態名稱] 的 [顯示] 複選框。
-
在查詢網格線的 [StateName] 底下,於 [準則] 列中輸入 [ 複位]。
查詢條件是以 StateName 數據行為基礎,其值當然與 Display 值 NEState 相同,但不會顯示在 [數據工作表檢視] 中。
-
在 [設計] 索引標籤上的 [結果] 群組中,按一下 [執行]。
結果 只會顯示包含 [文體] 的數據列。
在查詢中使用多重值欄位
當您在查詢中顯示多重值欄位時,您可以顯示完整的多重值欄位,其中包含以逗號在一列中以逗號分隔的所有值,或是每個值有個別列的平面數據。 例如,假設您有一個 [問題 ] 數據表,其中包含每個問題的 [標題 ] 字段,以及一個 AssignedTo 多重值字段,用來將問題指派給人員。
一列顯示多重值欄位中的所有值
-
在 [ 設計檢視] 中開啟查詢。
-
在此範例中,新增 [問題] 數據表。
-
將欄位拖曳到查詢設計網格線。 在此範例中,拖曳 [標題] 字 段和 AssignedTo 多重值字段。
-
在 [設計] 索引標籤上的 [結果] 群組中,按一下 [執行]。
結果 如您所預期,一欄會顯示 [ 標題] 欄位 ,而第二欄會顯示 AssignedTo 多重值欄位:
在扁平化檢視 (一列中顯示多重值欄位的每個值)
-
在 [ 設計檢視] 中開啟查詢。
-
在此範例中,新增 [問題] 數據表。
-
將欄位拖曳到查詢網格線。 在此範例中,拖曳 [標題] 字 段和 AssignedTo.Value 多重值字段。
這是 [功能變數名稱]> <格式。值,將 Value 屬性附加為字串 。AssignedTo欄 位的值。
-
在 [設計] 索引標籤上的 [結果] 群組中,按一下 [執行]。
結果 數據會平面化,如此一來, 標題 欄位就會重複,而 AssignedTo 多重值欄位中的每個值都會顯示在對應欄中:
將準則新增至查詢中的多重值欄位
相同準則在查詢網格線中放置在不同網格線欄中,會對查詢的結果產生重大影響。
新增準則,以一列顯示多重值欄位中的所有值
Access 會先建立結果集,然後再新增準則。
-
在 [ 設計檢視] 中開啟查詢。
-
在此範例中,新增 [問題] 數據表。
-
將欄位拖曳到查詢網格線。 在此範例中,拖曳 [標題] 字 段、 [AssignedTo multivalued] 字段和 AssignedTo.Value 多重值字段。
-
清除查詢網格線中 AssignedTo.Value 的 [顯示] 複選框。
-
在查詢網格線的 AssignedTo.Value 底下,於 [ 準則 ] 列中,輸入 “NOT ”David 出門漢密符“。
檢視 SQL 檢視很有説明:
SELECT Title, AssignedTo FROM Issues WHERE NOT AssignedTo.Value = “David Hamilton”;
-
在 [設計] 索引標籤上的 [結果] 群組中,按一下 [執行]。
結果 未指派給 David 漢里漢的三個問題會以預設值顯示。
新增準則,將多重值字段中的每一個值顯示在平面檢視 (一列)
Access 會先建立扁平化的結果集,然後新增準則。
-
在 [ 設計檢視] 中開啟查詢。
-
在此範例中,新增 [問題] 數據表。
-
將欄位拖曳到查詢網格線。 在此範例中,拖曳 [標題] 字 段和 AssignedTo.Value 多重值字段。
-
在查詢網格線的 AssignedTo.Value 底下,於 [ 準則 ] 列中輸入 NOT “David 漢密漢”。
檢視 SQL 檢視很有説明:
SELECT Issues.Title, AssignedTo.Value FROM Issues WHERE NOT AssignedTo.Value = “David Hamilton”
-
在 [設計] 索引標籤上的 [結果] 群組中,按一下 [執行]。
結果 未指派給 David 漢密頓的每個問題都會以扁平化的值顯示。
新增多個準則至查詢中的多重值欄位
有時候您需要在多重值欄位內的多個值上搜尋相符專案。 例如,假設您想要看到“Kelly Rollin” 和 “Lisa Miller” 都屬於 AssignedTo 字段中的值的問題
-
在 [ 設計檢視] 中開啟查詢。
-
在此範例中,新增 [問題] 數據表。
-
將欄位拖曳到查詢網格線。 在此範例中,拖曳 [標題] 字 段和 AssignedTo 多重值字段。
-
在查詢網格線的 AssignedTo 底下,在 [ 準則 ] 列中,輸入 “Kelly Rollin” AND “Lisa Miller”。
-
在 [設計] 索引標籤上的 [結果] 群組中,按一下 [執行]。
結果 系統會顯示指派給“Kelly Rollin” 和 “Lisa Miller” 的兩個問題。
在查詢中分組及計算多重值欄位
若要執行多重值欄位中所儲存值的計算、分組及排序,請使用 <Fieldname>。值欄位。 如需群組查詢的詳細資訊,請參閱 使用查詢計算數據數。
若要計算指派給每個人的問題數目
-
在 [ 設計檢視] 中開啟查詢。
-
在此範例中,新增 [問題] 數據表。
-
將您要使用的欄位拖曳到查詢網格線。 在此範例中,將 AssignedTo.Value 拖曳到第一欄,將 [標題 ] 拖曳到第二欄。
-
在 [設計] 索引標籤上,按一下 [顯示/隱藏] 群組中的 [合計]。
[ 合計 ] 列會出現在查詢網格線中。 依預設,[群組依據] 會出現在查詢中每個欄位下的 [合計] 儲存格中。
-
在查詢網格線的 [ 標題] 底下,按兩下 [ 合計 ] 列中的 [ 計數]。
-
在 [設計] 索引標籤上的 [結果] 群組中,按一下 [執行]。
結果 每個人指派的問題計數會以扁平化的檢視顯示。
計算每個問題獲指派的人數
-
在 [ 設計檢視] 中開啟查詢。
-
在此範例中,新增 [問題] 數據表。
-
將您要使用的欄位拖曳到查詢網格線。 在此範例中,將 [標題 ] 拖曳到第一欄,然後將 AssignedTo 拖曳到第二欄。
-
在 [設計] 索引標籤上,按一下 [顯示/隱藏] 群組中的 [合計]。
[ 合計 ] 列會出現在查詢網格線中。 [群組依據 ] 預設會出現在查詢中 [標題] 字段下的 [ 合計 ] 單元格中。 表達式預設會顯示在 AssignedTo 欄位底下的 [合計] 儲存格中,因為您無法直接在多重值欄位上執行 [群組依據] 作業,只有 <的 Fieldname>。值欄位。
-
在查詢網格線的 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;
搭配多重值欄位使用更新查詢
您可以使用 [更新] 查詢,將多重值欄位中的單一值變更為另一個值。 在此範例中,您想要更新 AssignedTo 多重值欄位,以 “Lisa Miller” 取代 “Kelly Rollin”。
-
在 [ 設計檢視] 中開啟查詢。
-
新增 [問題] 數據表。
-
在 [ 設計] 索引 標籤上,按兩下 [ 更新]。
-
將 AssignedTo.Value 拖曳到查詢網格線。
-
在 [ 更新至] 列中,輸入 “Lisa Miller”。
-
在 [ 準則] 列 中,輸入 “Kelly Rollin”。
-
在 [設計] 索引標籤上的 [結果] 群組中,按一下 [執行]。
Access 可能會要求您確認是否要附加選取的列。 按兩下 [是 ] 插入列,或按兩下 [ 否 ] 取消。
結果 Lisa Miller 會在 AssignedTo 欄位中針對所有對應問題取代 Kelly Rollin。
搭配多重值欄位使用Delete查詢
當您使用包含多重值欄位的數據表時,您可以使用刪除查詢刪除多重值欄位中包含特定值的記錄,或從資料表中所有記錄中的多重值欄位刪除特定值。 在下列範例中,假設您要從 [問題] 資料表刪除 「David Tony」。
重要 當您使用刪除查詢刪除包含資料的多重值欄位時,您會永久遺失該資料,而無法復原刪除。 因此,您應該先備份資料庫,再刪除任何資料表欄位或其他資料庫元件。
從所有記錄中的多重值欄位刪除特定值
-
在 [建立] 索引標籤的 [查詢] 群組中,按一下 [查詢設計]。
-
新增 [問題] 數據表。
-
在 [ 設計檢視] 中開啟查詢。
-
在 [ 設計] 索引 標籤上,按兩下 [ 刪除]。
-
在 [ 準則] 列中,輸入 「David 漢密於」。
-
在 [設計] 索引標籤上的 [結果] 群組中,按一下 [執行]。
Access 可能會要求您確認是否要刪除記錄。 按兩下 [是 ] 刪除記錄,或按兩下 [ 否 ] 取消。
結果 David 漢密西因所有對應問題而遭移除。
刪除多重值欄位中包含特定值的記錄
-
在 [建立] 索引標籤的 [查詢] 群組中,按一下 [查詢設計]。
-
新增 [問題] 數據表。
-
在 [ 設計檢視] 中開啟查詢。
-
在 [ 設計] 索引 標籤上,按兩下 [ 刪除 群組]。
-
在 [ 設計] 索引 標籤的 [ 結果 ] 群組中,按兩下 [ 檢視 ] 底下的箭號,然後按兩下 [SQL 檢視]。
-
輸入下列 SQL 語句:
DELETE FROM Issues WHERE (((Issues.AssignedTo.Value)="David Hamilton"));
附註 在此情況下,您只能使用 SQL 語句,而不能使用設計網格線。 如果您切換到 [設計網格線] 檢視,Access 會在 DELETE 語句之後新增星號 (*) ,您應該從 SQL 檢視中移除。
-
在 [設計] 索引標籤上的 [結果] 群組中,按一下 [執行]。
Access 可能會要求您確認是否要刪除記錄。 按兩下 [是 ] 刪除記錄,或按兩下 [ 否 ] 取消。
結果 系統會移除指派 David 漢密思的所有問題。