使用查詢從 Access 資料庫刪除資料

附註:  我們想要以您的語言,用最快的速度為您提供最新的說明內容。 本頁面是經由自動翻譯而成,因此文中可能有文法錯誤或不準確之處。讓這些內容對您有所幫助是我們的目的。希望您能在本頁底部告訴我們這項資訊是否有幫助。 此為 英文文章 出處,以供參考。

若要快速,刪除的大量資料或定期執行相同的刪除作業,請考慮使用查詢。查詢可協助您確認,您要刪除的正確的資料,並可儲存並輕鬆地重複。

附註: 如果您想要移除少量的記錄,您覺得手動刪除任何數量,您可以在資料工作表檢視中開啟資料表,選取 [欄位] 或 [您想要刪除的列,然後按 DELETE。

重要: 請確定您有資料庫的備份,再刪除資料。

本文內容

選擇查詢類型,根據您想要刪除的資料

建立及使用刪除查詢

建立及使用更新查詢

從關聯資料表刪除資料

選取查詢的準則範例

其他資訊

選擇查詢類型,根據您想要刪除的資料

您可以選擇使用更新查詢或刪除查詢,視您需要執行的刪除類型而定。

刪除查詢

若要移除整筆記錄 (列),從資料表或兩個相關資料表,一次使用刪除查詢。刪除查詢會移除每個欄位,包括使該筆記錄具有唯一性的索引鍵值中的所有資料。

附註: 如果您想要刪除的記錄位於一對多關聯 「 一 」 端,您可能需要執行刪除查詢之前,請變更關聯。請參閱本文中的一節從關聯資料表刪除資料

更新查詢

使用更新查詢來刪除表格中的個別欄位的值,更新查詢可讓您刪除的值 (也就是沒有資料) 的 null 值或零長度字串 (中間沒有空格的雙引號括住的一組) 更新現有的值。

頁面頂端

如何驗證,然後再使用查詢刪除資料

  • 確定資料庫並非唯讀。若要這麼做,請在 [Windows 檔案總管] 中,以滑鼠右鍵按一下資料庫檔案,再按一下 [摘要資訊

  • 確認您擁有刪除資料庫中記錄的必要權限。如果您不確定,請連絡系統管理員或資料庫設計人員。

  • 請確定您已啟用資料庫中的內容。 根據預設,Access 會封鎖所有巨集指令查詢 (刪除、 更新及產生資料表查詢),除非您先信任資料庫。信任資料庫的相關資訊,請參閱本文稍後的而不要封鎖查詢停止停用模式

  • 要求資料庫的其他使用者關閉使用您想要刪除之資料的所有資料表、表單、查詢和報表。如此可避免發生鎖定衝突。

  • 編輯或刪除記錄前,請將資料庫備份。您無法回復的作業的由刪除執行更新查詢,讓建立備份,可確保您永遠可以反轉您的變更。

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

若要以獨佔模式開啟資料庫:

  1. 按一下 [檔案] 索引標籤,然後按一下 [開啟舊檔]

  2. 瀏覽至資料庫並加以選取,再按一下 [開啟] 按鈕旁的箭號,然後按一下 [獨佔式開啟]

    在獨佔模式中開啟檔案

備份資料庫

  1. 按一下 [ 檔案] 索引標籤,指向儲存並發佈],然後在將資料庫儲存為按一下備份資料庫.Access 會關閉原始檔案、 建立備份,及又重新開啟原始檔案。

  2. [另存新檔] 對話方塊中,指定備份的名稱和位置,然後按一下 [儲存]

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

建立及使用刪除查詢

本節中的步驟說明如何建立和使用刪除查詢從表格刪除整筆記錄:

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

顯示資料表] 對話方塊隨即出現。

  1. 按兩下您想要刪除的記錄,然後按一下每個的資料表關閉

該資料表會在查詢設計格線的上方區段中以視窗形式出現。該視窗會列出所選資料表的所有欄位。

  1. 按兩下星號 (*),將資料表中所有的欄位加入至設計格線。

您也可以按兩下您想要刪除為指定的準則,請輸入一或多個準則中的使用的任何欄位的設計工具],然後清除 [準則] 資料列顯示每個準則欄位] 核取方塊。

例如,假設客戶超出商務,您需要移除的所有擱置的客戶訂單。若要尋找只是這些記錄,您將 [客戶編號] 和 [訂單日期] 欄位新增至設計格線中,,然後您輸入的識別碼發生登出商務客戶以及在客戶的訂單變得無效的日期。

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

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

  2. 檢查查詢是否傳回您要刪除的記錄,再按下 CTRL+S 儲存查詢。

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

頁面頂端

建立及使用更新查詢

本節中的步驟說明如何使用更新查詢來刪除一個對多關聯性一部分之 「 多 」 端的資料表中的個別功能變數。您也可以遵循下列步驟,從其他資料與不相關的資料表刪除資料。請記住,執行更新查詢來刪除資料會變更現有的值為 NULL,或者零長度字串 (成對的雙引號中之間沒有空格),根據您指定的準則。

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

