Change 事件發生於指定控制項的內容變更時。
語法
表達式。改變
表達 代表 TextBox 物件的變數。
註解
此事件的範例包括直接在文字方塊或下拉式方塊中輸入字元,或來使用巨集或 Visual Basic 變更控制項的 Text 屬性設定。
注意事項
[!注意事項] 使用巨集或 Visual Basic 設定控制項的值不會觸發此事件的控制項。 您必須直接將資料輸入控制項,或設定控制項的 Text 屬性。
若要在此事件發生時執行巨集或事件過程,請將 OnChange 屬性設定為巨集的名稱或 [事件過程]。
藉由在 Change 事件發生時執行巨集或事件過程,您可以協調控件之間的數據顯示。 您也可以在某個控制項中顯示資料或公式,同時又在另一控制項之中顯示結果。
當計算控件中的值變更時,不會發生 Change 事件。
Change 事件可能會導致串聯事件。 當執行以回應控件之 Change 事件的巨集或事件過程改變控件的內容時,就會發生這種情況;例如,藉由變更決定控件值的屬性設定,例如文本框的 Text 屬性。 若要防止在階層式事件:
- 如果可能的話,避免將 Change 巨集或事件程序附加於會改變控制項內容的控制項。
- 避免建立兩個或多個控件,其中具有彼此影響的 Change 事件;例如,會彼此更新的兩個文本框。
使用鍵盤變更文本框或下拉式方塊中的數據,會造成鍵盤事件發生,以及 Change 事件等控制事件。 例如,如果您移到一筆新的記錄並在該記錄的文字方塊中輸入一個 ANSI 字元,下列事件便會依序發生:
KeyDown → KeyPress → BeforeInsert → 變更 → KeyUp
文本框或下拉式方塊控件的 BeforeUpdate 和 AfterUpdate 事件發生於您在控件中輸入新的或變更的數據,並移至另一個控件 (或單擊 [記錄] 功能表上的 [儲存記錄]) ,因此在控件的所有變更事件之後。
在下拉式方塊的 LimitToList 屬性設為 [是], NotInList 事件發生於您輸入的清單中的值並嘗試移至另一個控制項或儲存記錄之後。 它會在下拉式方塊的所有 Change 事件之後發生。 在此情況下,不會發生下拉式方塊的 BeforeUpdate 和 AfterUpdate 事件,因為 Microsoft Access 不接受不在清單中的值。
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。