訪問して頂きありがとうございます。まさふくろーです。
この記事では、レコードの更新をキャンセルして元に戻す方法をご紹介します。
目次
レコードの更新をキャンセルして元に戻す
サンプルデータ
伝票No. | 日付 | 地区名 | 担当者 | 商品名 | 単価 | 数量 |
101 | 2019/9/1 | 東京 | 金田良子 | 事例で学ぶ情報セキュリティ | 2000 | 60 |
102 | 2019/9/2 | 栃木 | 山崎健一 | 自信がつくビジネスマナー | 1700 | 55 |
103 | 2019/9/3 | 埼玉 | 高梨美智子 | プレゼンテーションテクニック | 1800 | 30 |
104 | 2019/9/9 | 神奈川 | 高梨美智子 | デジタルカメラ活用 | 2000 | 60 |
105 | 2019/9/5 | 群馬 | 山崎健一 | 事例で学ぶ個人情報保護 | 1000 | 30 |
106 | 2019/9/6 | 千葉 | 近藤次郎 | はじめてでもわかるJava入門 | 2400 | 75 |
107 | 2019/9/7 | 山梨 | 金田良子 | Macromedia Flash 8 | 2800 | 80 |
108 | 2019/9/8 | 神奈川 | 高梨美智子 | LANの導入・構築・管理 | 2500 | 10 |
109 | 2019/9/9 | 東京 | 金田良子 | 事例で学ぶ情報セキュリティ | 2000 | 15 |
110 | 2019/9/10 | 長野 | 山田修 | 自信がつくビジネスマナー | 1700 | 15 |
111 | 2019/9/11 | 埼玉 | 高梨美智子 | プレゼンテーションテクニック | 1800 | 15 |
112 | 2019/9/12 | 新潟 | 牧野聡子 | デジタルカメラ活用 | 2000 | 60 |
113 | 2019/9/13 | 東京 | 金田良子 | 事例で学ぶ個人情報保護 | 1000 | 35 |
114 | 2019/9/19 | 福島 | 牧野聡子 | 事例で学ぶ情報セキュリティ | 2000 | 60 |
115 | 2019/9/15 | 埼玉 | 高梨美智子 | 自信がつくビジネスマナー | 1700 | 30 |
116 | 2019/9/16 | 福島 | 牧野聡子 | プレゼンテーションテクニック | 1800 | 10 |
117 | 2019/9/17 | 東京 | 金田良子 | デジタルカメラ活用 | 2000 | 10 |
118 | 2019/9/18 | 静岡 | 山田修 | 事例で学ぶ個人情報保護 | 1000 | 50 |
119 | 2019/9/19 | 茨城 | 近藤次郎 | 事例で学ぶ情報セキュリティ | 2000 | 60 |
120 | 2019/9/20 | 長野 | 山田修 | 自信がつくビジネスマナー | 1700 | 20 |
121 | 2019/9/21 | 埼玉 | 高梨美智子 | プレゼンテーションテクニック | 1800 | 30 |
122 | 2019/9/22 | 神奈川 | 高梨美智子 | デジタルカメラ活用 | 2000 | 60 |
123 | 2019/9/23 | 長野 | 山田修 | 事例で学ぶ情報セキュリティ | 2000 | 20 |
124 | 2019/9/29 | 千葉 | 近藤次郎 | 自信がつくビジネスマナー | 1700 | 60 |
125 | 2019/9/25 | 新潟 | 牧野聡子 | プレゼンテーションテクニック | 1800 | 10 |
126 | 2019/9/26 | 茨城 | 近藤次郎 | デジタルカメラ活用 | 2000 | 15 |
127 | 2019/9/27 | 東京 | 金田良子 | 事例で学ぶ個人情報保護 | 1000 | 15 |
128 | 2019/9/28 | 栃木 | 山崎健一 | はじめてでもわかるJava入門 | 2400 | 45 |
129 | 2019/9/29 | 埼玉 | 高梨美智子 | Macromedia Flash 8 | 2800 | 50 |
使用するイベント
BeforeUpdateイベント
object.BeforeUpdate(Cancel)
説明 |
BeforeUpdateイベントは、コントロールまたはレコードで変更されたデータが更新される直前に発生します。 |
指定項目 | 必須 | 説明 |
Cancel |
〇 | BeforeUpdateイベントを発生させるかどうかを設定します。 |
「True」を設定すると、BeforeUpdateイベントが取り消されます。 |
フォームのBeforeUpdateイベントプロシージャの作成
ナビゲーションウィンドウから、対象のフォームを選択し、右クリックします。
ショートカットメニューから「デザインビュー」を選択します。
フォーム上で、右クリックします。
ショートカットメニューから「プロパティ」を選択します。
プロパティシートにて、①「フォーム」を選択⇒②「イベント」タブをクリック⇒③「...」をクリックします。
①「コードビルダー」を選択⇒②「OK」をクリックします。
すると、フォームのBeforeUpdateイベントプロシージャが作成されます。
使用するメソッド
RunCommandメソッド
DoCmd.RunCommand(Command)
説明 |
RunCommandメソッドは、組み込みコマンドを実行します。 |
指定項目 | 必須 | 説明 |
Command |
〇 |
実行するコマンドを定数で指定します。 |
「元に戻す」処理を行うには、「acCmdUndo」を指定します。 |
サンプルプログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
Private Sub Form_BeforeUpdate(Cancel As Integer) Dim ret As Long ret = MsgBox("更新してもよろしいでしょうか?", vbYesNo) If ret = vbNo Then Cancel = True DoCmd.RunCommand acCmdUndo MsgBox "更新をキャンセルしました。" End If End Sub |
1 | データが更新される直前に、以下処理を行います。 |
5 | メッセージ「更新してもよろしいでしょうか?」を表示します。 |
7 | 「いいえ」が押された場合、以下処理を行います。 |
9 | BeforeUpdateイベントを取り消します。 |
11 | 変更前の状態に戻します。 |
実行結果
関連記事
連結フォームを作成する
最後まで読んでいただき、ありがとうございました!
本のまとめ関連記事はこちら