顯示資料表] 對話方塊隨即出現。

  1. 選取包含您想要刪除之的資料的資料表 (如果關聯的資料表中, 選取關聯 「 一 」 端的資料表),按一下 [ 新增],然後按 [ 關閉

該資料表會在查詢設計格線的上方區段中以視窗形式出現。該視窗會列出所選資料表的所有欄位。

  1. 按兩下星號 (*),將資料表中所有的欄位加入至設計格線。加入所有資料表欄位會使刪除查詢移除資料表的整筆記錄 (列)。

    或者,您可以在這裡輸入準則中的一或多個欄位的設計工具],然後清除 [準則] 資料列顯示每個準則欄位] 核取方塊。如需更多關於使用準則的詳細資訊,請參閱選取查詢的準則範例表格。

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

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

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

  3. 依需要重複步驟 3 到 5 並變更欄位或準則,直到查詢只傳回您要刪除的資料,再按下 CTRL+S 來儲存查詢。

  4. 若要執行查詢,請在 [功能窗格] 中按兩下該查詢。

頁面頂端

從關聯資料表刪除資料

如果您想要刪除好幾個相關資料表中的資料,您必須先啟用參考完整性串聯刪除關聯記錄選項,為每個關聯性。這個選項可讓您的查詢,若要刪除的 「 一 」 和 「 多 」 端的關聯的資料表中的資料。準備刪除相關的資料需要驗證的動作:

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

  • 如果需要刪除關聯「一」端上的記錄以及「多」端上的相關記錄,可以啟用稱為「參考完整性」的一組規則,而且可以啟用串接刪除。本節中的步驟說明「參考完整性」以及如何執行上述兩項工作。

  • 如果只需要刪除關聯「一」端上的記錄,則要先刪除該關聯,然後再刪除資料。

    -或-

如果只需要移除關聯「多」端上的資料,則可以建立並執行刪除查詢,而不必變更關聯。

決定的關聯

若要判斷哪些記錄位於 「 一 」 和 「 多 」 端的關聯:

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

關係] 索引標籤會出現,並顯示所有的資料表中您的資料庫,以及每個資料表與其他每個資料表之間的關聯。每個關聯性是所述,為一條線連接欄位之間的資料表。

下圖顯示一般的關聯。大部分,如果沒有全部的資料庫中的關聯性有 「 一 」 端與 「 多 」 端。關聯圖表示 「 一 」 端,以數字 (1) 和 「 多 」 側邊有無限 () 符號。

兩個資料表之間的關聯

一般而言,刪除關聯性「一」端的記錄時,會同時刪除關聯性「多」端的所有相關記錄。不過,刪除關聯性「多」端的記錄時,通常不會刪除「一」端的記錄。

同樣地,根據預設,Access 會強制使用一組稱為「參考完整性」的規則。這些規則能確保資料庫中的外部索引鍵包含正確的值。外部索引鍵是一個欄,其值與另一個資料表的主索引鍵資料行中的值相符。

編輯關聯

請只有在您需要刪除關聯的「一」和「多」端的資料時,才遵照這些步驟進行。

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

  2. 關聯 (線條) 相關的資料表中執行刪除操作,以滑鼠右鍵按一下,然後按一下 [快顯功能表上的 [編輯關聯

編輯關聯] 對話方塊隨即出現。

  1. 確定已選取 [強迫參考完整性] 核取方塊。

  2. 選取 [ 串聯刪除關聯記錄] 核取方塊。

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

  1. 按一下 [ [確定] 關閉資料庫關聯圖] 窗格中,並在然後請移至下一組步驟。

刪除關聯

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

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

請注意關聯中涉及的欄位,如此才能在刪除資料之後還原關聯。

  1. 關聯 (線條) 相關的資料表中執行刪除操作,以滑鼠右鍵按一下,然後按一下 [快顯功能表上的 [刪除

附註: 若要還原的關聯,請遵循上述步驟開啟資料庫關聯圖] 窗格中,然後拖曳主索引鍵欄位 「 一 」 資料表並置放在 「 多 」 資料表的外部索引鍵欄位。編輯關聯] 對話方塊隨即出現。選取 [強迫參考完整性舊的關聯,如果強迫參考完整性,然後按 [ 建立。否則,只要按一下建立

頁面頂端

選取查詢的準則範例

下表列出可用於選取查詢的準則範例,這些準則可在要確保只刪除要刪除的資料時使用。其中有些範例會使用萬用字元。

準則

效果

> 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 "德國"

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

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 函數,傳回在今天日期和今天日期後 3 個月之間的所有記錄。

Is Null

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

Is Not Null

會傳回包含任何值 (除了 Null 以外) 的所有記錄。

""

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

頁面頂端

其他資訊

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

如果您使用多個資料表建立刪除查詢,而且該查詢的 [唯一記錄] 屬性是設定為 [否],則當您執行查詢時,Access 會顯示 [無法從特定的資料表中刪除] 的錯誤訊息。

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

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

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

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

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

頁面頂端

停止停用模式而不要封鎖查詢

根據預設,如果開啟您尚未選擇信任或不位於受信任位置的資料庫,Access 就會封鎖所有動作查詢,讓它們無法執行。

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

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

看見該訊息時,請採取下列步驟來啟用已封銷的內容:

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

 頁面頂端

增進您的 Office 技巧
探索訓練
優先取得新功能
加入 Office 測試人員

這項資訊有幫助嗎?

感謝您的意見反應!

感謝您的意見反應! 我們將協助您與其中一位 Office 支援專員連絡以深入了解您的意見。

×