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

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

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

本文內容

概觀

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

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

使用新增查詢的優點

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

  • 在一次傳遞中附加多筆記錄    如果手動複製數據,通常需要執行多個複製/貼上操作。 透過使用查詢,您可以一次選取所有資料,然後複製它。

  • 在複製之前先檢查您的選擇    您可以在資料工作表檢視中檢視您的選取範圍,並可視需要在複製資料之前調整選取範圍。 如果您的查詢包含條件或運算式,並且您需要多次嘗試才能使其正確,這會特別方便。 您無法復原新增查詢動作。 如果您犯了錯誤,則必須從備份還原資料庫,或手動或使用刪除查詢來更正錯誤。

  • 使用條件來優化您的選擇    例如,您可能只想附加居住在您所在城市的客戶記錄。

  • 當資料來源中的某些欄位不存在於目的地資料表中時,附加記錄    例如,假設您現有的客戶資料表有 11 個欄位,而您要從中複製的新資料表只有這 11 個欄位中的 9 個。 您可以使用附加查詢,從相符的九個欄位複製資料,並將其他兩個欄位保留空白。

新增查詢的基本步驟

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

  • 建立選取查詢    您可以先選取要複製的資料。 您可以視需要調整選取查詢,並視需要執行多次,以確保選取要複製的資料。

  • 將選取查詢轉換為附加查詢    選取項目準備就緒之後,您可以將查詢類型變更為 [附加]。

  • 選擇附加查詢中每個欄的目的地欄位    在某些情況下, 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. 接下來,指定要將記錄新增至目前資料庫中的資料表,或新增至不同資料庫的資料表。

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

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

      -或者-

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

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

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

步驟 3:選擇目標欄位

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

如果您...

Access...

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

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

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

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

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

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

如果 Access 將欄位保留空白,您可以按一下「 附加至 」列中的儲存格,然後選取目的地欄位。

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

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

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

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

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

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

  2. 返回 [設計] 檢視,然後按一下 [執行 按鈕影像 ] 以附加記錄。

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

頁面頂端

防止停用模式封鎖查詢

如果您嘗試執行附加查詢,但似乎沒有任何反應,請檢查 Access 狀態列以取得下列訊息:

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

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

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

如果您沒有看到訊息列,則它可能已被隱藏。 您可以顯示它,除非它也已停用。 如果訊息列已停用,您可以啟用它。

頁面頂端

另請參閱

建立與執行更新查詢

更新資料的設計考量

建立產生資料表查詢

需要更多協助嗎?

想要其他選項嗎?

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