Applies To
Access 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?

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