可以使用 Dirty 属性来决定当前记录自从上次保存之后是否修改过。例如,可能要询问用户是否保存对这些记录的更改,如果选择“否”,所做的更改则不会保存。Boolean 类型,可读/写。
expression.Dirty
expression 必需。返回“Applies To”列表中的一个对象的表达式。
Dirty 属性使用以下设置:
| 设置 | Visual Basic | 说明 | 
|---|---|---|
| True | True | 当前记录已更改。 | 
| False | False | 当前记录未更改。 | 
此属性可以使用宏或 Visual Basic 读取或设置。
如果记录已保存,Microsoft Access 将 Dirty 属性设置为 False;如果用户更改记录,则该属性将设置为 True。
以下示例在数据更改时将 btnUndo 按钮设为有效。UndoEdits( ) 子程序从文本框控件的 AfterUpdate 事件中调用。单击有效的 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