共用方式為


WebBrowserControl.Dirty 事件 (存取)

Dirty事件發生於指定控制項的內容變更時。

語法

表達。骯髒 (取消)

代表 WebBrowserControl 物件的變數。

參數

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

傳回值

註解

此事件的範例包括直接在文字方塊或下拉式方塊中輸入字元,或來使用巨集或 Visual Basic 變更控制項的 Text 屬性設定。

使用巨集或 Visual Basic 中修改表單內的記錄不會觸發此事件。 您必須將資料直接輸入記錄或設定控制項的 Text 屬性。

此事件僅適用於結合表單,並不適用於未結合表單或報表。

若要發生此事件時執行巨集或事件程序,將 OnDirty 屬性設定為巨集名稱或 [事件程序]。

透過在 發生「髒」 事件時執行巨集或事件程序,您可以判斷是否可以變更記錄。 您也可以顯示訊息並請求編輯權限。

使用鍵盤變更記錄中的資料,除了控制事件 ( 例如 Dirty 事件) 之外,還會導致鍵盤事件發生。 例如,如果您移到一個新的記錄,並在記錄的文字方塊中輸入一個 ANSI 字元,就會依次發生下列事件:

KeyDownKeyPress → Before插入髒→→ KeyUp

記錄的 BeforeUpdateAfterUpdate 事件會在您在記錄中輸入新的或變更的資料,然後移至另一筆記錄 (,或在 [記錄] 功能表) 選擇 [儲存記錄] 之後,因此會在記錄的 [髒] 事件之後發生。

取消 Dirty 事件會導致對目前記錄的變更復原。 相當於按下Esc鍵。

範例

下列範例會在資料變更時啟用 btnUndo 按鈕。 UndoEdits ( ) 子常式是從文字方塊控制項的 Dirty 事件呼叫。 按兩下已啟用的 btnUndo 按鈕,會使用 OldValue 屬性還原控制項的原始值。

Private Sub Form_Dirty() 
 If Me.Dirty Then 
 Me!btnUndo.Enabled = True ' Enable button. 
 Else 
 Me!btnUndo.Enabled = False ' Disable button. 
 End If 
End Sub 
 
Sub btnUndo_Click() 
 Dim ctlC As Control 
 ' For each control. 
 For Each ctlC in Me.Controls 
 If ctlC.ControlType = acTextBox Then 
 ' Restore Old Value. 
 ctlC.Value = ctlC.OldValue 
 End If 
 Next ctlC 
End Sub

支援和意見反應

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