使用新增查詢將記錄新增至資料表
套用到
Microsoft 365 Access Access 2024 Access 2021 Access 2019 Access 2016

本文說明如何建立與執行新增查詢。 當您需要使用來自其他來源的資料將記錄新增到現有資料表時,您就會使用新增查詢。

如果您需要變更現有記錄集中的資料 (例如更新欄位值),您可以使用更新查詢。 如果您需要從選取的資料建立新的資料表,或將兩個資料表合併成一個新的資料表,則可以使用產生資料表查詢。 如需更新查詢或產生資料表查詢的相關資訊,或者是將記錄新增至資料庫的其他方法或變更現有資料的一般資訊,請參閱另請參閱一節。

本文內容

概觀

新增查詢會從一或多個資料來源選取記錄,並將選取的記錄複製到現有的資料表。

例如,假設您剛剛取得了一個包含潛在新客戶資料表的資料庫,但您已經有一個儲存這類資料的現有資料庫資料表。 而您想將這些資料都儲存在同一個位置,因此您決定要從新的資料庫將資料複製到您現有的資料表。 由於您不想以手動方式輸入新的資,因此決定使用新增查詢來複製這些記錄。

使用新增查詢的優點

使用查詢來複製資料,您就可以:

  • 一次上傳多條紀錄    如果你手動複製資料,通常需要執行多次複製/貼上操作。 使用查詢時,你一次選取所有資料,然後複製它。

  • 在複製前先檢查你的選擇    你可以在資料表檢視中查看你的選擇,並在複製資料前根據需要調整你的選擇。 如果你的查詢包含條件或表達式,且需要多次嘗試才能正確,這尤其方便。 您無法復原新增查詢動作。 如果你犯錯,必須從備份還原資料庫或修正錯誤,手動或使用刪除查詢。

  • 利用標準來精煉你的選擇    例如,你可能只想附加居住在你所在城市的客戶紀錄。

  • 當資料來源中的某些欄位不存在於目標資料表時,補充記錄    舉例來說,假設你現有的客戶資料表有十一個欄位,而你想複製的新資料表只有其中的九個欄位。 你可以用附加查詢(append query)複製九個匹配欄位的資料,並保留另外兩個欄位的空白。

新增查詢的基本步驟

新增查詢的建立程序遵循這些基本步驟:

  • 建立選取查詢    你先選擇想要複製的資料。 你可以根據需要調整所選查詢,並執行無數次,確保你選擇的是你想複製的資料。

  • 將 select 查詢轉換成附加查詢    當你的選擇準備好後,你將查詢類型改為 Append

  • 在附加查詢中選擇每個欄位的目標欄位    有時 Access 會自動幫你選擇目的地欄位。 你可以調整目的地欄位,或是如果沒 Access 選擇。

  • 預覽並執行查詢以附加記錄    在新增紀錄前,您可以切換到資料表檢視,預覽新增紀錄。

重要: 您無法復原新增查詢動作。 請考慮備份資料庫或目標資料表。

建立與執行新增查詢

本節內容

