在 Access 中,你可以建立一個多值欄位,包含多個值 (最多 100) 。 你也可以建立一個查詢欄位,顯示綁定到其他資料來源值的使用者友善值。 當你查詢查詢或多值欄位時,有獨特的考量。 欲了解更多資訊,請參閱 建立或刪除多值欄位 及 建立或刪除查找欄位。
本文內容
- 查看查詢欄位的界定值
- 查詢時,查詢欄位會使用顯示值
- 在查詢中使用多值欄位
- 在查詢中為多值欄位新增條件
- 在查詢中為多值欄位新增多個條件
- 查詢中多值欄位的群組與計數
- 使用帶有多值欄位的 Append 查詢
- 使用多值欄位的更新查詢
- 使用帶有多值欄位的刪除查詢
查看查詢欄位的界定值
查詢資料表檢視中,查詢欄位的顯示值預設會自動顯示。 當你建立查詢時,可以覆寫這個行為,讓綁定值顯示出來。 在這個例子中,假設你想看到一個總部表格中「查詢」新英格蘭州名稱的查詢欄位的界限值。
在 [設計檢視] 中開啟查詢。
在此範例中,加入 總部 表與 新英格蘭 表。
兩張桌子應該要連接起來。
欲了解更多資訊,請參閱 「連結資料表與查詢」。
將 a 欄位和 Lookup 欄位一起拖曳到查詢設計網格。 在這個例子中,加入 城市 和 NEState 欄位。
點選查找欄位,然後在 設計 標籤的 顯示/隱藏 群組中點選 屬性工作表。 在這個例子中,使用 NEState 欄位。
在屬性表中,選擇「 查找 」標籤,然後在 「顯示控制 」屬性中選擇 文字框。
結果 現在當你在 Datasheet View 中查看查詢時,你會看到顯示值的對應界定值。
頁面頂端
查詢時,查詢欄位會使用顯示值
當你建立 Lookup 欄位時,Bound 值和 Display 值之間會建立一個連接。 雖然你不能直接在查詢中使用顯示值,但你可以使用其他資料來源的對應值。 在這個範例中,假設你想在查詢中使用總部資料表中 Lookup 欄位 NEState 的顯示值作為條件。
在 [設計檢視] 中開啟查詢。
在此範例中,加入 總部 表與 新英格蘭 表。
兩張桌子應該要連接起來。 欲了解更多資訊,請參閱 「連結資料表與查詢」。把你想用的欄位拖到查詢網格。 在此範例中,將 City 從總部資料表拖曳到第一欄,從總部資料表拖到 NEState 到第二欄,從 NewEngland 資料表拖曳 StateName 到第三欄。
在查詢網格中清除 StateName 的「顯示」勾選框。
在查詢網格中, StateName 的 Criteria 欄輸入 Vermont。
查詢條件基於 StateName 欄位,當然這與 Display 值 NEState 相同,但在 Datasheet View 中未顯示。
在 [設計] 索引標籤上的 [結果] 群組中,按一下 [執行]。
結果 僅顯示包含 佛蒙特 州的那一列。
頁面頂端
在查詢中使用多值欄位
當你在查詢中顯示多值欄位時,你可以將包含所有值的多值欄位以逗號分隔在一列,或是為每個值分開一列的扁平資料。 舉例來說,假設 你有一個議題 資料表,裡面每個議題都有 標題 欄位,以及一個多值的 AssignedTo 欄位用來指派議題給人員。
將多值欄位中的所有值顯示在一列中
- 在 [設計檢視] 中開啟查詢。
- 在此範例中,加入 議題 表。
- 將欄位拖曳到查詢設計網格。 在此範例中,拖曳 標題欄位和AssignedTo 多值欄位。
- 在 [設計] 索引標籤上的 [結果] 群組中,按一下 [執行]。
結果如你所料,一欄顯示標題欄位,第二欄顯示多值欄位:
在扁平檢視 (一列顯示多值欄位的每個值)
- 在 [設計檢視] 中開啟查詢。
- 在此範例中,加入 議題 表。
- 把欄位 你拖到查詢網格。 在此範例中,拖曳 Title 欄位和 AssignedTo.Value 多值欄位。
格式是 <Fieldname>。Value 後附加 Value 屬性為字串 。AssignedTo 欄位的值。 - 在 [設計] 索引標籤上的 [結果] 群組中,按一下 [執行]。
結果 資料被扁平化,使 得標題 欄位重複出現,且 AssignedTo 多值欄位中的每個值會顯示在對應的列中:
化 頁面頂端
在查詢中為多值欄位新增條件
在查詢網格中,相同條件被放在不同的欄位,對查詢結果有很大影響。
新增一個條件,將多值欄位中的所有值集中顯示在一列中
Access 首先建立結果集,然後加入條件。
在 [設計檢視] 中開啟查詢。
在此範例中,加入 議題 表。
把欄位 你拖到查詢網格。 在此範例中,拖曳標題欄位、AssignedTo 多值欄位,以及 AssignedTo.Value 多值欄位。
在查詢網格中清除 assignedTo.Value 的 Show 勾選框。
在查詢網格中, AssignedTo.Value 的 Criteria 欄輸入「NOT “David Hamilton”。
看到 SQL 檢視很有幫助:
SELECT Title, AssignedTo FROM Issues WHERE NOT AssignedTo.Value = "David Hamilton";在 [設計] 索引標籤上的 [結果] 群組中,按一下 [執行]。
結果 未歸屬大衛·漢密爾頓的三期以預設值顯示。
新增條件,將多值欄位中的每個值顯示在平面化視圖 (一列)
Access 首先建立一個扁平化的結果集,然後再加入條件。
在 [設計檢視] 中開啟查詢。
在此範例中,加入 議題 表。
把欄位 你拖到查詢網格。 在此範例中,拖曳 Title 欄位和 AssignedTo.Value 多值欄位。
在查詢網格中, AssignedTo.Value 的 Criteria 欄輸入 NOT “David Hamilton”。
看到 SQL 檢視很有幫助:
SELECT Issues.Title, AssignedTo.Value FROM Issues WHERE NOT AssignedTo.Value = "David Hamilton"在 [設計] 索引標籤上的 [結果] 群組中,按一下 [執行]。
結果 每期未歸屬於大衛·漢密爾頓的刊物以扁平化的數值顯示。
在查詢中為多值欄位新增多個條件
有時你需要在多值欄位中搜尋多個值的匹配。 舉例來說,假設你想看到那些在 AssignedTo 欄位中同時包含「Kelly Rollin」和「Lisa Miller」的議題
- 在 [設計檢視] 中開啟查詢。
- 在此範例中,加入 議題 表。
- 把欄位 你拖到查詢網格。 在此範例中,拖曳 標題欄位和AssignedTo 多值欄位。
- 在查詢網格中, AssignedTo 的 條件 列輸入「Kelly Rollin」和「Lisa Miller」。
- 在 [設計] 索引標籤上的 [結果] 群組中,按一下 [執行]。
結果 這兩期被分配給「Kelly Rollin」和「Lisa Miller」的刊物會被展示出來。
查詢中多值欄位的群組與計數
要執行多值欄位中儲存的數值的計算、分組與排序,請使用 Fieldname<>。價值欄位。 欲了解更多群組查詢資訊,請參閱 「使用查詢計數資料」。
計算每個人分配的議題數量
- 在 [設計檢視] 中開啟查詢。
- 在此範例中,加入 議題 表。
- 把你想用的欄位拖到查詢網格。 在此範例中,將 AssignedTo.Value 拖曳到第一欄,將 Title 拖到第二欄。
- 在 [設計] 索引標籤上,按一下 [顯示/隱藏] 群組中的 [合計]。
Total 列會出現在查詢網格中。 Group By 預設會出現在查詢中每個欄位下的 Total 儲存格中。 - 在查詢網 格中,標題下方的 總數 列,點選 「計數」。
- 在 [設計] 索引標籤上的 [結果] 群組中,按一下 [執行]。
結果 每人分配的議題數以扁平視圖顯示。
計算每個議題分配了多少人
- 在 [設計檢視] 中開啟查詢。
- 在此範例中,加入 議題 表。
- 把你想用的欄位拖到查詢網格。 在此範例中,將 Title 拖曳到第一欄,將 AssignedTo 拖到第二欄。
- 在 [設計] 索引標籤上,按一下 [顯示/隱藏] 群組中的 [合計]。
Total 列會出現在查詢網格中。 Group By 預設會出現在查詢中標題欄位下的總計格中。 表達式 預設會出現在 Total(總計 )格的 AssignedTo 欄位,因為你無法直接對多值欄位執行 Group By 操作,只能執行 <Fieldname>。價值欄位。 - 在查詢網格中,在 AssignedTo 的 Total 列中,點選 Count。
- 在 [設計] 索引標籤上的 [結果] 群組中,按一下 [執行]。
結果 每期分配的人數以扁平化視圖顯示。
使用帶有多值欄位的 Append 查詢
你可以透過 Append 查詢,將單一值插入多值欄位。 舉例來說,假設你想在 Issues 表中的 AssignedTo 多值欄位中新增「Tom Michaels」。
註 這是唯一能處理多值欄位的附加查詢類型。
- 在 [設計檢視] 中開啟查詢。
- 新增 議題 表。
- 在 設計 標籤中,點擊 附加。
- 在 「附加 」對話框中,選擇 「議題」,然後點擊 確定。
- 在設計網格的附加至( Append To ) 列中,選擇 AssignedTo.Value。
- 在設計格的 田野 列,請進入「Tom Michaels」。
- 為了限制附加操作僅限於特定期數,請在設計網格中新增欄位,例如標題,從附加至列移除標題,然後輸入如「期數 3」等條件。
- 在 [設計] 索引標籤上的 [結果] 群組中,按一下 [執行]。
Access 可能會要求你確認是否要附加所選的列。 點選 「是 」插入該列,或點擊 「否」 取消。
結果 「Tom Michaels」現在加入了第3期的 AssignedTo 欄位。
重要 你不能使用引用包含多值欄位的資料表的 Append 查詢。 例如,以下查詢不成立:
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 取代 Kelly Rollin 在所有相關議題的 AssignedTo 欄位。
使用帶有多值欄位的刪除查詢
當你處理包含多值欄位的資料表時,可以使用刪除查詢刪除包含多值欄位中特定值的紀錄,或刪除表格中所有紀錄中多值欄位的特定值。 在以下範例中,假設你想從議題表中刪除「David Hamilton」。
重要 當你用刪除查詢刪除包含資料的多值欄位時,你會永久失去該資料——無法還原刪除。 因此,您應該先備份資料庫,再刪除任何資料表欄位或其他資料庫元件。
刪除所有記錄中多值欄位中的特定值
- 在 [建立] 索引標籤的 [查詢] 群組中,按一下 [查詢設計]。
- 新增 議題 表。
- 在 [設計檢視] 中開啟查詢。
- 在 設計 標籤中,點擊 刪除。
- 在 標準 欄中,輸入「David Hamilton」。
- 在 [設計] 索引標籤上的 [結果] 群組中,按一下 [執行]。
Access 可能會要求你確認是否要刪除這些紀錄。 點擊 「是 」刪除紀錄,或點擊 「否」 取消。
結果 David Hamilton 因所有相關議題被移除。
刪除包含多值欄位中特定值的紀錄
在 [建立] 索引標籤的 [查詢] 群組中,按一下 [查詢設計]。
新增 議題 表。
在 [設計檢視] 中開啟查詢。
在 設計 標籤中,點選 刪除 群組。
在 設計 標籤的 結果 群組中,點擊「 檢視 」下的箭頭,然後點選 「SQL 檢視」。
請輸入以下 SQL 陳述句:
DELETE FROM Issues WHERE (((Issues.AssignedTo.Value)="David Hamilton"));註 在這種情況下,你只能使用 SQL 陳述句,不能使用 Design grid。 如果你切換到 Design 網格視圖,Access 會在 DELETE 語句後加上星號 (*) ,你應該從 SQL 視圖中移除。
在 [設計] 索引標籤上的 [結果] 群組中,按一下 [執行]。
Access 可能會要求你確認是否要刪除這些紀錄。 點擊 「是 」刪除紀錄,或點擊 「否」 取消。
結果 所有指定大衛·漢密爾頓的期數均被刪除。