查詢中使用查找與多值欄位

套用到
Microsoft 365 Access Access 2024 Access 2021 Access 2019 Access 2016

在 Access 中,你可以建立一個多值欄位,包含多個值 (最多 100) 。 你也可以建立一個查詢欄位,顯示綁定到其他資料來源值的使用者友善值。 當你查詢查詢或多值欄位時,有獨特的考量。 欲了解更多資訊,請參閱 建立或刪除多值欄位建立或刪除查找欄位

本文內容

查看查詢欄位的界定值

查詢資料表檢視中,查詢欄位的顯示值預設會自動顯示。 當你建立查詢時,可以覆寫這個行為,讓綁定值顯示出來。 在這個例子中,假設你想看到一個總部表格中「查詢」新英格蘭州名稱的查詢欄位的界限值。

查找欄位表

  1. [設計檢視] 中開啟查詢。

  2. 在此範例中,加入 總部 表與 新英格蘭 表。
    兩張桌子應該要連接起來。

    查詢欄位結構

    欲了解更多資訊,請參閱 「連結資料表與查詢」。

  3. 將 a 欄位和 Lookup 欄位一起拖曳到查詢設計網格。 在這個例子中,加入 城市NEState 欄位。

  4. 點選查找欄位,然後在 設計 標籤的 顯示/隱藏 群組中點選 屬性工作表。 在這個例子中,使用 NEState 欄位。

  5. 在屬性表中,選擇「 查找 」標籤,然後在 「顯示控制 」屬性中選擇 文字框
    在查詢設計中顯示控制項屬性

結果 現在當你在 Datasheet View 中查看查詢時,你會看到顯示值的對應界定值。

查詢結果顯示 Bound 值 頁面頂端

查詢時,查詢欄位會使用顯示值

當你建立 Lookup 欄位時,Bound 值和 Display 值之間會建立一個連接。 雖然你不能直接在查詢中使用顯示值,但你可以使用其他資料來源的對應值。 在這個範例中,假設你想在查詢中使用總部資料表Lookup 欄位 NEState 的顯示值作為條件。

  1. [設計檢視] 中開啟查詢。

  2. 在此範例中,加入 總部 表與 新英格蘭 表。
    兩張桌子應該要連接起來。 欲了解更多資訊,請參閱 「連結資料表與查詢」。

  3. 把你想用的欄位拖到查詢網格。 在此範例中,將 City 從總部資料表拖曳到第一欄,從總部資料表拖到 NEState 到第二欄,從 NewEngland 資料表拖曳 StateName 到第三欄。

  4. 在查詢網格中清除 StateName 的「顯示」勾選框。

  5. 在查詢網格中, StateName 的 Criteria 欄輸入 Vermont

    查詢網格顯示查詢欄位的界定值

    查詢條件基於 StateName 欄位,當然這與 Display 值 NEState 相同,但在 Datasheet View 中未顯示。

  6. 在 [設計] 索引標籤上的 [結果] 群組中,按一下 [執行]

結果 僅顯示包含 佛蒙特 州的那一列。

頁面頂端查詢結果

在查詢中使用多值欄位

當你在查詢中顯示多值欄位時,你可以將包含所有值的多值欄位以逗號分隔在一列,或是為每個值分開一列的扁平資料。 舉例來說,假設 你有一個議題 資料表,裡面每個議題都有 標題 欄位,以及一個多值的 AssignedTo 欄位用來指派議題給人員。

將多值欄位中的所有值顯示在一列中

  1. [設計檢視] 中開啟查詢。
  2. 在此範例中,加入 議題 表。
  3. 將欄位拖曳到查詢設計網格。 在此範例中,拖曳 標題欄位和AssignedTo 多值欄位。
  4. 在 [設計] 索引標籤上的 [結果] 群組中,按一下 [執行]

結果如你所料,一欄顯示標題欄位,第二欄顯示多值欄位:

多值欄位查詢非扁平結果 在扁平檢視 (一列顯示多值欄位的每個值)

  1. [設計檢視] 中開啟查詢。
  2. 在此範例中,加入 議題 表。
  3. 把欄位 你拖到查詢網格。 在此範例中,拖曳 Title 欄位和 AssignedTo.Value 多值欄位。
    格式是 <Fieldname>。Value 後附加 Value 屬性為字串 AssignedTo 欄位的值。
  4. 在 [設計] 索引標籤上的 [結果] 群組中,按一下 [執行]

結果 資料被扁平化,使 得標題 欄位重複出現,且 AssignedTo 多值欄位中的每個值會顯示在對應的列中:

