使用查詢可讓您更輕鬆地檢視、新增、刪除或變更 Access 資料庫中的數據。 使用查詢的一些其他原因:
-
篩選特定準則 (條件以快速尋找特定數據)
-
計算或摘要數據
-
自動化數據管理工作,例如週期性檢閱最新的數據。
查詢可協助您尋找及使用數據
在設計完善的資料庫中,您想要透過表單或報表顯示的資料通常位於多個資料表中。 查詢可以從各種數據表擷取資訊,並將它組合起來,以顯示在窗體或報表中。 查詢可以是資料庫的數據結果要求,或是數據的動作要求,也可以是兩者都要求。 查詢可以為您提供簡單問題的答案、執行計算、合併不同數據表的數據、新增、變更或刪除資料庫中的數據。 由於查詢非常多功能,因此查詢有許多種類型,因此您可以根據工作建立一種查詢類型。
主要查詢類型 |
使用 |
---|---|
請選取 |
用於擷取資料表中的資料或執行計算。 |
動作 |
新增、變更或刪除資料。 每個工作都有特定類型的動作查詢。 |
建立選取查詢
如果您只想要檢閱數據表中特定欄位的數據,或同時檢閱多個數據表中的數據,或是只根據特定準則查看數據,您就可以選擇選取查詢類型。 如需詳細資訊,請參閱 建立簡單的選取查詢。
檢閱選取欄位中的數據
例如,如果您的資料庫有一個含有大量產品相關信息的數據表,而您想要檢閱產品清單及其價格,以下說明如何建立選取查詢,只傳回產品名稱和個別的價格:
-
開啟資料庫,然後在 [ 建立] 索引 標籤上,按兩下 [查詢設計]。
-
在 [ 數據表] 索引 標籤上,按兩下 [產品] 資料表。
-
在 [產品] 資料表中,假設您有 [產品名稱] 和 [列表價格] 字段。 按兩下 [產品名稱 ] 和 [列表價格] ,將這些字段新增至查詢 設計格線。
-
在 [ 查詢設計] 索引 標籤上,按兩下 [ 執行]。 查詢會執行,並顯示產品清單及其價格。
同時檢閱多個相關數據表的數據
例如,如果您有銷售食物專案的商店資料庫,而您想要檢閱居住在特定城市之客戶的訂單。 假設訂單數據和客戶相關數據分別儲存在名為「客戶」和「訂單」的兩個數據表中。 如果每個數據表都有 [客戶標識符] 字段,這會構成兩個數據表之間 一對多關聯性 的基礎。 您可以使用下列程式,建立查詢來傳回特定城市的客戶訂單,例如「拉斯加維加」:
-
開啟資料庫。 在 [建立] 索引標籤上,按一下 [查詢] 群組中的 [查詢設計]。
-
在 [ 數據表] 索引 標籤上,按兩下 [客戶 與 訂單]。
請注意,此行 (稱為聯結) ,會連接 [客戶] 數據表中的 [標識符] 字段和 [訂單] 數據表中的 [客戶標識符] 字段。 此行會顯示兩個數據表之間的關聯。
-
在 [客戶] 數據表中,按兩下 [公司和城市],將這些字段新增至查詢設計網格線。
-
在查詢設計網格線的 [ 城市 ] 欄中,清除 [顯示] 列 中的複選框。
-
在 [城市] 欄的 [準則] 列中,輸入「拉斯加索引標籤」。
清除 [顯示] 複選框可防止查詢在結果中顯示城市,而在 [準則] 列中輸入 [拉斯維加斯] 則指定您只想查看 [城市] 字段值為 [拉斯加維加] 的記錄。 在此情況下,查詢只會傳回位於拉斯加維加的客戶。 您不需要顯示欄位就能使用準則。
-
在 [訂單] 數據表中,按兩下 [ 訂單標識符 ] 和 [ 訂單日期 ],將這些欄位新增到查詢設計網格線的下兩欄。
-
在 [ 查詢設計] 索引 標籤的 [ 結果 ] 群組中,按兩下 [ 執行]。 查詢會執行,然後顯示在拉斯加維加的客戶訂單清單。
-
按下 CTRL+S 儲存查詢。
建立參數查詢
如果您經常想要執行特定查詢的變化,請考慮使用參數查詢。 當您執行參數查詢時,查詢會提示您輸入域值,然後使用您提供的值來建立查詢的準則。
從先前的範例繼續,您還原到建立選取查詢以傳回位於拉斯加維加的客戶訂單,您可以修改選取查詢,提示您在每次執行查詢時指定城市。 若要追蹤,請開啟您在上一個範例中建立的資料庫:
-
在 [導航窗格] 中,以滑鼠右鍵按下您在上一節) 建立的 [ 依城市 排序] 查詢 (,然後按下快捷方式功能表上的 [ 設計檢視 ]。
-
在查詢設計網格線的 [城市] 欄的 [ 準則 ] 列中,刪除 [拉斯加維加],然後輸入 [適用於哪個城市?]。
[哪個城市?] 字串是您的參數提示。 方括弧表示您希望查詢要求輸入,而這個案例中的文字 (為 哪個城市?) 這是參數提示顯示的問題。
附註: 兩個期間都 (。) 或驚嘆號 (!) 可以在參數提示中當做文字使用。
-
選取 [ 顯示 城市] 欄列中的複選框,查詢結果便會顯示城市。
-
在 [ 查詢設計] 索引 標籤的 [ 結果 ] 群組中,按兩下 [ 執行]。 查詢會提示您輸入城市值。
-
輸入 「紐約」,然後按 ENTER 查看紐約客戶的訂單。
如果您不知道可以指定哪些值,該怎麼辦? 您可以使用通配符做為提示的一部分:
-
在 [常用] 索引標籤的 [檢視] 群組中,按一下 [檢視],然後按一下 [設計檢視]。
-
在查詢設計網格線的 [城市] 欄的 [準則] 列中,輸入 Like [適用於哪個城市?]&“*”。
在此參數提示中, Like 關鍵詞、音量和 (&) ,以及以引號括住的星號 * (*) 可讓使用者輸入包括通配符在內的字元組合,以傳回各種結果。 例如,如果使用者類型 *,查詢會傳回所有城市;如果使用者類型 為 L,查詢會傳回以字母 「L;」 開頭的所有城市,如果使用者類型 *s*,查詢會傳回包含字母 「s」 的所有城市。
-
在 [ 查詢設計] 索引 標籤的 [ 結果 ] 群組中,按兩下[ 執行],然後在查詢提示字元中輸入 [新增],然後按 ENTER。
查詢會執行,然後顯示紐約客戶的訂單。
指定參數資料類型
您也可以指定參數應該接受哪些類型的資料。 您可以設定任何參數的資料類型,但務必要設定數值、貨幣或日期/時間資料的資料類型。 當您指定參數應接受的資料類型時,使用者就可在輸入錯誤的資料類型時,看見比較有用的錯誤訊息,例如,必須輸入貨幣資料而不是文字。
如果將參數設定為接受文字資料,則任何輸入項目都會解譯成文字,且不會顯示任何錯誤訊息。
若要指定查詢中參數的數據類型,請使用下列程式:
-
在 [設計檢視] 中開啟查詢時,請在 [ 查詢設計 ] 索引標籤上,按兩下 [ 顯示/隱藏 ] 群組中的 [ 參數]。
-
在 [查詢參數] 對話方塊的 [參數] 資料行中,為您想要指定資料類型的每一個參數鍵入提示。 請務必確認每個參數都符合您在查詢設計格線的 [準則] 資料列中使用的提示。
-
在 [資料類型] 資料行中,選取每個參數的資料類型。
如需詳細資訊,請參閱 在執行查詢時使用參數要求輸入。
建立合計查詢
數據工作表中的 [合計] 列非常實用,但若是較複雜的問題,請使用合計查詢。 合計查詢是選取查詢,可讓您分組及摘要數據,例如您想要查看每個產品的總銷售額。 在合計查詢中,您可以使用 Sum 函數 (匯總函數) ,查看每個產品的總銷售額。
使用下列程式來修改您在上一個範例中建立的產品小計查詢,以便摘要產品的產品小計。
-
在 [常 用] 索引 標籤上,按兩下 [ 檢視 > 設計檢視]。
產品小計查詢隨即在 [設計視圖] 中開啟。
-
在 [ 查詢設計] 索引 標籤的 [ 顯示/隱藏 ] 群組中,按兩下 [ 合計]。
[合計] 列會顯示在查詢設計網格線中。
附註: 雖然它們的名稱相似,但設計網格線中的 [ 合計 ] 列和數據工作表中的 [ 合計 ] 列並不相同:
-
您可以在設計網格線中使用 [ 合計] 列 ,依域值分組。
-
您可以新增數據工作表 合計 列至合計查詢的結果。
-
當您在設計網格線中使用 [ 合計 ] 列時,必須為每個字段選擇匯總函數。 如果您不想對欄位執行計算,可以依欄位分組。
-
在設計網格線的第二欄的 [ 合計 ] 列中,從下拉式清單中選取 [ 加總 ]。
-
在 [ 查詢設計] 索引 標籤的 [ 結果 ] 群組中,按兩下 [ 執行]。 查詢會執行,然後顯示含有小計的產品清單。
-
按下 CTRL+S 儲存查詢。 讓查詢保持開啟。
如需詳細資訊,請參閱 使用 [合計] 列在數據工作表中顯示欄合計。
根據您的數據進行計算
您通常不會使用數據表來儲存計算值,例如小計,即使這些值是以相同資料庫中的數據為基礎,因為如果根據變更計算的值,計算值可能會變得過時。 例如,您不會將某人的年齡儲存在數據表中,因為您每年都必須更新值;您改為儲存該人員的出生日期,然後使用查詢來計算該人員的年齡。
例如,如果您有一個資料庫供您想要銷售的部分產品使用。 此資料庫有一個名為 [訂單詳細數據] 的數據表,其中包含欄位中的產品相關信息,例如每個產品的價格和數量。 您可以使用查詢來計算小計,該查詢會將每個產品的數量乘以該產品的單價、將每個產品的數量乘以單價和該產品的折扣,然後再減去單價總額的總折扣。 如果您在上一個範例中建立了範例資料庫,請將它開啟並遵循:
-
在 [建立] 索引標籤上,按一下 [查詢設計]。
-
在 [ 數據表] 索引 標籤上,按兩下 [ 訂單詳細數據]。
-
在 [訂單詳細數據] 數據表中,按兩下 [產品標識符 ],將此字段新增到查詢設計網格線的第一欄。
-
在網格線的第二欄中,以滑鼠右鍵按兩下 [ 功能變數 ] 列,然後按兩下快捷方式選單上的 [ 縮 放]。
-
在 [ 縮 放] 方塊中,輸入或貼上下列專案 :小計: ([數量]*[單價]) - ([數量]*[單價]*[折扣])
-
按一下 [確定]。
-
在 [ 查詢設計] 索引 標籤上,按兩下 [ 執行]。 查詢會執行,然後顯示每個訂單的產品和小計清單。
-
按 CTRL+S 儲存查詢,然後命名查詢 產品小計。
如需詳細資訊,請參閱 使用 [合計] 列在數據工作表中顯示欄合計。
顯示摘要或匯總數據
當您使用數據表記錄交易或儲存定期發生的數值數據時,能夠以匯總方式檢閱該數據是很實用的,例如加總或平均值。 在 Access 中,您可以將 [合計] 列新增至 資料工作表。 合計列是位於數據工作表底部的列,可以顯示執行中的合計或其他匯總值。
-
執行您先前建立的產品小計查詢,並將結果保持在 資料工作表檢視中開啟。
-
按一下 [常用] 索引標籤上的 [合計]。 新的列會顯示在數據工作表的底部,第一欄中包含 「 合計 」一詞。
-
按兩下資料工作表最後一列名為 [ 合計] 的儲存格。
-
按兩下箭號以檢視可用的匯總函數。 因為欄包含文字數據,因此只有兩個選項: [無 ] 和 [計數]。
-
選 取 [計數]。 單元格內容會從 [ 合計 ] 變更為欄值計數。
-
按兩下第二欄) (的相鄰儲存格。 請注意,儲存格中會出現箭號。
-
按兩下箭號,然後按兩下 [ 加總]。 欄位會顯示欄值的總和。
-
讓查詢在 [數據工作表檢視] 中保持開啟。
建立交叉資料表查詢
現在假設您想要檢閱產品小計,但也想要逐月匯總,因此每一列都會顯示產品的小計,而每一欄都會顯示一個月的產品小計。 若要顯示產品的小計並顯示一個月的產品小計,請使用 交叉資料表查詢。
您可以再次修改產品小計查詢,讓查詢傳回每月小計的產品小計和數據行列。
-
在 [常用] 索引標籤的 [檢視] 群組中,按一下 [檢視],然後按一下 [設計檢視]。
-
在 [ 查詢設定] 群組中,按兩下 [ 新增數據表]。
-
按兩下 [ 訂單],然後按兩下 [ 關閉]。
-
在 [ 查詢設計] 索引 標籤的 [ 查詢類型] 群組中,按兩下 [ 交叉表]。 在設計網格線中,會隱藏 [ 顯示 ] 列,並顯示 交叉表列 。
-
在設計網格線的第三欄中,以滑鼠右鍵按兩下 [ 功能變數 ] 列,然後按兩下快捷方式選單上的 [ 縮 放]。 [ 縮放] 方塊隨即開啟。
-
在 [ 縮放 ] 方塊中,輸入或貼上下列專案: 月份:「月份」& DatePart (“m”,[訂單日期])
-
按一下 [確定]。
-
在 交叉表列 中,從下拉式清單中選取下列值:第一欄的列 名 、第二欄的 值 ,以及第三欄的 欄標題 。
-
在 [ 查詢設計] 索引 標籤的 [ 結果 ] 群組中,按兩下 [ 執行]。 查詢會執行,然後顯示依月份匯總的產品小計。
-
按下 CTRL+S 儲存查詢。
如需交叉表查詢的詳細資訊,請參閱 使用交叉表查詢讓摘要數據更容易閱讀。
建立產生資料表查詢
您可以使用製作數據表查詢,從儲存在其他數據表中的數據建立新數據表。
例如,假設您要將芝加哥訂單的數據傳送給使用 Access 準備報表的芝加哥商務合作夥伴。 您想要限制要傳送至芝加哥訂單特定數據的數據,而不是傳送您所有的訂單數據。
您可以建立包含 Chicago 訂單資料的選取查詢,然後使用選取查詢,使用下列程式建立新資料表:
-
從上一個範例開啟範例資料庫。
若要執行資料表查詢,您可能需要啟用資料庫內容。
附註: 如果您在功能區下方看到啟用資料庫的相關訊息,請按兩下 [ 啟用內容]。如果您的資料庫已經位於信任的位置,您就不會看到訊息列。
-
在 [建立] 索引標籤上,按一下 [查詢] 群組中的 [查詢設計]。
-
按兩下 [ 訂單詳細數據 ] 和 [ 訂單]。
-
在 [ 訂單] 數據表中,按兩下 [客戶標識符 ] 和 [ 出貨城市 ],將這些欄位新增至設計網格線。
-
在 [ 訂單詳細數據 ] 數據表中,按兩下 [ 訂單標識符]、[ 產品標識符]、[ 數量]、[ 單價] 和 [ 折扣 ],將這些字段新增至設計網格線。
-
在設計網格線的 [ 出貨城市 ] 欄中,清除 [ 顯示] 列 中的方塊。 在 [ 準則] 列中,輸入 「芝加哥」 (包含單引號) 。 使用查詢結果建立數據表之前,請先確認結果。
-
在 [ 查詢設計] 索引 標籤的 [ 結果 ] 群組中,按兩下 [ 執行]。
-
按 Ctrl + S 以儲存查詢。
-
在 [ 查詢名稱] 方 塊中,輸入 Chicago Orders Query,然後按兩下 [ 確定]。
-
在 [常用] 索引標籤的 [檢視] 群組中,按一下 [檢視],然後按一下 [設計檢視]。
-
在 [ 查詢設計] 索引 標籤的 [ 查詢類型] 群組中,按兩下 [ 建立資料表]。
-
在 [ 製作表格 ] 對話框的 [ 數據表名稱 ] 方塊中,輸入 芝加哥訂單,然後按兩下 [ 確定]。
-
在 [ 查詢設計] 索引 標籤的 [ 結果 ] 群組中,按兩下 [ 執行]。
-
在確認對話框中,按兩下 [ 是],然後查看 [導航窗格] 中顯示的新資料表。
附註: 如果已有與您所指定名稱相同的數據表,Access 會先刪除該數據表,再執行查詢。
如需使用數據表查詢的詳細資訊,請參閱 建立數據表查詢。
建立追加查詢
您可以使用追加查詢從一或多個數據表擷取數據,並將該數據新增至另一個數據表。
例如,假設您建立了要與芝加哥商務夥伴共享的數據表,但您發現該關聯也適用於[機市] 區域中的用戶端。 您想要在與您的關聯共享數據表之前,先將包含[收到者] 區域數據的列新增至數據表。 您可以使用下列程式,將[體工區資料] 新增至 [芝加哥訂單] 資料表:
-
開啟您先前在 [設計視圖] 中建立的名為 「Chicago Orders Query」的查詢。
-
在 [ 查詢設計] 索引 標籤的 [ 查詢類型] 群組中,按兩下 [ 附加]。 [ 附加] 對話框隨即開啟。
-
在 [ 附加 ] 對話框中,按兩下 [ 表格名稱 ] 方塊中的箭號,從下拉式清單中選取 [芝加哥訂單 ],然後按兩下 [ 確定]。
-
在設計網格線的 [出貨城市] 欄的 [ 準則 ] 列中,刪除 「芝加哥」,然後輸入 「芝加哥」。
-
在 [ 附加至 ] 列中,為每一欄選取適當的欄位。
在此範例中, [附加至 ] 列值應符合 [ 字段 列] 值,但附加查詢不需要此值即可運作。
-
在 [ 查詢設計] 索引 標籤的 [ 結果 ] 群組中,按兩下 [ 執行]。
附註: 執行傳回大量資料的查詢時,可能會出現錯誤訊息,指出您無法復原該查詢。 請試著將記憶體區段上限增加到 3MB,查詢才能夠執行。
如需新增查詢的詳細資訊,請參閱透過新增查詢將記錄新增至資料表。
建立更新查詢
您可以使用更新查詢來變更數據表中的數據,也可以使用更新查詢來輸入準則,指定應該更新哪些數據列。 更新查詢可讓您有機會在執行更新之前檢閱更新的數據。
重要: 宏指令查詢無法復原。 您應該考慮使用更新查詢備份任何要更新的數據表。
在上一個範例中,您將數據列新增至芝加哥訂單數據表。 在 [芝加哥訂單] 數據表中,[產品標識符] 字段會顯示 [數值產品標識符]。 若要讓報表中的數據更有用,您可以使用產品名稱取代產品標識碼,請使用下列程式:
-
在 [設計視圖] 中開啟 [芝加哥訂單] 數據表。
-
在 [產品識別符] 列中,將 [數據類型] 從 [數位 ] 變更為 [文字]。
-
儲存並關閉芝加哥訂單數據表。
-
在 [建立] 索引標籤上,按一下 [查詢] 群組中的 [查詢設計]。
-
按兩下 [芝加哥訂單 及 產品]。
-
在 [ 查詢設計] 索引 標籤的 [ 查詢類型] 群組中,按兩下 [ 更新]。
-
在設計網格線中, [排序 ] 和 [顯示 列] 會消失,並出現 [ 更新至] 列 。
-
在 [ 芝加哥訂單 ] 數據表中,按兩下 [產品標識符 ],將此字段新增至設計網格線。
-
在設計網格線中,於 [產品標識符] 欄的 [更新至] 列中,輸入或貼上下列內容:[產品]。[產品名稱]
提示: 您可以使用更新查詢,在 [更新至] 資料列中使用空字串 (“”) 或 NULL 來刪除域 值 。
-
在 [ 準則] 列中,輸入或貼上下列內容: [產品標識符] 例如 ([產品]。]ID])
-
您可以在 [數據工作表檢視] 中檢視查詢,藉此檢閱更新查詢會變更哪些值。
-
在 [ 設計] 索引 標籤上,按兩下 [ 檢視 > 數據工作表檢視]。 查詢會傳回即將更新的產品標識符清單。
-
在 [ 查詢設計] 索引 標籤上,按兩下 [ 執行]。
當您開啟 [芝加哥訂單] 數據表時,您會看到 [產品標識符] 字段中的數值已由 [產品] 數據表中的產品名稱取代。
如需關於更新查詢的詳細資訊,請參閱建立和執行更新查詢。
建立刪除查詢
您可以使用刪除查詢來刪除資料表中的數據,也可以使用刪除查詢來輸入準則來指定應該刪除哪些數據列。 刪除查詢可讓您在執行刪除之前,檢閱要刪除的列。
例如,假設您準備從上一個範例傳送「芝加哥訂單」數據表給您的芝加哥商務夥伴,您會注意到有些數據列包含一些空白字段。 您決定在傳送表格之前先移除這些數據列。 您可以只開啟資料表並手動刪除資料列,但如果您有許多要刪除的列,而且您有應刪除數據列的明確準則,您可能會發現使用刪除查詢很有説明。
您可以使用下列程式,使用查詢來刪除芝加哥訂單資料表中沒有訂單識別碼值的資料列:
-
在 [建立] 索引標籤上,按一下 [查詢設計]。
-
按兩下 [芝加哥訂單]。
-
在 [ 查詢設計] 索引 標籤的 [ 查詢類型] 群組中,按兩下 [ 刪除]。 在設計網格線中, [排序 ] 和 [顯示 列] 消失,並出現 [刪除] 列 。
-
在 [ 芝加哥訂單] 數據表中,按兩下 [訂單標識符 ],將其新增至網格線。
-
在設計網格線的 [訂單標識符] 欄的 [ 準則 ] 列中,輸入 Is Null。
-
在 [ 查詢設計] 索引 標籤的 [ 結果 ] 群組中,按兩下 [ 執行]。
如需刪除查詢的詳細資訊,請參閱 建立和執行刪除查詢。