Access 中的數據宏可讓您新增邏輯至數據表中發生的事件,例如新增、更新或刪除數據。 它們與 Microsoft SQL Server 中的「觸發程式」類似。 本文將示範如何建立和偵錯數據宏。
本文內容
關於數據宏
在 [數據工作表檢視] 中檢視數據表時,會從 [ 數據表 ] 索引卷標管理數據宏,且不會顯示在 [導航窗格] 的 [ 宏 ] 底下。 除其他事項外,您還可以使用數據宏來驗證及確保數據表中數據的正確性。 有兩種主要的數據宏類型:數據表事件觸發的數據宏 (也稱為「事件導向」數據宏) ,而那些針對名稱 (也稱為「命名」數據宏而執行) 。
Create 事件導向的數據宏
每當您新增、更新或刪除資料表中的數據時,就會發生表格事件。 您可以將數據宏程式化為在這三個事件之後,或在刪除或變更事件之前立即執行。 使用下列程式將資料宏附加至資料表事件:
-
在 [導航窗格] 中,按兩下您要新增資料宏的數據表。
-
在 [ 數據表] 索引 標籤的 [ 事件前 ] 群組或 [ 事件之後 ] 群組中,按兩下您要新增宏的事件。 例如,若要建立在您從數據表中刪除記錄后執行的數據宏,請按兩下 [ 刪除後]。
附註: 如果事件已經有相關聯的宏,其圖示會顯示在功能區上醒目提示。
Access 會開啟宏建立器。 如果先前曾為此事件建立宏,Access 會顯示現有的宏。
-
新增您要宏執行的動作。
-
儲存並關閉巨集。
如需建立宏的詳細資訊,請參閱 Create 用戶介面 (UI) 宏一文。
Create 具名的數據宏
具名或「獨立」的數據宏會與特定數據表相關聯,但不會與特定事件相關聯。 您可以從任何其他數據宏或標準宏呼叫具名的數據宏。
-
在 [導航窗格] 中,按兩下您要新增資料宏的數據表。
-
在 [數據表] 索引標籤的 [命名宏] 群組中,按兩下 [命名宏],然後按兩下 [Create 命名宏]。
Access 會開啟宏建立器,您可以在其中開始新增動作。
如需建立宏的詳細資訊,請參閱 Create 用戶介面 (UI) 宏一文。
關於參數
參數可讓您將值傳遞至具名的數據宏,以便用於條件語句或其他計算。 它們也可讓您將物件參照從標準宏傳遞至數據宏。
附註: 事件驅動器數據宏中無法使用參數。
若要將參數新增至數據宏:
-
按兩下宏頂端的 [Create 參數]。
-
在 [ 名稱] 方 塊中,輸入參數的唯一名稱。 這是您用來參照表示式中參數的名稱。
-
您也可以選擇在 [描述] 方塊中輸入參數的 描述 。 建議您輸入描述,因為稍後當您使用參數時,您在這裡輸入的描述文字會顯示在工具提示中。 這可協助您記住參數的用途。
若要從另一個宏執行具名的數據宏,請使用 RunDataMacro 宏指令。 此動作會為您建立的每一個參數提供一個方塊,以便您提供必要的值。
管理數據宏
數據宏不會出現在 [宏] 下的 [導航窗格 ] 中。 您必須在 [資料表數據工作表檢視] 或 [資料表設計] 檢視中使用功能區命令,以建立、編輯、重新命名及刪除數據宏。
編輯事件導向的數據宏
-
在 [導航窗格] 中,按兩下包含您要編輯之數據宏的數據表。
-
在 [ 數據表] 索引 標籤的 [ 事件前 ] 群組或 [ 事件後 ] 群組中,按兩下您要編輯之宏的事件。 例如,若要編輯刪除數據表中的記錄后執行的數據宏,請按兩下 [ 刪除後]。
附註: 如果事件沒有相關聯的宏,功能表上就不會醒目提示其圖示。
Access 會開啟宏建立器,您可以開始編輯宏。
編輯具名的數據宏
-
在 [導航窗格] 中,按兩下任何數據表以在 [資料工作表檢視] 中開啟。
-
在 [ 數據表] 索引 標籤 的 [命名宏] 群組中,按兩下 [ 命名宏],然後指向 [編輯已命名的宏]。
-
在子功能表中,按下您要編輯的數據宏。
Access 會開啟宏建立器,您可以開始編輯宏。
重新命名具名的數據宏
-
在 [導航窗格] 中,按兩下任何數據表以在 [資料工作表檢視] 中開啟。
-
在 [ 數據表] 索引 標籤 的 [命名宏] 群組中,按兩下 [ 命名宏],然後按兩下 [ 重新命名/刪除宏]。
-
在 [ 數據宏管理員 ] 對話框中,按下您要重新命名之數據宏旁的 [ 重新 命名]。
Access 會選取目前的宏名稱。
-
輸入新名稱或編輯現有名稱,然後按 ENTER。
刪除數據宏
使用此程式移除任何具名或事件導向的資料巨集:
-
在 [導航窗格] 中,按兩下任何數據表以在 [資料工作表檢視] 中開啟。
-
在 [ 數據表] 索引 標籤 的 [命名宏] 群組中,按兩下 [ 命名宏],然後按兩下 [ 重新命名/刪除宏]。
-
在 [ 數據宏管理員 ] 對話框中,按下您要重新命名之數據宏旁的 [ 刪除 ]。
附註: 您也可以刪除事件導向的宏的所有動作來刪除宏。
偵錯數據宏
某些常見的宏偵錯工具,例如單步驟命令和 MessageBox 宏指令,不適用於數據宏。 不過,如果您遇到數據宏的問題,您可以使用應用程式記錄檔數據表搭配 OnError、RaiseError 和 LogEvent 宏指令來協助尋找數據宏錯誤。
顯示應用程式記錄數據表
應用程式記錄數據表是名為USysApplicationLog () 的系統數據表,根據預設,此資料表不會顯示在 [導航窗格] 中。 如果數據宏發生錯誤,您可以檢視 [應用程式記錄] 資料表中的資訊來判斷發生什麼情況。
使用下列程式顯示應用程式記錄資料表:
-
按兩下 [檔案] 以開啟 Microsoft Backstage 檢視。
-
在 [ 資訊] 索引 標籤上,按兩下 [ 檢視應用程式記錄數據表]。
附註: 如果您沒有看到 [ 檢視應用程式記錄數據表 ] 按鈕,這表示尚未為此資料庫建立應用程式記錄數據表。 記錄事件后,按鈕會顯示在 [ 資訊 ] 索引標籤上。
您可以使用 LogEvent 宏指令或 RaiseError 宏指令,在應用程式記錄檔數據表中建立列,而且您可以使用 OnError 宏指令控制 Access 對錯誤的回應方式。