Dirty プロパティ

対象

Form オブジェクト

Report オブジェクト

カレント レコードが前回保存されてから変更されているかどうかを示します。たとえば、レコードを意図的に変更したかどうかをユーザーに確認し、そうでない場合は、その変更を保存せずに次のレコードに移動することができます。値の取得および設定が可能です。ブール型 (Boolean) の値を使用します。

expression.Dirty

expression 必ず指定します。このトピックの [対象] の一覧のオブジェクトのうちの 1 つを返すオブジェクト式を指定します。

解説

Dirty プロパティの設定値は次のとおりです。

設定値

Visual Basic

説明

True

True

カレント レコードは変更されています。

False

False

カレント レコードは変更されていません。

このプロパティは、Form viewおよびDatasheet viewで使用可能です。

このプロパティは、macroまたは 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 ' ボタンを使用可能にします。
Else
Me!btnUndo.Enabled = False ' ボタンを使用不能にします。
End If
End Sub
Sub btnUndo_Click()
Dim ctlC As Control
' 各コントロールに対して
For Each ctlC in Me.Controls
If ctlC.ControlType = acTextBox Then
' 元の値を復元します。
ctlC.Value = ctlC.OldValue
End If
Next ctlC
End Sub
スキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

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

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

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

×