本文說明如何建立與執行新增查詢。 當您需要使用來自其他來源的資料將記錄新增到現有資料表時,您就會使用新增查詢。
如果您需要變更現有記錄集中的資料 (例如更新欄位值),您可以使用更新查詢。 如果您需要從選取的資料建立新的資料表,或將兩個資料表合併成一個新的資料表,則可以使用產生資料表查詢。 如需更新查詢或產生資料表查詢的相關資訊,或者是將記錄新增至資料庫的其他方法或變更現有資料的一般資訊,請參閱另請參閱一節。
本文內容
概觀
新增查詢會從一或多個資料來源選取記錄,並將選取的記錄複製到現有的資料表。
例如,假設您剛剛取得了一個包含潛在新客戶資料表的資料庫,但您已經有一個儲存這類資料的現有資料庫資料表。 而您想將這些資料都儲存在同一個位置,因此您決定要從新的資料庫將資料複製到您現有的資料表。 由於您不想以手動方式輸入新的資,因此決定使用新增查詢來複製這些記錄。
使用新增查詢的優點
使用查詢來複製資料,您就可以:
- 一次上傳多條紀錄 如果你手動複製資料,通常需要執行多次複製/貼上操作。 使用查詢時,你一次選取所有資料,然後複製它。
- 在複製前先檢查你的選擇你可以在資料表檢視中查看你的選擇,並在複製資料前根據需要調整你的選擇。 如果你的查詢包含條件或表達式,且需要多次嘗試才能正確,這尤其方便。 您無法復原新增查詢動作。 如果你犯錯,必須從備份還原資料庫或修正錯誤,手動或使用刪除查詢。
- 使用準則修改您的選取範圍:例如,您可能只想要新增居住在您所在城市之客戶的記錄。
- 當資料來源中的某些欄位不存在於目標資料表時,補充記錄 舉例來說,假設你現有的客戶資料表有十一個欄位,而你想複製的新資料表只有其中的九個欄位。 你可以用附加查詢(append query)複製九個匹配欄位的資料,並保留另外兩個欄位的空白。
新增查詢的基本步驟
新增查詢的建立程序遵循這些基本步驟:
- 建立一個選擇查詢 你先選擇想要複製的資料。 你可以根據需要調整所選查詢,並執行無數次,確保你選擇的是你想複製的資料。
- 將選取查詢轉換為新增查詢完成選取所有項目之後,將查詢類型變更為 [新增]。
- 在附加查詢中選擇每個欄位的目標欄位 在某些情況下,Access 會自動幫你選擇目的地欄位。 你可以調整目的地欄位,或如果 Access 沒有選擇目的地欄位。
- 預覽及執行查詢以新增記錄:在您新增的記錄之前,您可以切換到 [資料工作表] 檢視以預覽新增的記錄。
重要
您無法復原新增查詢動作。 請考慮備份資料庫或目標資料表。
建立與執行新增查詢
本節內容
步驟 1:建立查詢以選取要複製的記錄
開啟內含欲複製記錄的資料庫。
在 [建立] 索引標籤的 [查詢] 群組中,按一下 [查詢設計]。
按兩下您欲複製記錄的資料表或查詢,然後按一下 [關閉]。
資料表或查詢會在查詢設計工具中以一或多個視窗顯示。 每個視窗會列出資料表或查詢中的欄位。 此圖顯示查詢設計工具中的典型資料表。
查詢設計器中顯示的資產表
查詢設計格線按兩下您要新增的每個欄位。 選取的欄位就會出現在查詢設計格線的 [欄位] 列中。
來源資料表中的欄位資料類型必須相容於目標資料表中的欄位資料類型。 文字欄位相容於大部分其他類型的欄位。 數字欄位只相容於其他數字欄位。 例如,您可以將數字新增至文字欄位,但無法將文字新增至數字欄位。
你也可以用表達式作為欄位——例如 =Date () 自動回傳今天的日期——並且在設計網格中使用帶有表格或查詢欄位的表達式來自訂你選擇的資料。 例如,如果你的目標資料表有一個儲存四位數年份的欄位,而來源資料表則是一般的日期/時間欄位,你可以用 DatePart 函式搭配來源欄位只選擇年份。
若要在資料表中快速新增所有欄位,請在資料表欄位清單頂端按兩下星號 (*)。 此圖顯示已新增所有欄位的設計格線。
您也可以在設計格線的 [準則] 列中輸入一或多個準則。 下表顯示部分範例準則並說明這些準則對查詢的影響。
在 查詢設計 標籤的 結果 群組中,點擊 執行
。確認查詢是否回傳了你想複製的紀錄。 如果需要從查詢新增或移除欄位,請切換回 [設計檢視],並依前述步驟所述新增欄位,或者選取您不要的欄位,然後按下 DELETE,從查詢移除那些欄位。
步驟 2:將選取查詢轉換為新增查詢
在 [常用] 索引標籤的 [檢視] 群組中,按一下 [檢視],然後按一下 [設計檢視]。
在 查詢設計 標籤的查詢 類型 群組中,點擊 附加。
[新增] 對話方塊就會出現。
接下來,指定要將記錄新增至目前資料庫中的資料表,或新增至不同資料庫的資料表。
請執行下列其中一項操作:- 在 [新增] 對話方塊中,按一下 [目前資料庫],從 [資料表名稱] 下拉式方塊選取目標資料表,然後按一下 [確定]。
-或者- - 在 [新增] 對話方塊中,按一下 [其他資料庫]。
- 在 [檔案名稱] 方塊中,輸入目標資料庫的位置和名稱。
- 在 [資料表名稱] 下拉式方塊中,輸入目標資料表的名稱,然後再按一下 [確定]。
- 在 [新增] 對話方塊中,按一下 [目前資料庫],從 [資料表名稱] 下拉式方塊選取目標資料表,然後按一下 [確定]。
欲了解更多關於建立附加查詢的 SQL 語法,請參見 INSERT INTO 陳述句。
步驟 3:選擇目標欄位
您選擇目標欄位的方式取決於步驟 1 中建立選取查詢的方式。
| 如果您... | 存取... |
|---|---|
| 已從來源資料表或查詢新增所有欄位 | 將目標資料表中的所有欄位新增至設計格線中的 [新增至] 列。 |
| 已將個別欄位新增至查詢或已使用的運算式,而且來源資料表與目標資料表的欄位名稱相符 | 自動將相符的目標欄位新增至查詢中的 [新增至] 列 |
| 已新增個別欄位或已使用運算式,而且來源資料表與目標資料表中的任何名稱都不相符 | 新增相符的欄位,並讓不相符的欄位保留空白 |
如果 Access 讓這些欄位保留空白,您可以按一下 [新增至] 列中的任一儲存格,然後選取目標欄位。
此圖說明如何在 [新增至] 列中按一下儲存格並選取目標欄位。
注意
如果您將目標欄位保留空白,查詢即不會將資料新增到該欄位。
步驟 4:預覽及執行新增查詢
若要預覽變更,請切換至 [資料工作表檢視]。
秘訣
若要快速切換檢視,請以滑鼠右鍵按一下查詢頂端的索引標籤,然後按一下您要的檢視。
返回設計檢視,然後點 選「執行
」來附加記錄。注意
執行傳回大量資料的查詢時,可能會出現錯誤訊息,指出您無法復原該查詢。 請試著將記憶體區段上限增加到 3MB,查詢才能夠執行。
停止停用模式而不要封鎖查詢
如果您嘗試執行某個新增查詢,但好像什麼動作都沒有發生,請確認 Access 狀態列是否出現下列訊息:
巨集指令或事件已經被停用模式封鎖。
若要修正此問題,請按一下訊息列中的 [啟用內容] 以啟用查詢。
注意
當您啟用新增查詢時,也會啟用所有其他資料庫內容。
如果你看不到訊息欄,可能是隱藏的。 你可以展示,除非它也被停用了。 如果訊息列被停用,你可以啟用它。