封存 Access 資料

重要:  本文係由機器翻譯而成,請參閱免責聲明。本文的英文版本請見這裡,以供參考。

您可以定期封存舊記錄或未使用的記錄,讓資料能夠條理分明。例如,假設您使用 Access 管理一個出借資料庫,可能會用一張資料表來記錄出借交易,其中包含物品的出借日期欄位以及交還日期欄位;而您的記錄保留原則或許是將物品交還一年之後的出借交易記錄予以封存,超過兩年的記錄則予以銷毀。

您可以封存資料庫中的所有資料表,或是只封存特定資料表或特定幾筆記錄 (例如早於特定日期的記錄)。本主題將說明如何封存資料。

本文內容

概觀

定期將記錄移入封存資料表

定期置換單一資料表

定期置換所有資料表

概觀

對於以後不打算使用,但卻需要保留以備不時之需的資料,您應該考慮進行封存。您可以擬定資料保留原則之類的封存計劃。

封存功能通常會根據日期條件 (例如一個月結束之時) 來儲存資料。

資料封存方法

下表列出資料封存方法、各方法適用的情況以及其他考量。

方法

描述

適用的情況

其他考量

定期將記錄移入封存資料表

每過一段時間,您就要執行查詢來選取要封存的資料,並且將該資料附加到封存資料表。然後,您要執行查詢以選取相同的資料 (從原始資料表) 並予以刪除。

資料表中的某些記錄符合您的封存條件。

範例:您想要封存「還回日期」已超過一年的資料庫交易 (出借交易)。

  • 可能必須解決參考完整性,尤其是如果您想要保存的記錄會在一對多關聯性的一側。

  • 如果您需要在查詢中使用參數,則應該建立一個用來處理參數的表單,否則就要承擔資料遺失的風險。

定期置換單一資料表

每過一段時間,您就要製作特定資料表的封存複本,然後以新的空白複本取代該資料表。

資料表中的所有記錄都符合您的封存條件。

範例:您有一個儲存每日溫度極端值的資料表。每一年您都要封存該資料表,再用一個空白的資料表重新記錄。

  • 可能需要解決參考完整性。

定期置換所有資料表

您開始使用一個分割資料庫 (這種資料庫包含下列項目:包含所有資料表的後端資料庫檔案,以及包含所有其他資料庫物件的前端資料庫檔案)。每過一段時間,您就要製作後端資料庫的封存複本,再以新的空白複本取代該後端資料庫。

您資料庫中大部分資料表的所有記錄皆符合您的封存條件。

範例:您的資料庫包含許多資料表,其中有不同類型的氣象資料。每一年您都要封存所有資料表。

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

  • 此方法無法使用巨集。您必須手動封存資料庫。

處理參考完整性

如果您想要保存記錄相關記錄其他資料表中,您可能必須解決關聯性。如果您想要保存記錄 」 的子 」 記錄 (這些工具屬於 「 多 」 端的一對多關聯性),您可以而不需要考慮,可能是因為安全地保存它們。如果您想要保存的記錄是"parent"記錄 (這些工具屬於 「 一 」 端的一對多關聯性),其相關的 「 子 」 當您封存這些記錄可能︰

  • 不讓您刪除「上層」記錄。如果您已經將「上層」記錄附加至封存資料表,這可能會造成問題。

    - 或 -

  • 變成不存在的「上層」記錄所屬的「孤立」記錄。這會在使用「孤立」記錄的資料庫中造成資料完整性和多種功能問題。

若要處理參考完整性,請採取下列步驟:

  1. 針斷要封存的記錄,判斷其所屬「子」記錄。例如,如果要封存出借給資料庫的資產記錄,首先要判斷這些資產是否有任何進行中的交易,亦即是否有出借但未還回的資產。

  2. 請執行下列其中一項:

    • 如果「子」記錄總是能夠安全地刪除,請使用串聯刪除,以確保其關聯性會強迫參考完整性。這可以確保將會刪除所有相關的「子」記錄。

    • 如果「子」記錄並非總是能夠成功刪除,請考慮封存資料庫中的所有資料表

    • 請建立查詢,選取不具有「子」記錄的「上層」記錄。然後,使用第一個查詢來建立您的封存查詢 (請參閱定期將記錄移入封存資料表一節),而不使用「上層」資料表。

      提示: 若要尋找不吻合的記錄,您可以使用 [查詢精靈]。如需詳細資訊,請參閱文件比較兩份資料表,找出不吻合的記錄

頁面頂端​

定期將記錄移入封存資料表

