Attachment.BeforeUpdate 事件 (Access)

BeforeUpdate 事件會在變更的資料控制項或記錄會更新之前發生。

語法

運算式BeforeUpdate (Cancel)

表達 代表 Attachment 物件的變數。

參數

名稱 必要/選用 資料類型 描述
Cancel 必要 Integer 設定決定 BeforeUpdate 事件會發生。 將 Cancel 引數設定為 True (1) 會取消 BeforeUpdate 事件。

傳回值

註解

使用 Visual Basic 或含有 SetValue 巨集指令的巨集來變更控制項中的資料不會觸發這些事件的控制項。 不過,如果將移至另一筆記錄或儲存記錄,該表單的 BeforeUpdate 事件沒有發生。

BeforeUpdate 事件僅適用於表單上的控制項不在報表上的控制項。

若要在此事件發生時執行宏或事件程序,請將 BeforeUpdate 屬性設定為宏的名稱或 [事件程序]。

BeforeUpdate 事件觸發控制項或記錄更新時。 在記錄內,當控制項失去焦點或使用者按 Enter 或 Tab 鍵時,每個控制項中的變更資料都會更新。當焦點離開記錄時,或如果使用者在 [記錄] 功能表上選擇 [儲存記錄],則會更新整筆記錄,並將資料儲存在資料庫中。

當您在表單上的控制項中輸入新的或變更的資料,然後移至另一筆記錄,或選擇 [記錄] 功能表上的[儲存記錄] 來儲存記錄時,表單的AfterUpdate事件會緊接在控制項的AfterUpdate事件之後發生。 當您移到不同的記錄上控制項的 ExitLostFocus 事件會發生,後面接著移至,記錄將 Current 事件與此記錄中的第一個控制項 EnterGotFocus 事件。 若要執行的 AfterUpdate 巨集或事件程序不執行 退出LostFocus 巨集或事件程序,請使用 [ 儲存記錄 ] 命令 記錄 ] 功能表上儲存記錄。

BeforeUpdate 巨集和事件程序執行只有當您變更控制項中的資料。 當計算控制項中的某個值有所變更時不會發生此事件。 BeforeUpdate 巨集和表單事件程序執行只有當您變更一筆記錄的一或多個控制項中的資料。

如果使用者在控制項中輸入新值, OldValue 屬性設定無法變更之前儲存的資料 (記錄被更新)。 如果您取消更新, OldValue 屬性的值會取代為控制項中現有的值。

您若要驗證資料,特別是在執行複雜驗證時,例如會經常用 到 BeforeUpdate 事件的:

  • 條件涉及表單上的多個值。
  • 輸入不同的資料時顯示不同的錯誤訊息。
  • 使用者可覆寫資料。
  • 含有對其他表單上之控制項的參照,或含有使用者定義的函數。

如果您嘗試修改控制項中包含的資料,而該控制項在事件的程式中引發 BeforeUpdate 事件,則會發生執行階段錯誤。

支援和意見反應

有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應