ACCESS VBA Undoで入力内容を元に戻す

Undoで入力内容を元に戻す

ACCESSでは、フォームで入力された内容は自動的にテーブルに保存されます。

ExcelなどのOfficeソフトでは保存ボタンを押すのが一般的なので自動で保存されるのは違和感を持つ方もいるかもしれません。
場合によってはフォームで入力した内容をリセットして、テーブルのデータを元に戻したい場合があると思います。

今回は、ACCESSのVBAでUndoを使って入力内容を元に戻す方法をご紹介します。


こんにちは。
はこにわガジェット (@hakoniwagadget) です。

ACCESSを使った売上管理、顧客管理などのデータベース開発を行っています。
ACCESSは基本機能だけでも十分便利ですが、VBAを使うことで格段に使いやすいデータベースを作成可能です。
この記事ではACCESSでのVBAの使い方をご紹介していきます。

Undoメソッド

フォームの入力内容を元に戻すには、Undoメソッドを利用します。

Undoメソッドは、以下の構文で利用できます。

フォーム名.Undo

フォームを指定するだけなので簡単ですね。
フォーム上の値を元に戻すだけでなく、フォームのレコードソースになっているテーブルにも入力値が反映されないようにします。

Undoメソッドの利用例

Undoメソッドの利用例を示します。
以下は売上データの入力フォーム「T_Undo」で、レコードソースにはテーブルを設定しています。

右下にある「戻す」ボタンで、入力内容を元に戻せるようにしてあります。
「戻す」ボタンに設定したイベントプロシージャは以下の通りです。


 Private Sub 戻す_ボタン_Click()

    Me.Undo

 End Sub
 

Meで現在のアクティブフォーム、つまり「T_Undo」を指定しています。

実際に動かしてみましょう。
フォームの値を更新します。

ここで「戻す」ボタンを押します。
すると、下記の通り元の内容に戻りました。

非常に便利で簡単に作れる機能です。

なお、今回はMeで指定しましたが、アクティブフォーム以外に利用することも可能です。
その場合はフォーム名を以下のように指定します。


 [Forms]![フォーム名].Undo
 

あまりアクティブフォーム以外に利用することは少ない機能ですが、覚えておくと便利でしょう。

以上、Undoで入力内容を元に戻す方法をご紹介しました。


ACCESSを使いこなせば、業務の効率化や自動化が実現できます。
しかし、自分でACCESSを学ぶには時間がない、難しそうで不安、という方も多いでしょう。

そんな時は、ACCESS開発歴20年以上、過去に100以上のACCESSデータベースを開発してきた私(@hakoniwagadget)にお任せください。

ACCESSの新規開発、既存のACCESSの修正、ACCESSの操作レッスンなど様々なサービスをご提供しています。
ご興味のある方は下記のサービス一覧をご覧ください。

サービス一覧

最後までお読みいただき、ありがとうございました。