AfterUpdate 事件

此頁沒有內(nèi)容條目
內(nèi)容

expandtri全部顯示

AfterUpdate 事件在控件中的數(shù)據(jù)被改變或記錄被更新之后發(fā)生。

Private Sub object_AfterUpdate()

object    窗體或控件的名稱。

說明

注釋

?當使用 Visual Basic 或含有 SetValue 操作的來更改控件的數(shù)據(jù)時,不會觸發(fā)這些事件。但是,如果隨后移到另一條記錄或保存該記錄,該窗體的 AfterUpdate 事件便會發(fā)生。

?AfterUpdate 事件僅適用于窗體上的控件,不適用于報表上的控件。
?該事件不適用于選項組中的選項按鈕、復選框切換按鈕,只適用于選項組本身。

在該事件發(fā)生時,若要運行宏或事件過程,請將 AfterUpdate 屬性設(shè)置為宏的名稱或 [事件過程]。

當更新控件或記錄時,將會觸發(fā) AfterUpdate 事件。在一條記錄中,當控件失去焦點或用戶按 Enter 或 Tab 時,每個控件中被更改的數(shù)據(jù)才會更新;當焦點離開記錄或用戶單擊“記錄”菜單中的“保存記錄”時,整條記錄會更新且數(shù)據(jù)會保存到數(shù)據(jù)庫中。

在窗體的控件中輸入新數(shù)據(jù)或更改數(shù)據(jù)后,再移到另一條記錄或在“記錄”菜單上選擇“保存記錄”來保存記錄時,窗體的 AfterUpdate 事件將緊跟著控件的 AfterUpdate 事件發(fā)生。移動到其他記錄時,控件的 ExitLostFocus 事件發(fā)生,緊接著移動到的記錄的 Current 事件發(fā)生,然后該記錄中第一個控件的 EnterGotFocus 事件發(fā)生。若要運行 AfterUpdate 宏或事件過程而不運行 Exit 和 LostFocus 宏或事件過程,請用“記錄”菜單上的“保存記錄”命令保存記錄。

AfterUpdate 宏和事件過程僅在控件中的數(shù)據(jù)更改時才會運行。計算控件中數(shù)據(jù)的更改不會觸發(fā)這些事件。窗體的 AfterUpdate 宏和事件過程只有更改了記錄中的一個或多個控件數(shù)據(jù)時才會發(fā)生。

對于綁定控件OldValue 屬性在窗體的 AfterUpdate 事件發(fā)生后才能設(shè)置為新值。即使用戶在控件中鍵入了新值,OldValue 屬性設(shè)置仍然必須等到數(shù)據(jù)被保存(記錄被更新)之后才能更改。如果取消更新,OldValue 屬性值將替換控件中已有的值。

注釋  若要實施或簡單或復雜的有效性規(guī)則,例如在字段中要求一個值或在窗體上驗證多個控件,可以使用控件的 ValidationRule 屬性以及表中字段和記錄的 ValidationRuleRequired 屬性。

如果要將窗體的全部有效性驗證存儲在一個宏組中,或者,如果要讓幾個窗體使用一個有效性驗證表達式,則可以使用 BeforeUpdate 宏。

例如,假定用戶在窗體上的“國家/地區(qū)”控件中輸入了某個國家/地區(qū)的名稱,并在“郵政編碼”控件中輸入了該國家/地區(qū)的相應(yīng)郵政編碼,則在宏中使用條件表達式可確保在“國家/地區(qū)”控件中輸入的數(shù)據(jù)與在“郵政編碼”控件中輸入的數(shù)據(jù)相對應(yīng),并且當“郵政編碼”控件中輸入的數(shù)據(jù)無效時可以顯示一條消息。

使用 AfterUpdate 宏,可以顯示窗體中的其他頁,或者將焦點移至特定控件或記錄。例如,當用戶在窗體的“類別”控件中輸入值時,可以在 AfterUpdate 宏中使用 GoToPage 操作將焦點移至包含該類別控件的窗體頁。

可以在 BeforeUpdate 宏中使用 CancelEvent 操作來取消更新。如果 BeforeUpdate 宏附加到某個控件上,則 CancelEvent 操作會將焦點返回到該控件,并且用戶輸入的數(shù)據(jù)會留在控件中。

如果 BeforeUpdate 宏附加到某個窗體(每次更改記錄時,它會在該窗體中運行),CancelEvent 操作會將焦點返回到該記錄。

不能在 AfterUpdate 宏中使用 CancelEvent 操作來取消 AfterUpdate 事件。