#185 テキストボックスの変更前後の値を比較する方法 フォーム、VBA

テキストボックスに入力された値、つまり変更後の値を取得するには"Value"プロパティを使います。例えば、テキストボックス「氏名」の値を取得するには"氏名.Value"のようなコードを記述します(実際には、"Value"プロパティは既定のプロパティですので省略することができます)。

一方、変更がすでに加えられた後に、変更前の値を取得するにはどうしたらよいでしょうか?。それには、"OldValue"プロパティを使います。

例えば次の例では、テキストボックス「氏名」が更新されたときに、更新前の値と更新後の値をメッセージボックスに表示します。これを応用すれば、テキストボックスの変更前後の値を比較して、その違いによって何らかの処理を加えるといったこともできます。
Private Sub 氏名_BeforeUpdate(Cancel As Integer)

  MsgBox Me!氏名.OldValue & vbCrLf & Me!氏名.Value

End Sub

※新規レコードなどで空の状態のテキストボックスにデータを入力した場合には、OldValueプロパティは値を持っていません。あくまでも、保存済みレコードを修正した場合にのみ有効です。
| Index | Prev | Next |



T'sFactory
Accessで動く生産管理DB
Ureru Express
Webで使う販売顧客管理
Access開発&アドバイス
DB開発やテクニカルアドバイス
Copyright © T'sWare All rights reserved