Sign in with Microsoft
Sign in or create an account.
Hello,
Select a different account.
You have multiple accounts
Choose the account you want to sign in with.

當您想要快速刪除大量數據,或定期刪除 Access 桌面資料庫中的一組數據時,刪除或更新查詢可能會很有用,因為查詢可讓您指定準則來快速尋找及刪除數據。 使用查詢也可以省時,因為您可以重複使用已儲存的查詢。

附註: 在您刪除任何資料,或執行刪除查詢之前,請確認您已備份 Access 桌面資料庫。

如果您只想要刪除一些記錄,則不需要查詢。 只要在 [資料工作表檢視] 中開啟資料表,選取 (欄) 或記錄 (您要刪除) 列的欄位,然後按 DELETE。

重要: 本文中的資訊僅適用於桌面資料庫。 您無法在 Access Web App 中使用刪除或更新查詢。

本文內容

選擇查詢類型

您可以使用更新查詢或刪除查詢來移除資料庫中的數據。 根據下表中的詳細資料選取查詢:

查詢類型

使用時機

結果​​

使用刪除查詢

若要同時從數據表或兩個相關數據表移除 (列) 整筆記錄。

附註: 如果記錄位於一對多關聯的「一」端,您可能需要先變更關聯,才能執行刪除查詢。 請參閱 從相關數據表刪除數據一節。

刪除查詢會移除每個欄位中的所有數據,包括讓記錄獨一無二的索引鍵值

使用更新查詢

若要刪除資料表中的個別域值。

將現有值更新為 Null 值 (,即不使用資料) 或零長度字串, (兩組中間沒有空格的雙引號) ,讓刪除值變得更輕鬆。

頁面頂端

使用查詢刪除任何數據之前必須先確認的事項

  • 請確定該檔案不是唯讀檔案:

    1. 以滑鼠右鍵按兩下 [開始 ],然後按兩下 [開啟 Windows 檔案總管]。

    2. 以滑鼠右鍵按兩下資料庫檔案,然後按兩下 [ 內容]

    3. 查看是否已選取 唯讀 屬性。

  • 確認您具備從資料庫刪除記錄的必要許可權。 如果您不確定,請連絡您的系統管理員或資料庫設計工具。

  • 請確定您已啟用資料庫中的內容。 根據預設,除非您先信任資料庫,否則 Access 會封鎖 (刪除、更新及建立數據表查詢) 的所有宏指令查詢。 如需信任資料庫的相關信息,請參閱 停止停用模式封鎖查詢一節。

  • 要求資料庫的其他使用者關閉使用您要刪除之數據的所有資料表、表單、查詢和報表。 這有助於避免違反鎖定。

  • 在編輯或刪除記錄之前,如果您想要反轉變更,最好先 建立資料庫的備份複本

提示: 如果資料庫有大量用戶連線,您可能需要關閉資料庫,然後以 獨佔 模式重新開啟資料庫。

以獨佔模式開啟資料庫

  1. 按兩下 [ 開啟]> [檔案] 索引標籤。

  2. 流覽至並指向選取資料庫,按兩下 [ 啟] 按鈕旁的箭號,然後按兩下 [ 獨佔式開啟]

    在獨佔模式中開啟檔案

備份資料庫

  1. 按兩下 [ 檔案] 索引 標籤,指向 [ 另存新檔]

  2. 按兩下 [另存資料庫為],再按兩下 [備份資料庫]。 Access 會關閉原始檔案、建立備份複本,然後重新開啟原始檔案。

  3. 按兩下 [另存新 檔],並指定備份複本的名稱和位置,然後按兩下 [ 儲存]

附註: 如果您使用唯讀或在舊版 Access 中建立的資料庫,您可能會收到無法建立資料庫備份的訊息。

若要回復至備份,請關閉並重新命名原始檔案,讓備份複本可以使用原始版本的名稱。 指派原始版本的名稱給備份複本,然後在 Access 中開啟重新命名後的備份。

使用刪除查詢

若要建立刪除查詢,請按兩下 [ 建立] 索引 標籤,在 [ 查詢] 群組中,按兩下 [ 查詢設計]。 按兩下您要刪除記錄的每一個資料表,然後按兩下[ 關閉]

數據表會顯示為查詢設計網格線上方區段的視窗。 從欄位清單中,按兩下星號 (*) ,將資料表中的所有欄位新增到設計網格線。

在刪除查詢中使用特定準則

