本文說明如何在 Access 中建立及執行產生資料表查詢。 當您需要複製資料表資料、封存資料或將查詢結果儲存為資料表時,請使用產生資料表查詢。
如果您需要變更或更新現有記錄集的部分資料,例如一或多個欄位,請使用更新查詢。 如需關於更新查詢的詳細資訊,請參閱建立和執行更新查詢。
如果您需要將記錄 (列) 新增至現有的資料表,請使用新增查詢。 如需新增查詢的詳細資訊,請參閱透過新增查詢將記錄新增至資料表。
您想要做什麼?
了解產生資料表查詢
產生資料表查詢會從一或多個資料表擷取資料,然後將結果集載入到新的資料表中。 該資料表可以位於目前的資料庫中,您也可以在另一個資料庫中建立它。
當您通常會在需要複製或封存資料時建立產生資料表查詢。 例如,您可能有一個或多個用於報表的過去銷售資料表。 這些銷售數字無法變更,因為交易至少已經過去一天了。 每次需要資料時執行查詢可能會很花時間,尤其是當您對大型資料存放區執行複雜的查詢時。 將資料載入到單獨的表格中可以減少工作量並為您提供方便的資料存檔。 請記住,新資料表中的資料只是快照。 它與一或多個來源資料表沒有關聯。
建立產生資料表查詢的程序大略遵循下列步驟:
- 如果資料庫未簽署或不位於信任的位置,請啟用該資料庫。 否則,您無法執行 [新增]、[更新] 和 [產生資料表查詢] 等巨集指令查詢。
- 在查詢設計檢視中,建立選取查詢,然後修改該查詢,直到它傳回您想要的記錄為止。 您可以從多個資料表選取資料,並真正意義上將資料非正規化。 例如,您可以將客戶、託運人和供應商資料放在單一資料表中,這在具有正確正規化資料表的生產資料庫中是不會執行的動作。 您也可以使用查詢中的準則以進一步自訂或縮小結果集。 如需將資料正常化的詳細資訊,請參閱 資料庫設計基本概念。
- 若要將選取查詢轉換為產生資料表查詢,請選擇新資料表的位置,然後執行查詢以建立資料表。
請勿將產生資料表查詢與更新或新增查詢混淆。 當您需要新增或變更個別欄位中的資料時,您可以使用更新查詢。 當您需要新增記錄 (列) 到現有資料表中的現有記錄集時,您可以使用新增查詢。
建立產生資料表查詢
建立產生資料表查詢的方式是先建立選取查詢,然後將其轉換為產生資料表查詢。 您的選取查詢可以使用計算欄位和運算式以協助傳回所需的資料。 下列步驟說明如何建立並轉換查詢。 如果已經擁有符合需求的選取查詢,就可以略過此步驟,直接轉換選取查詢並執行產生資料表查詢。
建立選取查詢
注意
如果您已具有會產生所需資料的選取查詢,請移至下面的步驟。
- 在 [建立] 索引標籤的 [查詢] 群組中,按一下 [查詢設計]。
- 按兩下要從中擷取資料的資料表。 每個資料表都會隨即在查詢設計師的上半部以視窗形式出現。 完成新增資料表後,按一下 [關閉 ]。
- 在每個資料表中,按兩下您要在查詢中使用的一或多個欄位。 每個欄位都會顯示在設計格線中 [欄位] 列的空白儲存格中。 此圖顯示加入數個資料表欄位的設計格線。
- 您可以選擇在 [欄位] 列中新增任何運算式。
- 您也可以選擇在設計格線的 [準則] 列中新增任何條件。
- 按一下 [執行] 以執行查詢,並在資料工作表中顯示結果。
- 或者,請調整欄位、運算式或準則,再重新執行查詢,直到系統傳回您要放在新資料表中的資料為止。
轉換選取查詢
以 [設計檢視] 開啟選取查詢,或者切換為 [設計檢視]。 Access 提供許多執行這個動作的方法:
- 如果在資料工作表中有開啟的查詢,請以滑鼠右鍵按一下查詢的文件索引標籤,然後按一下 [設計檢視]。
- 如果查詢為關閉,請以滑鼠右鍵在 [功能窗格] 中按一下查詢,然後在捷徑功能表中按一下 [設計檢視]。
在 [查詢設計 ] 索引標籤的 [查詢類型 ] 群組中,按一下 [建立表格]。 [製成資料表] 對話方塊便會出現。
在 [資料表名稱] 方塊中輸入新資料表的名稱。 -或- 按一下向下箭頭,然後選取現有的資料表名稱。
請執行下列其中一項操作:
將新資料表置於目前的資料庫中
如果尚未選取該資料表,請按一下 [目前資料庫],然後按一下 [確定]。
按一下 [執行],然後按一下 [是] 來確認作業。
注意
如果要取代現有的資料表,Access 會先刪除該資料表,然後要求您確認刪除作業。 按一下 [是],然後再按一下 [是] 以建立新資料表。
將新資料表置於其他資料庫
按一下 [另一個資料庫]。
在 [檔案名稱] 方塊中,輸入另一個資料庫的位置和檔案名稱。 -或- 按一下 [瀏覽],使用新的 [建立表格] 對話方塊來尋找其他資料庫,然後按一下 [確定]。
按一下 [確定],關閉第一個 [製成資料表] 對話方塊。
按一下 [執行],然後按一下 [是] 來確認作業。
注意
如果要取代現有的資料表,Access 會先刪除該資料表,然後要求您確認刪除作業。 按一下 [是],然後再按一下 [是] 以建立新資料表。
深入了解查詢準則和運算式
本文中的步驟已提及查詢準則和運算式。 查詢準則是識別要包含在查詢中的記錄的規則。 當您不想看到一組資料中的所有記錄時,請使用準則。 例如,準則 >25 AND <50 會傳回大於 25 和小於 50的值。 準則 例如 只會 "Chicago" OR "Paris" OR "Moscow" 傳回那些城市的記錄。
如需使用準則的詳細資訊,請參閱 查詢準則的範例。
運算式是數學或邏輯運算子、常數、函數以及欄位名稱、控制項和評估為單一值的屬性名稱的組合。 當您需要的資料不是直接位於資料表中時,您可以使用運算式。 例如,運算式 [UnitPrice]*[Quantity] 會將欄位中的 UnitPrice 值乘以欄位中的 Quantity 值。 您可以透過多種方式使用運算式,但建立和使用運算式可能會變得相當複雜。
如需建立及使用運算式的詳細資訊,請參閱 建立運算式。
停止停用模式而不要封鎖查詢
根據預設,如果您開啟的資料庫未儲存在信任的位置,或是您未選擇信任,Access 會阻止執行所有巨集指令查詢 — 附加、更新、刪除或建立資料表查詢。
如果您嘗試執行某個動作查詢,但好像什麼動作都沒有發生,請確認 Access 狀態列是否出現下列訊息:
[巨集指令或事件已經被停用模式封鎖。]
當您看到該訊息時,請執行下列動作:
- 在 [訊息列] 上,按一下功能區正下方的 [ 啟用內容]。
- 再次執行查詢。