您可以定期存檔舊記錄或非使用中記錄,讓 Microsoft Access 資料庫保持井井有條且易於管理。 您可以存檔資料庫中的所有資料表、特定資料表,或只存檔特定記錄,例如比特定日期更久的記錄。 本主題說明如何使用三種不同的選項來存檔 Access 資料庫中的資料。

本文內容

何時該考慮存檔?

當您電腦上資料庫包含您不想再使用的資料,但您想要保留這些資料,以防您在某些時間點需要資料,或符合資料保留政策時,請保留這類資料。 存檔也常用來根據日期條件保留資料,例如月底。

資料存檔的方法

下表列出要存檔資料的方法、方法的描述、您應何時使用的方法說明,以及方法的其他特定考慮。

方法

描述

使用時機...

其他考量

定期取代資料表

定期建立特定資料表的存檔副本,並取代為新的空白資料表副本。

資料表中的所有記錄都符合您決定是否要存檔的條件。

範例:您擁有儲存每日極端溫度的資料表。 每年,您都會將表格存檔,然後從空白資料表開始重新建立。

定期取代所有資料表

定期建立後端資料庫的存檔副本,然後以新的空白資料庫取代後端資料庫。 需要分割資料庫 (包含:包含所有資料表的後端資料庫檔案;以及包含所有其他資料庫物件的前端資料庫) 。

資料庫中大部分資料表中的所有記錄都符合您決定是否要存檔的條件。

範例:您的資料庫是由數個數據表所組成,這些資料表包含不同類型的氣象資料。 您每年會存檔所有資料表。

  • 如果您有任何用於儲存值的資料表 (資料表 ,例如郵遞區號或部門) ,您可能需要將資料導入新的後端資料庫。

  • 您必須手動存檔資料庫。 您無法將宏用於這個方法。

定期將記錄移至存檔資料表

定期執行查詢,選取要存檔的記錄,並將資料新增到存檔資料表,然後執行查詢以從原始資料表 (選取相同的記錄) 並將其刪除。

資料表中的某些記錄符合您決定是否要存檔的條件。

範例:如果您要將文件庫交易 (存) 存到日期至少一年,請簽出。

  • 您可能必須處理 參考完整性,尤其是當您想要存檔的記錄位於資料庫的一側時 一對多關聯性。 請參閱有關使用 參考完整性的一節以 瞭解更多資訊。

警告: 如果您需要在查詢中使用參數,您應該建立表單以處理參數。 否則,您有資料遺失的風險。

使用參考完整性

如果您要存檔的記錄與其他資料表中的記錄相關,您可能需要處理關聯。 如果您要存檔的記錄是「子」記錄 (屬於 「多」端 一對多關聯性) ,您可以放心地將它們安全地存檔。 如果您要存檔的記錄是「父」記錄 (它們屬於 一對多關聯性) 的「單一」端,當您將它們存檔時,其相關的「子」記錄可能會:

  • 防止您刪除「父」記錄。 如果您已經將「父項」記錄附加到存檔資料表,就可能會造成問題。

    - 或 -

  • 成為「孤立」—屬於不存在「父項」的記錄。 這可能會導致資料庫中使用「孤立」記錄的資料完整性和功能發生問題。

若要考慮參考完整性,請執行下列步驟:

  1. 判斷哪些「子」記錄屬於您想要存檔的記錄。 例如,若要在文件庫存檔資產的記錄,首先請判斷這些資產上是否有開啟的任何交易,也就是說,資產是否已簽出,但並未退回。

  2. 執行下列其中一個動作:

    • 如果「子」記錄永遠可以安全地刪除,請確定該關係會強制執行參考完整性,並刪除級聯。 這可確保刪除所有相關的「子」記錄。

    • 如果「子」記錄永遠無法安全地刪除,請考慮將資料庫中的所有資料表全部歸檔。

    • 建立查詢,選取沒有「子」記錄的「父」記錄。 然後,使用第一個查詢來建立您的 (查詢,請參閱「定期」將記錄 移至) 資料表,而不是使用「父」資料表。

頁面頂端

定期取代資料表

如果您想要將資料表中的所有資料全部存檔,您可以定期以空白副本取代資料表。