重要: 使用準則僅傳回您要刪除的記錄。 否則,刪除查詢會移除資料表中的每一筆記錄。

按兩下要指定為刪除準則的欄位,在查詢設計工具的 [ 準則 ] 列中輸入其中一個準則,然後清除每個準則字段的 [ 顯示 ] 複選框。

您可能會想要使用此選項的範例:假設您想要移除客戶所有擱置中的訂單。 若只要尋找這些記錄,您會將 [客戶標識符] 和 [訂單日期] 字段新增至查詢設計網格線,然後輸入客戶的標識符編號,以及該客戶訂單無效的日期。

  1. 在 [ 設計] 索引 標籤上,按兩下 [ 檢視 > 數據工作表檢視]

  2. 確認查詢傳回您要刪除的記錄,然後按 CTRL+S 以儲存查詢。

  3. 若要執行查詢,請在 [導航窗格] 中按兩下查詢。

頁面頂端

使用更新查詢

附註: 您無法在 Access Web App 中使用更新查詢選項。

本節說明如何使用更新查詢來刪除數據表中的個別欄位。 請記住,根據您指定的準則,執行更新查詢以刪除數據會將現有值變更為 NULL 或零長度字串, (一對在) 之間沒有空格的雙引號。

  1. 按兩下 [ 建立] 索引 標籤,然後按兩下 [查詢] 群組中的 [ 查詢設計]

  2. 選取含有您要刪除之數據的數據表 (如果數據表相關,請選取關聯) 「一」端的數據表,按兩下 [ 新增],然後按兩下 [ 關閉]

    數據表會顯示為查詢設計網格線上方區段的視窗。 視窗會列出所選取資料表中的所有欄位。

  3. 按兩下星號 (*) ,將資料表中的所有欄位新增到設計網格線。 新增所有數據表欄位可讓刪除查詢從資料表中移除 (列) 整筆記錄。

    或者,您可以在設計工具的 [ 準則 ] 列中輸入一或多個字段的準則,然後清除每個準則字段的 [ 顯示 ] 複選框。 如需使用準則的詳細資訊,請參閱 選取查詢數據表的範例準則

    附註: 您可以使用準則只傳回您要變更的記錄。 否則,更新查詢會設定為查詢中每個欄位中的每一筆記錄都為 NULL。

  4. 在 [設計] 索引標籤的 [結果] 群組中,按一下 [檢視],再按一下 [資料工作表檢視]。

  5. 確認查詢傳回您要設定為 NULL 或零長度字串的記錄, (一對中間沒有空格的雙引號 (“”) 。

  6. 視需要重複步驟 3 到 5,並變更欄位或準則,直到查詢僅傳回您要刪除的數據為止,然後按 CTRL+S 儲存查詢。

  7. 若要執行查詢,請在 [導航窗格] 中按兩下查詢。

頁面頂端

其他資訊

刪除關聯數據表中的數據

如果您想要刪除多個相關資料表中的數據,您必須針對每個關聯啟用 [引用完整性 ] 和 [串聯刪除相關記錄 ] 選項。 這可讓您的查詢刪除關聯「一」和「多」端之數據表中的數據。 準備刪除的相關資料需要驗證下列事項:

  • 判斷哪些記錄位於關聯的「一」端,哪些位於「多」端。

  • 如果您需要刪除「多」端關聯與相關記錄「一」端的記錄,請啟用一組稱為「引用完整性」的規則,並啟用串聯刪除。 本節中的步驟說明引用完整性,以及如何執行這兩項工作。

  • 如果您只需要刪除關聯「一」端的記錄,請先刪除該關聯,然後刪除數據。

如果您只需要移除關聯「多」端的數據,您可以建立並執行刪除查詢,而不需要變更關聯。

若要找出哪些記錄位於關聯的「一」和「多」端,請在 [ 資料庫工具 ] 索引標籤上,按兩下 [資料庫關聯 ] 群組中的 [ 資料庫關聯圖]。 [ 資料庫關聯圖] 索引 標籤會顯示資料庫中的數據表和關聯。 每個關聯都會被描述為連接欄位之間數據表的線條。

下圖顯示一般關聯。 資料庫中的關聯大部分(如果不是全部)都有「一」端和「多」端。 關聯圖代表「一」端與數位一 (1) ,以及「多」端與無限 () 符號。

兩個資料表之間的關聯

當您刪除關聯「一」端的記錄時,也會刪除關聯「多」端的所有相關記錄。 不過,當您刪除關聯「多」端的記錄時,通常不會刪除「一」端的記錄。

此外,Access 會自動強制執行一組稱為引用完整性的規則。 這些規則可確保資料庫中的外鍵包含正確的值。 外鍵是一個數據行,其值與另一個數據表的主鍵數據行中的值相符。

編輯關聯

只有當您需要刪除關聯「一」和「多」端的數據時,請遵循下列步驟。

  1. 在 [資料庫工具] 索引標籤上的 [資料庫關聯圖] 群組中,按一下 [資料庫關聯圖]。

  2. 以滑鼠右鍵按兩下關聯 (線) 連接刪除作業中包含的數據表,然後按下快捷方式選單上的 [ 編輯 關聯]。

  3. 在 [ 編輯關聯] 對話框中,確定已選取 [ 強迫引用完整性] 複 選框。

  4. 選取 [ 串聯刪除相關記錄] 複選框。

    附註: 在您再次停用此屬性之前,刪除關聯「一」端的記錄將會刪除關聯「多」端的所有相關記錄。

  5. 單擊 [確定],關閉 [資料庫 關聯圖 ] 窗格,然後繼續下一組步驟。

刪除關聯

  1. 如果您尚未這麼做,請開啟 [資料庫關聯 ] 窗格。

  2. 在 [資料庫工具] 索引標籤上的 [資料庫關聯圖] 群組中,按一下 [資料庫關聯圖]。

    記下關聯中包含的欄位,以便在刪除資料后還原關聯。

  3. 以滑鼠右鍵按兩下關聯 (線) 連接刪除作業中的數據表,然後按下快捷方式選單上的 [ 刪除 ]。

附註: 若要還原關聯,請依照前述步驟開啟 [資料庫關聯圖 ] 窗格 ,然後從「一」數據表拖曳主鍵字段,並將其放在「多」數據表的外鍵字段上。 [ 編輯關聯] 對話框隨即出現。 如果舊的關聯強制執行引用完整性,請選取 [強迫引用完整性],然後按兩下 [ 建立]。 否則,只要按兩下 [ 建立]

頁面頂端

選取查詢的範例準則

下表列出一些範例準則,當您想要確保只刪除您要刪除的數據時,可以在選取查詢中使用這些準則。 其中一些範例使用通配符。

準則

影響

> 234

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

>= “Cajhen”

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

Between #2/2/2010# And #12/1/2010#

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

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/2010#

尋找 2010 年 2 月 2 日的所有記錄。 如果您的資料庫使用 ANSI-92 通配符集,請用單引號代替井字型大小括住日期 ('2/2/2010') 。

< Date() - 30

會使用 Date 函數,傳回 30 天以前的所有日期。

Date()

會使用 Date 函數,傳回包含今天日期的所有記錄。

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

使用 DateDateAdd 函數傳回今天日期與今天日期三個月之間的所有記錄。

Is Null

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

Is Not Null

傳回包含任何非 Null) 值 (的所有記錄。

""

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

頁面頂端

疑難排解提示

我為何會看見這則錯誤訊息,以及要如何修正錯誤?

如果您使用多個數據表建立刪除查詢,且查詢的 [ 唯一記錄 ] 屬性設為 [否],Access 會顯示錯誤訊息;執行查詢時 ,無法從指定的數據表中刪除

若要修正這個問題,請將查詢的 [唯一記錄] 屬性設定為 [是]。

  1. 在 [設計檢視] 中開啟刪除查詢。

  2. 如果查詢屬性表沒有開啟,請按 F4 加以開啟。

  3. 按一下查詢設計工具以顯示查詢屬性 (而非欄位屬性)。

  4. 在查詢屬性表中,找出 [唯一記錄] 屬性,並且將它設定為 [是]

防止停用模式封鎖查詢

根據預設,如果您開啟的桌面資料庫並未選擇信任,或未位於信任的位置,Access 會封鎖所有動作查詢的執行。

如果您嘗試執行某個動作查詢,但好像什麼動作都沒有發生,請確認 Access 狀態列是否出現下列訊息:

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

當您看到該訊息時,請採取下列步驟來啟用封鎖的內容:

  • 在 [ 安全性警告 訊息列] 上,按兩下 [ 啟用內容],然後再次執行查詢。

頁面頂端

Need more help?

Want more options?

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

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?
By pressing submit, your feedback will be used to improve Microsoft products and services. Your IT admin will be able to collect this data. Privacy Statement.

Thank you for your feedback!

×