首先,您可以請含有您想要保存的記錄的資料表中的空白的複本。此新的空白資料表會封存表格。接下來,您可以建立新增查詢 ,若要從原始表格複製到封存資料表中的記錄。然後,您建立的封存的記錄移除原始表格刪除查詢 。最後,您可以建立執行兩個查詢的巨集。當您想要保存記錄時,您可以執行巨集。

提示: 您可以將巨集附加到表單上的一個按鈕,只要按下該按鈕,便能執行巨集。

步驟 1:建立封存資料表

步驟 2:建立將資料複製到封存資料表的查詢

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

步驟 4:建立執行兩種查詢的巨集

步驟 1:建立封存資料表

如果要將所有封存記錄保留在單一資料表中,您只需要執行一次此步驟。在此步驟中建立的封存資料表將會容納您的所有封存記錄。

如果您想要 destroy 舊封存表格,當您建立新的項目時,您不需要執行此步驟。您可以使用產生資料表查詢 ,而不是新增查詢,將資料複製到您的封存資料表。若要這麼做,請跳至步驟 2

如果要在每次封存時使用新的封存資料表,並且保留舊的封存資料表,那麼請在建立新資料表前重新命名舊的封存資料表。如果要根據日期進行封存,請考慮以舊封存資料表的日期範圍進行命名。

附註: 如果每次都需要建立新的封存資料表並且保留舊資料表,就得在執行查詢之前重新命名舊的封存資料表。

  1. 在功能窗格中,選取包含待封存記錄的資料表、按 CTRL+C 鍵,再按 CTRL+V 鍵。

  2. [貼上資料表成為] 對話方塊的 [貼上選項] 底下,選取 [只有結構]

  3. 表格名稱] 方塊中,刪除複製的文字和將底線和 「 封存 」 新增至現有的表格名稱],然後按一下[確定]。例如,如果原始表格名稱為交易封存資料表名稱為Transactions_archive

    貼上資料表成為

