#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'sWareのワンポイトテクニカルアドバイスをご利用ください。3000円/件〜でご支援します。
スタンドアロンからSQL Server対応まで、オーダーメイドのシステムを短納期・安価でお届けします
 

Copyright © T'sWare All rights reserved