Dirty プロパティ

適用対象

Form オブジェクト

Report オブジェクト

Dirty プロパティを使用して、現在のレコードが最後に保存された後に変更されたかどうかを判断できます。たとえば、レコードに対する変更が意図したものかどうかをユーザーにたずね、意図した変更ではない場合に、ユーザーが変更を保存せずに次のレコードに移動できるようにすることができます。ブール型の値の読み取り/書き込みが可能です。

expression.Dirty

expression は必須です。「適用対象」の一覧のオブジェクトのうちの 1 つを返す式です。

解説

Dirty プロパティでは、次の設定が使用されます。

設定

Visual Basic

説明

True

True

現在のレコードは変更されています。

False

False

現在のレコードは変更されていません。

このプロパティは フォーム ビューと データシート ビューで使用できます。

このプロパティは、マクロまたは Visual Basic for Applications (VBA) コードを使用して設定または読み取りを行います。

レコードを保存すると、Microsoft Office Access 2007 によって Dirty プロパティは False に設定されます。ユーザーがレコードに変更を加えると、プロパティは True に設定されます。

次の例では、データが変更されたときに、btnUndo ボタンを有効にしています。テキスト ボックス コントロールの AfterUpdate イベントから UndoEdits() サブルーチンが呼び出されます。有効な 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
Office のスキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×