步驟 2:建立將資料複製到封存資料表的查詢

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

  2. 使用 [顯示資料表] 對話方塊來加入包含待封存記錄的資料表,然後關閉 [顯示資料表] 對話方塊。

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

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

  4. 在查詢設計視窗中,按兩下您要用來指定記錄封存時機條件的欄位。例如,如果您的「交易」資料表中有一個稱為「還回日期」的欄位,而您要封存日期早於一年以上的所有記錄,請按兩下 [還回日期]。該欄位會顯示在查詢設計格線的下一個空白資料行中。

    查詢設計格線

    如果您要使用其他欄位做為準則,請重複此步驟。

  5. 您可以使用 [準則] 列,指定您剛才新增的欄位的準則。比方說,您可能會指定核取 [在日期必須早於 2008 年 1 月 1 日使用運算式< #1/1/2008年 #準則] 列中。

    如果每一次封存時都要變更準則值,您應該讓查詢提示輸入。方法是在 [準則] 列中使用一個參數,以讓查詢提示輸入。請按照您使用運算式的方式來使用參數,但是不用指定值,而是以方括弧括住一個簡短的問題。例如,您可以如下使用運算式 <[封存在此時間前完成的交易:]

    參數運算式

    如需有關使用參數的詳細資訊,請參閱讓查詢要求輸入一文。

    您可能還需要使用 [或] 資料列來指定替代條件。如需使用條件的詳細資訊,請參閱查詢準則範例一文。

    提示: 如果您使用日期欄位指定準則,而且您要封存早於目前日期的所有記錄,請在日期欄位的 [準則] 列輸入 <Date()

  6. 請執行下列其中一項:

    • 如果您已經建立封存資料表,就需要一個新增查詢,以便將指定記錄加入該資料表。

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

      2. [附加] 對話方塊的 [資料表名稱] 方塊中,選取封存資料表的名稱,然後按一下 [確定]

        附加至

        [附加至] 列會顯示在查詢設計格線中。

      3. 取消選取您用來指定準則的任何欄位的 [附加至] 列 (只有星號項目具有 [附加至] 值)。

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

    • 如果您尚未建立封存資料表,就需要一個製成資料表查詢,以便使用指定記錄建立封存資料表。

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

      2. [製成資料表] 對話方塊的 [資料表名稱] 方塊中,輸入封存資料表的名稱,然後按一下 [確定]

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

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

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

  2. 使用 [顯示資料表] 對話方塊來加入包含待封存記錄的資料表,然後關閉 [顯示資料表] 對話方塊。

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

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

  5. 使用 [準則] 資料列為您剛新增的欄位指定準則。如需使用條件的詳細資訊,請參閱查詢準則範例一文。

    重要: 如果您的「新增」或「製成資料表」查詢使用了參數,那麼您的刪除查詢也要使用參數。此外,您應該確認您在兩個查詢中輸入相同的值。如果您輸入不同的參數值,資料便會遺失。為了協助避免資料遺失,請考慮使用表單來收集這些值,並且讓查詢提示表單輸入值。如需詳細資訊,請參閱讓查詢要求輸入一文。

  6. [設計] 索引標籤上,按一下 [查詢類型] 群組中的 [刪除]

    [刪除] 列會在查詢設計格線中顯示。

    查詢設計格線 [刪除] 列

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

步驟 4:建立執行兩種查詢的巨集

  1. [建立] 索引標籤的 [其他] 群組中,按一下 [巨集]。如果無法使用這個命令,請按一下 [模組][類別模組] 按鈕下方的箭號,然後按一下 [巨集]

  2. 在 [巨集設計格線中,在 [動作] 欄中的第一列中選取 [ openquery 巨集]。

    OpenQuery 巨集指令

  3. 在底部的方格中,在 [巨集指令引數,在 [查詢名稱] 方塊底下,選取 [(附加或產生資料表) 您在步驟 2 中建立下拉式清單中的查詢。

    OpenQuery 巨集指令查詢引數

  4. 在 [巨集設計格線中,在 [動作] 欄中的第二列選取 [ openquery 巨集]。

  5. 底部的方格中,在 [巨集指令引數,在 [查詢名稱] 方塊下,從下拉式清單中選取刪除查詢。

    您的巨集看起來應該像這樣︰

    準備好可以儲存的巨集

  6. 按 CTRL+S 鍵儲存巨集。

    當您要封存記錄時,只需執行巨集即可。

頁面頂端​

定期置換單一資料表

如果您總是要封存資料表中的所有資料,與其使用查詢或巨集,還不如考慮定期用空白複本置換資料表。

重要: 如果您封存的資料表與其他資料表有所關聯,您可能需要解決參考完整性

  1. 在功能窗格中,選取您要封存的資料表、按 CTRL+C 鍵,再按 CTRL+V 鍵。

  2. [貼上資料表成為] 對話方塊的 [貼上選項] 底下,選取 [只有結構],然後按一下 [確定]

    Access 名稱複製複製的原始資料表名稱

  3. 在功能窗格中,用滑鼠右鍵按一下原始資料表,然後在顯示的快顯功能表上按一下 [重新命名]

    為資料表的名稱,表示它的內容,例如 「 DailyTemperatureExtremes_archive_2007 」。

  4. 在功能窗格中,以滑鼠右鍵按一下空白複本,然後在顯示的快顯功能表上按一下 [重新命名]

    以原始資料表名稱命名空白複本。

頁面頂端​

定期置換所有資料表

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

首先,請準備空白複本。除非您的資料庫設計有所變更,否則,您可以在每次封存時重複使用此複本。然後,要進行封存時,請重新命名現有的後端資料庫,以表示該資料庫為封存資料庫,再將空白複本儲存為新的後端資料庫。

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

為後端資料庫中的所有資料表匯入資料表定義。

  1. 建立新的空白資料庫,並刪除「資料表1」。

  2. 在 [外部資料] 索引標籤的匯入群組中,按一下 [存取]。

  3. [取得外部資料] 對話方塊中,選取 [將資料表、查詢、表單、報表、巨集和模組匯入至目前資料庫],然後按一下 [瀏覽]

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

  5. [匯入物件] 對話方塊中,按一下 [選項]

  6. [匯入資料表] 底下,選取 [只有定義]

  7. [資料表] 索引標籤上,依序按一下 [全選][確定][關閉]

接下來,將資料新增到空白複本中的任何查閱資料表。針對每一個查詢資料表,執行下列步驟:

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

  2. 建立一個新增查詢,將原始資料表的所有記錄加入複本中。

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

首先,請重新命名現有的後端資料庫,以表示該資料庫現在為封存資料庫。

然後,開啟空白複本,並且使用原始後端資料庫名稱儲存該複本。

  1. 按一下 [ Microsoft Office 按鈕] Office 按鈕圖像 ,然後指向 [另存新檔]。隨後便會開啟 [另存新檔] 功能表。

  2. 按一下 [以其他格式儲存資料庫] 底下的 [Access 2007 資料庫]

頁面頂端​

附註: 機器翻譯免責聲明︰本文係以電腦系統翻譯而成,未經人為介入。Microsoft 提供此等機器翻譯旨在協助非英語系使用者輕鬆閱讀 Microsoft 產品、服務及技術相關內容。基於本文乃由機器翻譯而成,因此文中可能出現詞辭、語法、文法上之錯誤。

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

這項資訊有幫助嗎?

感謝您的意見反應!

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

×