隱藏使用者無法取得的 VBA 程式碼

套用到
Microsoft 365 Access Access 2024 Access 2021 Access 2019 Access 2016

如果你的 Access 資料庫包含 Visual Basic for Applications (VBA) 程式碼,你可以透過將資料庫儲存為 .accde 檔案格式來隱藏這些程式碼。 將資料庫儲存為 .accde 檔案會編譯所有 VBA 程式碼模組、移除所有可編輯的原始程式碼,並壓縮目的資料庫。 您的 VBA 程式碼會保留其功能,但無法檢視或編輯程序碼。 一般說來,資料庫會像平常一樣繼續運作,您仍然可以更新資料並執行報表。

本文內容

建立 .accde 檔案

使用下列程序建立 .accde 檔案。 此程序會讓原始的 .accdb 檔案未修改。

  1. 打開你的資料庫,然後點選「另存為檔案」。>
  2. [另存新檔] 區域的 [另存資料庫為] 底下,選取 [建立 ACCDE],然後按一下 [另存新檔]
  3. [另存新檔] 對話方塊中,瀏覽至要儲存 .accdb 檔案的位置。
  4. 或者,在 [檔案名稱] 方塊中輸入檔案的新名稱。
  5. 按一下 [儲存]
    如果您指定名稱的檔案已經存在,Access 會提示您取代現有的檔案。 按一下 [是] 以覆寫現有的 .accde 檔案,或按一下 [否] 傳回 [另存新檔] 對話方塊,然後輸入新的檔案名稱。

Access 會建立 .accde 檔案、關閉原始的 .accdb 檔案,然後開啟 .accde 檔案。

在 .accde 檔案中變更的功能

將 Access 資料庫儲存為 .accde 檔案並不會完全防止資料庫設計的變更。 不過,下列工作無法在 .accde 檔案中執行:

  • 修改或建立表單、報表或模組。
  • 使用 [VBA 參照] 對話方塊新增、刪除或變更物件庫或資料庫的參照。
  • 檢視或修改 VBA 程式碼。
  • 匯入或匯出 Access 窗體、報表或模組。 不過,資料表、查詢和巨集可以從 .accdb 資料庫匯入或匯出。

修改表單、報表或模組的問題

請務必保留原始 Access 資料庫的複本。 如果您想要修改 .accde 檔案中表單、報表或模組的設計,您必須修改原始 Access 資料庫 (.accdb 檔案),然後將它再次儲存為 .accde 檔案。 如果您之後想要修改表單、報表或模組的設計,將包含資料表的 Access 資料庫儲存為 .accde 檔案,可能會導致協調不同版本的資料時發生問題。 因此,將 Access 資料庫儲存為 .accde 檔案,最適合用於前端/後端應用程式的前端資料庫。

將資料庫儲存為 .accde 檔案的限制

某些限制可能會讓您無法將 Access 資料庫儲存為 .accde 檔案:

  • 您必須擁有 VBA 代碼的密碼存取權。
  • 如果你的 Access 資料庫參考了另一個 Access 資料庫或外掛,你必須將所有 Access 資料庫或外掛在參考鏈中儲存為 .accde 檔案。

如果您在將資料庫儲存為 .accde 檔案之前使用密碼加密,則 .accde 檔案也會加密,而且每次開啟時都必須輸入密碼。 如果您不希望 .accde 檔案加密,您必須先將 .accdb 檔案解密,再將其儲存為 .accde 檔案。 將資料庫儲存為 .accde 檔案之後,您可以再次加密 .accdb 檔案。 使用下列程序解密 .accdb 檔案:

  1. 按一下 [檔案] 索引標籤上的 [資訊],然後按一下 [解密資料庫]。 
    [取消資料庫密碼設定] 對話方塊便會出現。
  2. [取消設定資料庫密碼] 對話方塊的 [密碼] 方塊中,輸入資料庫密碼。
  3. 按一下 [確定]

參照如何與 .accde 檔案搭配使用

如果你嘗試從 Access 資料庫 (.accdb) 或是參考其他 Access 資料庫或外掛的 Access 外掛 (.accda) 建立 .accde 檔案,Access 會顯示錯誤訊息,且無法完成操作。 若要將參照另一個資料庫的資料庫儲存為 .accde 檔案,您必須將參照鏈中的所有資料庫儲存為 .accde 檔案,從參照的第一個資料庫開始。 將第一個資料庫儲存為 .accde 檔案之後,您必須更新下一個資料庫中的參照,以指向新的 .accde 檔案,再將其儲存為 .accde 檔案,依此類推。

例如,假設 Database1.accdb 參照 Database2.accdb,而 Database2.accdb 參照 Database3.accda。 若要將 Database1.accdb 儲存為 .accde 檔案,請執行下列動作:

  1. 將 Database3.accda 另存為 Database3.accde。
  2. 開啟資料庫 2.accdb,並變更其參照以指向名為 Database3.accde 的新檔案。
  3. 將 Database2.accdb 另存為 Database2.accde。
  4. 開啟 Database1.accdb,並變更其參照以指向名為 Database2.accde 的新檔案。
  5. 將 Database1.accdb 另存為 Database1.accde。

頁面頂端