多值欄位查詢結果平坦 化 頁面頂端

在查詢中為多值欄位新增條件

在查詢網格中,相同條件被放在不同的欄位,對查詢結果有很大影響。

新增一個條件,將多值欄位中的所有值集中顯示在一列中

Access 首先建立結果集,然後加入條件。

  1. [設計檢視] 中開啟查詢。

  2. 在此範例中,加入 議題 表。

  3. 把欄位 你拖到查詢網格。 在此範例中,拖曳標題欄位、AssignedTo 多值欄位,以及 AssignedTo.Value 多值欄位。

  4. 在查詢網格中清除 assignedTo.ValueShow 勾選框。

  5. 在查詢網格中, AssignedTo.ValueCriteria 欄輸入「NOT “David Hamilton”。

    查詢設計網格,僅有直接查找欄位

    看到 SQL 檢視很有幫助:
    SELECT Title, AssignedTo FROM Issues WHERE NOT AssignedTo.Value = "David Hamilton";

  6. 在 [設計] 索引標籤上的 [結果] 群組中,按一下 [執行]

結果 未歸屬大衛·漢密爾頓的三期以預設值顯示。

多值域的 <結果欄位名稱> 新增條件,將多值欄位中的每個值顯示在平面化視圖 (一列)

Access 首先建立一個扁平化的結果集,然後再加入條件。

  1. [設計檢視] 中開啟查詢。

  2. 在此範例中,加入 議題 表。

  3. 把欄位 你拖到查詢網格。 在此範例中,拖曳 Title 欄位和 AssignedTo.Value 多值欄位。

  4. 在查詢網格中, AssignedTo.ValueCriteria 欄輸入 NOT “David Hamilton”。

    查詢設計網格,帶有 。查找欄位的值格式

    看到 SQL 檢視很有幫助:
    SELECT Issues.Title, AssignedTo.Value FROM Issues WHERE NOT AssignedTo.Value = "David Hamilton"

  5. 在 [設計] 索引標籤上的 [結果] 群組中,按一下 [執行]

結果 每期未歸屬於大衛·漢密爾頓的刊物以扁平化的數值顯示。

多值域的 <結果田野名稱>。價值 置於頁面頂端

在查詢中為多值欄位新增多個條件

有時你需要在多值欄位中搜尋多個值的匹配。 舉例來說,假設你想看到那些在 AssignedTo 欄位中同時包含「Kelly Rollin」和「Lisa Miller」的議題

  1. [設計檢視] 中開啟查詢。
  2. 在此範例中,加入 議題 表。
  3. 把欄位 你拖到查詢網格。 在此範例中,拖曳 標題欄位和AssignedTo 多值欄位。
  4. 在查詢網格中, AssignedTo條件 列輸入「Kelly Rollin」和「Lisa Miller」。
  5. 在 [設計] 索引標籤上的 [結果] 群組中,按一下 [執行]

結果 這兩期被分配給「Kelly Rollin」和「Lisa Miller」的刊物會被展示出來。

顯示多重值欄位中 AND 用法的查詢結果

頁面頂端

查詢中多值欄位的群組與計數

要執行多值欄位中儲存的數值的計算、分組與排序,請使用 Fieldname<>。價值欄位。 欲了解更多群組查詢資訊,請參閱 「使用查詢計數資料」。

計算每個人分配的議題數量

  1. [設計檢視] 中開啟查詢。
  2. 在此範例中,加入 議題 表。
  3. 把你想用的欄位拖到查詢網格。 在此範例中,將 AssignedTo.Value 拖曳到第一欄,將 Title 拖到第二欄。
  4. [設計] 索引標籤上,按一下 [顯示/隱藏] 群組中的 [合計]
    Total 列會出現在查詢網格中。 Group By 預設會出現在查詢中每個欄位下的 Total 儲存格中。
  5. 在查詢網 格中,標題下方的 總數 列,點選 「計數」。
  6. 在 [設計] 索引標籤上的 [結果] 群組中,按一下 [執行]

結果 每人分配的議題數以扁平視圖顯示。

計算指定給每個人之議題數的查詢

