MS Access Tips/Sample and VBA and Blog customize etc...

保存前に確認する

Access の連結フォームで入力するとき、レコード移動したり、フォームを閉じたりすると、自動で保存されてしまいます。保存するか、保存しないか選択するようにできませんか。

これも掲示板などでよく見かける質問ですね。

簡単なVBAで実現できます。

難易度:

フォームの更新前処理のイベントプロシージャを下記のように記述します。

これで、レコード移動やフォームを閉じるなど、レコード保存されるアクションを起こすと「保存しますか」と聞いてきて、[はい]を選択するとそのまま保存されます。[いいえ]を選択すると編集前の状態に戻ります。[キャンセル]を選択すると起こしたアクション(レコード移動や閉じる)が中止され編集状態に戻ります。

追記: マウスホイールでレコード移動しないようにする で編集中はレコード移動やフォームを閉じるなどレコード保存に連鎖するアクションを発生させずに、「保存」コマンドボタンをクリックしたときのみ保存されるサンプルを紹介しています。
閉じるときに更新前処理をキャンセルすると出るメッセージを変更 でこのサンプルの改良版を紹介してます。

サンプルファイルが下記からダウンロードできます。
FrmSaveConfirm_07.zip (Access 2007-2010 形式 - 37kb)
FrmSaveConfirm.zip (Access 2002-2003 形式 - 21kb)
FrmSaveConfirm_2k.zip (Access 2000 形式 - 18kb)

拍手する

Leave a reply






Trackbacks

trackback URL
http://hatenachips.blog34.fc2.com/tb.php/15-a9573a50
該当の記事は見つかりませんでした。