- ベストアンサー
Accessデータ入力について
Access2000です。 フォームにてデータ入力をしており、以下の処理をしたいと思っています。 **** 1レコードの入力が終わってENTERで格納する前にメッセージを表示する。 メッセージのOKを選択するとレコードがテーブルに格納される。 キャンセル等を選択するとそのレコードはテーブルに格納せず削除される。 マクロでやってみたのですが、初心者なのでよくわかりませんでした。 力を貸してくださいませんか。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
kalmitさんがどのくらいのスキルをお持ちなのかわかりませんので、できるだけ詳しく説明します。(もし、お節介なところがありましたら、読み飛ばしてください。) まず、フォームのプロパティシートのイベントタブを開き、「更新前処理」欄の右側をクリックして、VBAのモジュールウィンドウを開いてください。 Private Sub Form_BeforeUpdate(Cancel As Integer) If MsgBox("データを格納しますか?", vbOKCancel) = vbCancel Then Me.Undo End If End Sub のように、記述してください。(コピーして貼り付けてもOKです。) 以下、解説です。 「更新前処理/BeforeUpdate」イベント: フォームのそのレコードのデータが、更新される直前に発生するイベント。 If MsgBox("~・・・ メッセージボックスを開き、もし、Cancelぼたんが押されたら次の行を実行、そうでなければ(OKボタンが押されたら)End If までへ移動。 Me.Undo フォームのレコードの変更をクリアする。 BeforeUpdateイベント、MsgBox関数、Undoメソッド をヘルプで確認してください。 疑問、その他なにかありましたら、補足でご連絡ください。 (土日は不在ですので、補足追加が必要な場合は25日以降になります。ご容赦ください。)
お礼
ありがとうございます。うまくいきました。 初心者レベルなのでヘルプも見て勉強しました。 わかりやすく書いていただいて助かりました。 お礼が遅くなったことをおわびします。