步驟 1:建立查詢以選取要複製的記錄

  1. 開啟內含欲複製記錄的資料庫。

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

    Access 功能區中的 [查詢] 群組顯示兩個選項:[查詢精靈] 和 [查詢設計]
  3. 按兩下您欲複製記錄的資料表或查詢,然後按一下 [關閉]。

    資料表或查詢會在查詢設計工具中以一或多個視窗顯示。 每個視窗會列出資料表或查詢中的欄位。 此圖顯示查詢設計工具中的典型資料表。

    查詢設計工具中的資料表

    1. 顯示在查詢設計工具中的資產資料表

    2. 查詢設計格線

  4. 按兩下您要新增的每個欄位。 選取的欄位就會出現在查詢設計格線的 [欄位] 列中。

    來源資料表中的欄位資料類型必須相容於目標資料表中的欄位資料類型。 文字欄位相容於大部分其他類型的欄位。 數字欄位只相容於其他數字欄位。 例如,您可以將數字新增至文字欄位,但無法將文字新增至數字欄位。

    你也可以用表達式作為欄位——例如 =Date () 自動回傳今天的日期——並且在設計網格中使用帶有表格或查詢欄位的表達式來自訂你選擇的資料。 例如,如果你的目標資料表有一個儲存四位數年份的欄位,而來源資料表則是一般的日期/時間欄位,你可以用 DatePart 函式搭配來源欄位只選擇年份。

    若要在資料表中快速新增所有欄位,請在資料表欄位清單頂端按兩下星號 (*)。 此圖顯示已新增所有欄位的設計格線。

    已新增所有資料表欄位的查詢

  5. 您也可以在設計格線的 [準則] 列中輸入一或多個準則。 下表顯示部分範例準則並說明這些準則對查詢的影響。

    準則

    影響

    > 234

    傳回所有大於 234 的數字。 若要尋找所有小於 234 的數字,請使用 <234。

    >= "Callahan"

    傳回從 Callahan 到字母表最後一個字母之間的所有記錄。

    Between #2/2/2017# And #12/1/2017#

    傳回 2017 年 2 月 2 日到 2017 年 12 月 1 日之間的日期 (ANSI-89)。 如果資料庫是使用 ANSI-92 萬用字元,請使用單引號 (') 來代替井字號。 例如:Between '2/2/2017' And '12/1/2017'。

    Not "德國"

    尋找欄位內容不完全等於 "德國" 的所有記錄。 這個準則將會傳回包含 "德國" 以及其他字元的記錄,例如 "德國 (歐元)" 或 "歐洲 (德國)"。

    Not "T*"

    會尋找除了以 T 為開頭之外的所有記錄。如果資料庫是使用 ANSI-92 萬用字元集,請使用百分比符號 (%) 來代替星號 (*)。

    Not "*t"

    尋找結尾不是 t 的所有記錄。 如果資料庫是使用 ANSI-92 萬用字元集,請使用百分比符號代替星號。

    In(加拿大,英國)

    會在清單中尋找包含「加拿大」或「英國」的所有記錄。

    Like "[A-D]*"

    會在文字欄位中尋找以字母 A 到 D 開頭的所有記錄。如果資料庫是使用 ANSI-92 萬用字元集,請使用百分比符號代替星號。

    Like "*ar*"

    會尋找包含 "ar" 這兩個連續字母的所有記錄。 如果資料庫是使用 ANSI-92 萬用字元集,請使用百分比符號代替星號。

    Like "Maison Dewe?"

    會尋找符合下面條件的所有記錄:開頭是 "Maison" 並且第二個字串包含 5 個字母,其中前面 4 個字母是 "Dewe",最後一個則是未知的字母 (以問號表示)。 如果資料庫是使用 ANSI-92 萬用字元集,請使用底線 (_) 代替問號。

    #2/2/2017#

    會尋找 2017 年 2 月 2 日的所有記錄。 如果資料庫是使用 ANSI-92 萬用字元集,請使用單引號代替井字號 (#) 括住日期。 範例:'2/2/2017'。

    < Date() - 30

    傳回 30 天以前的所有日期。

    Date()

    傳回包含今天日期的所有記錄。

    Between Date() And DateAdd("M", 3, Date())

    傳回在今天日期和今天日期後三個月之間的所有記錄。

    Is Null

    會傳回包含 Null (空白或未定義) 值的所有記錄。

    Is Not Null

    會傳回包含值的所有記錄。

    ""

    會傳回包含零長度字串的所有記錄。 當您需要將值新增至必要欄位,但是您還不知道該值時,可以使用零長度的字串。 例如,某個欄位可能需要輸入傳真號碼,但有些客戶可能沒有傳真機。 在這種情況下,請輸入一對中間不含任何空格的雙引號 (""),而非數字。

  6. 查詢設計 標籤的 結果 群組中,點選 執行 按鈕影像

  7. 確認查詢是否回傳了你想複製的紀錄。 如果需要從查詢新增或移除欄位,請切換回 [設計檢視],並依前述步驟所述新增欄位,或者選取您不要的欄位,然後按下 DELETE,從查詢移除那些欄位。

步驟 2:將選取查詢轉換為新增查詢

  1. 在 [常用] 索引標籤的 [檢視] 群組中,按一下 [檢視],然後按一下 [設計檢視]。

  2. 查詢設計 標籤的查詢 類型 群組中,點擊 附加

    [新增] 對話方塊就會出現。

    [新增查詢] 對話方塊的螢幕擷取畫面

  3. 接下來,指定要將記錄新增至目前資料庫中的資料表,或新增至不同資料庫的資料表。

    請執行下列其中一項操作:

    • 在 [新增] 對話方塊中,按一下 [目前資料庫],從 [資料表名稱] 下拉式方塊選取目標資料表,然後按一下 [確定]。

      -或者-

    • 在 [新增] 對話方塊中,按一下 [其他資料庫]。

    • 在 [檔案名稱] 方塊中,輸入目標資料庫的位置和名稱。

    • 在 [資料表名稱] 下拉式方塊中,輸入目標資料表的名稱,然後再按一下 [確定]。

欲了解更多關於建立附加查詢的 SQL 語法,請參見 INSERT INTO 陳述句。

步驟 3:選擇目標欄位

您選擇目標欄位的方式取決於步驟 1 中建立選取查詢的方式。

如果您...

Access...

已從來源資料表或查詢新增所有欄位

將目標資料表中的所有欄位新增至設計格線中的 [新增至] 列。

已將個別欄位新增至查詢或已使用的運算式,而且來源資料表與目標資料表的欄位名稱相符

自動將相符的目標欄位新增至查詢中的 [新增至] 列

已新增個別欄位或已使用運算式,而且來源資料表與目標資料表中的任何名稱都不相符

新增相符的欄位,並讓不相符的欄位保留空白

如果 Access 欄位留空,你可以點擊附加欄中的一個儲存格 來列 ,並選擇目的地欄位。

此圖說明如何在 [新增至] 列中按一下儲存格並選取目標欄位。

[附加至] 列中的下拉式清單

附註: 如果您將目標欄位保留空白,查詢即不會將資料新增到該欄位。

步驟 4:預覽及執行新增查詢

  1. 若要預覽變更,請切換至 [資料工作表檢視]。

    提示: 若要快速切換檢視,請以滑鼠右鍵按一下查詢頂端的索引標籤,然後按一下您要的檢視。

  2. 回到設計檢視,然後點擊 執行 按鈕影像 來附加記錄。

    附註: 執行傳回大量資料的查詢時,可能會出現錯誤訊息,指出您無法復原該查詢。 請試著將記憶體區段上限增加到 3MB,查詢才能夠執行。

頁面頂端

防止停用模式封鎖查詢

如果你嘗試執行附加查詢但似乎沒有任何反應,請查看 Access 狀態列中的以下訊息:

巨集指令或事件已經被停用模式封鎖。

若要修正此問題,請按一下訊息列中的 [啟用內容] 以啟用查詢。

附註: 當您啟用新增查詢時,也會啟用所有其他資料庫內容。

如果你看不到訊息欄,可能是隱藏的。 你可以展示,除非它也被停用了。 如果訊息列被停用,你可以啟用它。

頁首

另請參閱

建立與執行更新查詢

更新資料的設計考量

建立產生資料表查詢

插入 INTO 陳述句

需要更多協助嗎?

想要其他選項嗎?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。