計算每個議題分配了多少人

  1. [設計檢視] 中開啟查詢。
  2. 在此範例中,加入 議題 表。
  3. 把你想用的欄位拖到查詢網格。 在此範例中,將 Title 拖曳到第一欄,將 AssignedTo 拖到第二欄。
  4. [設計] 索引標籤上,按一下 [顯示/隱藏] 群組中的 [合計]
    Total 列會出現在查詢網格中。 Group By 預設會出現在查詢中標題欄位下的總計格中。 表達式 預設會出現在 Total(總計 )格的 AssignedTo 欄位,因為你無法直接對多值欄位執行 Group By 操作,只能執行 <Fieldname>。價值欄位。
  5. 在查詢網格中,在 AssignedToTotal 列中,點選 Count
  6. 在 [設計] 索引標籤上的 [結果] 群組中,按一下 [執行]

結果 每期分配的人數以扁平化視圖顯示。

顯示每個議題人數的查詢結果

頁面頂端

使用帶有多值欄位的 Append 查詢

你可以透過 Append 查詢,將單一值插入多值欄位。 舉例來說,假設你想在 Issues 表中的 AssignedTo 多值欄位中新增「Tom Michaels」。

這是唯一能處理多值欄位的附加查詢類型。

  1. [設計檢視] 中開啟查詢。
  2. 新增 議題 表。
  3. 設計 標籤中,點擊 附加
  4. 「附加 」對話框中,選擇 「議題」,然後點擊 確定
  5. 在設計網格的附加至( Append To ) 列中,選擇 AssignedTo.Value
  6. 在設計格的 田野 列,請進入「Tom Michaels」。
  7. 為了限制附加操作僅限於特定期數,請在設計網格中新增欄位,例如標題,從附加至列移除標題,然後輸入如「期數 3」等條件。
  8. 在 [設計] 索引標籤上的 [結果] 群組中,按一下 [執行]
    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」。

  1. [設計檢視] 中開啟查詢。
  2. 新增 議題 表。
  3. 設計 標籤中,點選 更新
  4. assignedTo.value 拖曳到查詢網格。
  5. 「更新到」 欄中輸入「Lisa Miller」。
  6. 「標準 」欄中,輸入「Kelly Rollin」。
  7. 在 [設計] 索引標籤上的 [結果] 群組中,按一下 [執行]
    Access 可能會要求你確認是否要附加所選的列。 點選 「是 」插入該列,或點擊 「否」 取消。

結果 Lisa Miller 取代 Kelly Rollin 在所有相關議題的 AssignedTo 欄位。

頁面頂端

使用帶有多值欄位的刪除查詢

當你處理包含多值欄位的資料表時,可以使用刪除查詢刪除包含多值欄位中特定值的紀錄,或刪除表格中所有紀錄中多值欄位的特定值。 在以下範例中,假設你想從議題表中刪除「David Hamilton」。

重要 當你用刪除查詢刪除包含資料的多值欄位時,你會永久失去該資料——無法還原刪除。 因此,您應該先備份資料庫,再刪除任何資料表欄位或其他資料庫元件。

刪除所有記錄中多值欄位中的特定值

  1. 在 [建立] 索引標籤的 [查詢] 群組中,按一下 [查詢設計]
  2. 新增 議題 表。
  3. [設計檢視] 中開啟查詢。
  4. 設計 標籤中,點擊 刪除
  5. 標準 欄中,輸入「David Hamilton」。
  6. 在 [設計] 索引標籤上的 [結果] 群組中,按一下 [執行]
    Access 可能會要求你確認是否要刪除這些紀錄。 點擊 「是 」刪除紀錄,或點擊 「否」 取消。

結果 David Hamilton 因所有相關議題被移除。

刪除包含多值欄位中特定值的紀錄

  1. 在 [建立] 索引標籤的 [查詢] 群組中,按一下 [查詢設計]

  2. 新增 議題 表。

  3. [設計檢視] 中開啟查詢。

  4. 設計 標籤中,點選 刪除 群組。

  5. 設計 標籤的 結果 群組中,點擊「 檢視 」下的箭頭,然後點選 「SQL 檢視」。

  6. 請輸入以下 SQL 陳述句:

    DELETE FROM Issues WHERE (((Issues.AssignedTo.Value)="David Hamilton"));
    

    在這種情況下,你只能使用 SQL 陳述句,不能使用 Design grid。 如果你切換到 Design 網格視圖,Access 會在 DELETE 語句後加上星號 (*) ,你應該從 SQL 視圖中移除。

  7. 在 [設計] 索引標籤上的 [結果] 群組中,按一下 [執行]
    Access 可能會要求你確認是否要刪除這些紀錄。 點擊 「是 」刪除紀錄,或點擊 「否」 取消。

結果 所有指定大衛·漢密爾頓的期數均被刪除。

頁面頂端