メイン コンテンツへスキップ
サポート
Microsoft アカウントでサインイン
サインインまたはアカウントを作成してください。
こんにちは、
別のアカウントを選択してください。
複数のアカウントがあります
サインインに使用するアカウントを選択してください。

適用対象

Form オブジェクト

Report オブジェクト

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

expression.Dirty

expression 必ず指定します。 [適用先] リスト内のいずれかのオブジェクトを返す式。

解説

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

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。

コミュニティは、質問をしたり質問の答えを得たり、フィードバックを提供したり、豊富な知識を持つ専門家の意見を聞いたりするのに役立ちます。

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

言語の品質にどの程度満足していますか?
どのような要因がお客様の操作性に影響しましたか?
[送信] を押すと、Microsoft の製品とサービスの改善にフィードバックが使用されます。 IT 管理者はこのデータを収集できます。 プライバシーに関する声明。

フィードバックをいただき、ありがとうございます。

×