重要: 如果您所存檔的資料表與其他資料表相關,您可能需要處理 參考完整性

  1. 在功能窗格中,選取要存檔的資料表,按 CTRL+C,然後按 CTRL+V。

  2. 在 [貼上表格為位置的對話方塊, The Paste Options, selectStructure Only,and then click OK.

    Access 將複製名稱命名為原始資料表名稱的複製。

  3. 在功能窗格中,以滑鼠右鍵按一下原始表格,然後按一下 快捷方式 功能表上的 [重新命名。

    為數據表指定另一個名稱,以指出其中包含哪些內容,例如"DailyTemperatureExtremes_archive_2019"。

  4. 在功能窗格中,以滑鼠右鍵按一下空白的複製,然後按一下快捷方式功能表上的 [ 重新命名。 使用原始資料表的名稱重新命名。

頁面頂端

定期取代所有資料表

如果您使用分割資料庫,您可以定期取代所有資料表,以空白複本取代後端資料庫。

若要這麼做,請先準備空白的複製。 除非資料庫設計變更,否則您可以在每次存檔時重複使用此空白複本。 若要進行存檔,只要重新命名現有的後端資料庫,表示它是一個存檔,然後將空白副本另存為新的後端資料庫。

準備後端資料庫的空白副本

首先,將後端資料庫中所有資料表的資料表定義都匯出。

  1. 在 [ 檔案> Tab 上,按一下 [新增,選取 空白資料庫,然後按一下 [建立

  2. 關閉 Table1。

  3. 在 [外部資料> 的 [外部資料&,按一下Access。

  4. 在 [ 取得外部資料 – Access 資料庫 ) 對話方塊中,選取 [將資料表、查詢、表單、報表、宏和模組導入 至目前的資料庫,然後按一下 [ 流覽

  5. 在 [ 檔案開啟 的檔案中, 選取後端資料庫。 按一下 [開啟 以關閉 檔案開啟 的對話方塊,然後按一下 [確定

  6. [Import Objects, dialog, click Options.

  7. 匯出資料表下,選取僅 定義

  8. 在 [ 表格> 索引鍵 上,按一下 [全選,按一下 [確定>,然後按一下 [關閉

在空白副本中新增資料至任何查詢資料表 

針對每個資料表,執行下列步驟:

  1. 連結至現有後端資料庫中的查詢資料表。

  2. 建立新增查詢,將原始記錄的所有記錄新增到副本。

以空白副本取代後端資料庫

首先,重新命名現有的後端資料庫,表示它現在是一個存檔。 然後,開啟空白的複製,然後使用原始的後端資料庫名稱儲存。

  1. 按一下 [ 檔案> Tab, 然後按一下 [另存資料庫為。 系統可能會提示您關閉所有開啟的物件;如果是,請按一下 [確定。 隨即 開啟 [另存新 用模式> 對話方塊。

  2. [另存新 (對話方塊頂端的 [另存新案) 中,請確定檔案儲存于與原始後端資料庫相同的位置。

  3. 檔案名方塊 中,輸入原始後端資料庫的名稱。

  4. 在儲存為類型方塊中,選取Access Database (*.accdb) 。

頁面頂端

定期將記錄移至存檔資料表

這是四個步驟程式,需要製作包含要存檔之記錄的空白資料表副本、建立新增查詢以將記錄從原始資料表複製到存檔資料表、建立 刪除查詢 以從原始資料表移除已存檔的記錄,最後建立宏以執行這兩個可在您進行存檔時執行的查詢。 如果您按照以下呈現的循序執行下列步驟,這個看似複雜的程式就很容易:

步驟 1:建立存檔資料表

步驟 2:建立新增查詢以將資料複製到存檔資料表

步驟 3:建立刪除查詢以從原始資料表移除資料

步驟 4:建立宏以同時執行追加和刪除查詢

步驟 1:建立存檔資料表

若要將所有已存檔的記錄保留于一個資料表中,請執行此步驟一次。 在此步驟中建立的存檔資料表會保留所有已存檔的記錄。

若要在建立新資料表時刪除舊的存檔資料表,而不執行此步驟,您可以使用 產生資料表查詢 將資料複製到您的存檔資料表。 若要這麼做,請跳至步驟 2。

若要每次存檔時都使用新的存檔資料表,但若要同時保留舊的存檔資料表,請重新命名舊的存檔資料表,然後再建立新資料表。 如果您要根據日期來存檔,請考慮根據舊資料表代表的日期範圍來命名舊資料表。

  1. 在功能窗格中,選取有記錄要存檔的表格,按 CTRL+C,然後按 CTRL+V。

  2. 在 [資料表名稱> 方塊中,刪除 [複製的字詞並附加一個強調文字,以及「存檔」一詞至現有的資料表名稱,然後按一下[確定。 例如,如果原始資料表名為交易,則存檔資料表會命名為Transactions_archive。

    貼上資料表成為

  3. 在 [貼上表格為位置的對話方塊, The Paste Options,select Structure Only.

步驟 2:建立新增查詢以將資料複製到存檔資料表

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

  2. 新增包含要存檔之記錄的表格。

  3. 在查詢設計視窗中,按兩下您剛才 () 資料表中的星號 (*) 。 資料表名稱和星號會顯示在查詢設計格線的第一欄。

    附註: 星號表示查詢應包含查詢輸出中資料表的所有欄位。 當您使用星號時,如果欄位已新增或移除資料表,查詢輸出會據此調整。

  4. 在查詢設計視窗中,按兩下要用於指定記錄在存檔前應符合的條件的欄位。 例如,如果您的 [交易資料表有一個稱為存回日期的欄位,而您想要將日期超過一年的所有記錄全部存檔,請按兩下該欄位,該欄位會出現在查詢設計格線的下一個空白欄中。

    查詢設計格線

    如果您想要將準則用於其他欄位,請重複此步驟。

  5. 使用 準則 列來指定您剛才新增之欄位的準則。 例如,您可以在準則資料列使用運算式<#1/1/2019#來指定已簽入日期必須早于 2019 年 1 月 1日。

    如果每次您存檔時準則值變更,您應該讓查詢要求輸入。 若要這麼做,請使用準則資料列中的參數,讓查詢要求輸入。 若要使用參數,請像平常一樣使用運算式,但請以方括弧括住簡短的問題,而不使用指定的值。 例如,您可以使用運算式 <[archive transactionscompleted before: ],如下所示:

    參數運算式

    有關使用參數的資訊,請參閱查詢 簡介一文

    您可能也想要 使用或列 來指定覆寫準則。 如需使用準則的詳細資訊,請參閱查詢準則範例一文。

    提示: 如果您使用日期欄位來指定準則,而您想要存檔所有比目前日期更久的記錄,請在日期欄位的<準則資料 () 資料列輸入日期

  6. 執行下列其中一個動作:

    如果您已經建立存檔資料表,請使用新增查詢將指定的記錄新增到該資料表:

    1. 在 [設計] 索引標籤的 [查詢類型] 群組中,按一下 [新增]。

    2. 在 [附加資料表名稱」對話方塊中,選取 [存檔資料表名稱>,然後按一下[確定

      附加至

      在查詢設計格線中,會出現 追加到 列。

    3. 針對您 用來指定 準則的任何欄位,清除附加到資料列。 (星號應具有附加至.)

      查詢設計格線 [附加至] 列

      如果您尚未建立存檔資料表,請使用產生資料表查詢,使用指定的記錄來建立存檔資料表:

    4. [設計] 索引標籤的 [查詢類型] 群組中,按一下 [製成資料表]

    5. [製作表格名稱」 對話方塊中的 [資料表名稱> 方塊中,輸入存檔資料表的名稱,然後按一下[確定

  7. 按下 CTRL+S 儲存查詢。

步驟 3:建立刪除查詢以從原始資料表移除資料

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

  2. 新增包含要存檔之記錄的表格。

  3. 在查詢設計視窗中,按兩下您剛才 () 資料表中的星號 (*) 。 資料表名稱和星號會顯示在查詢設計格線的第一欄。

  4. 在查詢設計視窗中,按兩下您用來在新增查詢中指定條件的相同欄位。

  5. 使用 準則 列來指定您剛才新增之欄位的準則。 如需使用準則的詳細資訊,請參閱查詢準則範例一文。

    重要: 如果追加或 make-table 查詢使用參數,請確定刪除查詢也使用參數。 同時請記住,這兩個查詢都輸入相同的值。 如果您輸入不同的參數值,可能會失去資料。 若要協助防止資料遺失,請考慮使用表單來收集值,然後讓查詢要求表單輸入值。 詳細資訊請參閱查詢 簡介一文

  6. 在 [設計工具索引鍵中, 查詢類型群組中, Click Delete.

    刪除 會出現在查詢設計格線中。

    查詢設計格線 [刪除] 列

  7. 按下 CTRL+S 儲存查詢。

步驟 4:建立宏以同時執行追加和刪除查詢

  1. 在 [建立] 索引標籤上,按一下 [巨集與程式碼] 群組中的 [巨集]。

  2. 按一下新增動作旁的下拉式鍵,然後按一下OpenQuery。

    OpenQuery動作會顯示並顯示其引數。

  3. 查詢名稱方塊 中,選取 (步驟 2 中) 追加或建立資料表 的查詢

  4. 按一下新增動作旁的下拉式鍵,然後按一下OpenQuery。

    OpenQuery動作會顯示並顯示其引數。

  5. 在查詢 名稱方塊 中,選取您于步驟 3中建立刪除查詢。

  6. 按 CTRL+S 以儲存宏。

    當您想要存檔記錄時,請執行宏。

頁面頂端

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?

Thank you for your feedback!

×