#015 フォームを閉じる時に確認メッセージを表示させる方法 フォーム、VBA

「メインメニュー」や「メインパネル」といった名称のメインフォームを閉じる際に「○○○○システムを終了していいですか?」といったメッセージを表示させたり、データがまだ保存されていない状態でフォームを閉じようとしたときに「データがまだ保存されていません。破棄していいですか?」といったメッセージを表示させる方法をご紹介します。

対象となるフォームの[Unload]イベントプロシージャに次のコードを記述して下さい。
Private Sub Form_Unload(Cancel As Integer)

  Beep
  If MsgBox("○○○○システムを終了していいですか?", _
            vbYesNo + vbQuestion, "終了の確認") = vbYes Then
    '終了していいときはデータベースを閉じる
    Application.CloseCurrentDatabase
  Else
    '終了しないとき
    Cancel = True
  End If

End Sub
このコードは[終了]ボタンのようなものを作って、その[Click]イベントに記述してもいいのですが、その場合にはフォームのウィンドウの「閉じる」ボタン(右上の×のボタン)が押されたときには確認メッセージを表示してくれません。そこで[Unload]イベントプロシージャに記述するのが"ミソ"です。

また、データが保存されていないときにメッセージを表示したい場合には、同様のイベントプロシージャを使って、「データが保存されたかどうかのフラグを調べ、保存されていなければメッセージを表示する」ようにします。
| Index | Prev | Next |



T'sFactory
Accessで動く生産管理DB
Ureru Express
Webで使う販売顧客管理
Access開発&アドバイス
DB開発やテクニカルアドバイス
Copyright © T'sWare All rights reserved