可以使用 Dirty 屬性來決定當(dāng)前記錄自從上次保存之后是否修改過。例如,可能要詢問用戶是否保存對這些記錄的更改,如果選擇“否”,所做的更改則不會保存。Boolean 類型,可讀/寫。
expression.Dirty
expression 必需。返回“應(yīng)用于”列表中的一個對象的表達(dá)式。
Dirty 屬性使用以下設(shè)置:
設(shè)置 |
Visual Basic |
說明 |
True |
True |
當(dāng)前記錄已更改。 |
False |
False |
當(dāng)前記錄未更改。 |
此屬性在“窗體”視圖和“數(shù)據(jù)表”視圖中可用。
此屬性可以使用宏或 Visual Basic 讀取或設(shè)置。
如果記錄已保存,Microsoft Access 將 Dirty 屬性設(shè)置為 False;如果用戶更改記錄,則該屬性將設(shè)置為 True。
以下示例在數(shù)據(jù)更改時將 btnUndo 按鈕設(shè)為有效。UndoEdits( ) 子程序從文本框控件的 AfterUpdate 事件中調(diào)用。單擊有效的 btnUndo 按鈕會使用 OldValue 屬性還原控件值。
Sub UndoEdits()
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