Applies ToAccess for Microsoft 365 Access 2021 Access 2019

下列各節提供有關 VBA 的實用資訊。 提供的物件名稱可讓您輕鬆地在 Northwind 2.0 Starter Edition 資料庫中進行檢查。

VBA (Visual Basic for Applications) 是所有 Microsoft 365 產品中使用的程式設計語言,而不只是 Access。 此處主要記錄:存取開發人員檔。若要開始使用,請參閱Access 程式設計簡介。

搜尋資訊時,請務必尋找 Access 的特定範例,並將 Microsoft Access 包含在搜尋字詞中。 通常,其他 Microsoft 365 產品的解決方案仍可運作,但可能需要變更。

Microsoft Access 是一項成人產品。 這表示其中有許多範例,非常適合您。 這也表示 Access 程式設計上的舊版書籍仍可行供您查看。 許多舊版書籍仍以其原始成本的一小部分提供于已使用的書籍網站上。 

Microsoft Access 檔案是 Microsoft 365 檔案。 Microsoft 365 檔案必須位於信任的位置,或是已啟用其內容。 這些專案會因為您建立而被視為安全,或是它們來自值得信任的來源。 每次開啟任何 Microsoft 365 檔案時,都會進行這項檢查。 我們會從這裡將此稱為信任/啟用。 如果新版本的應用程式是從不受信任的位置發行並開啟,則啟用內容的程式將會重複。 如需詳細資訊,請參閱Microsoft 365 檔案的信任位置決定是否要信任資料庫,以及在 Microsoft 365 中新增、移除或變更信任的位置。

宏、函數和副程式是您在 Access 資料庫中實作商務邏輯的方式。

表單 (上的控制項,例如按鈕、文字方塊、標籤等) 可以使用其事件 (例如按一下控制項) 以觸發其他程式,例如新增、刪除記錄或開啟表單。 這些程式可以使用宏或 VBA 來實作。 Northwind 主要使用宏,以及部分 VBA。 如需詳細資訊,請參閱RunCode 巨集指令。

某些控制項類型有自動建立宏的內建精靈。 例如,將命令按鈕新增至表單會開啟精靈,提供按鈕的多種功能選擇。 新增下拉式方塊會開啟精靈,以便在表單上尋找特定記錄。

[功能窗格] 是您檢視及存取所有資料庫物件的主要方式,預設會顯示在 Access 視窗的左側。 Northwind 2.0 Starter Edition 功能窗格已自訂。 我們建立了一個名為「北風入門 2.0」的自訂類別。 這可讓我們依功能區整理物件。 如需詳細資訊,請參閱自訂功能窗格。

瞭解 Access 和 Microsoft 365 中的範圍和可見度非常重要。 Scope 是指變數、常數或程式可供另一個程式使用。 共有三個範圍層級:程式層級、私人模組層級和公用模組層級。 當您宣告變數時,您會決定其範圍。 建議您明確宣告所有變數,以避免不同範圍之變數之間的命名衝突錯誤。 所有模組都有兩個指令語句:Option Compare Database 和 Option Explicit。  如需詳細資訊,請參閱 瞭解範圍和可見度公開聲明私人聲明靜態陳述,以及瞭解變數的存留期。 

有時候,建立變數的物件超出範圍後,您會需要有變數存在。 有三個主要方法可以執行此動作: 公用變數TempVars,以及將值儲存在本機資料表中。 每一個都有優點和缺點。 許多開發人員會混合使用這些功能。

公用變數和 TempVars 存在於目前的會話,並在應用程式關閉時超出範圍。 如果您想要讓使用者在其會話之間保留特定變數,該怎麼辦? 您可以將這些類型的值儲存在本機資料表中。 在 Northwind 2.0 Starter Edition 中,我們在名為 SystemSettings 的資料表中有這些值。 例如,資料表中的值是「ShowWelcome」。 此值會告訴我們您是否要在每次登入時看到歡迎畫面。

如果您已使用 Access 內建的任何控制精靈,您就會知道如果建立宏,通常沒有任何錯誤處理,而且如果建立 VBA,可能會限制為MsgBox 函數、 Err.Description 樣式。

在 Northwind 2.0 Starter Edition 中,我們實作了所謂的全域錯誤處理常式。 任何程式中發生的錯誤會呼叫全域層級的函數以顯示錯誤。 最大的優點是程式碼是一致的,如果郵件需要變更,例如顯示錯誤編號或記錄錯誤至檔案,則只能在單一位置完成。

clsErrorHandler 是實作錯誤處理常式代碼的類別模組。 類別模組會將其所有主要和幫手函數保存在一個單元中,讓程式碼更具有封裝。 AutoExec 宏最後稱為 modStartup 中的啟動函數,它會建立 clsErrorHandler 實例,並將其儲存為全域變數,以便在整個應用程式中使用。

事實上,程式中的錯誤處理常式代碼非常一致,因此我們可以在不到五分鐘內使用一些花俏的 VBA 程式碼建立所有程式,而這些程式會以適當的錯誤處理常式進行篩選。 此代碼不包含在範本中。

另請參閱

Northwind 2.0 Starter Edition

Need more help?

Want more options?

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

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