Microsoft Access Club >Access裏技Tips >このページ >次頁 < 前項 サイト内検索


フォームを閉じる前に確認メッセージを表示する : Access裏技Tips



間違ってフォームを閉じてしまったことはありませんか? ここでは、フォームを閉じる前に確認メッセージを表示させて[OK]ボタンをクリックした時のみフォームを閉じる技を2種類紹介します。
  1. コマンドボタン操作でフォームを閉じる場合
  2. Access装備の「×」をクリックしてフォームを閉じる場合

閉じる前にメッセージボックスを表示する

  1. サンプルテーブル(tbl_sample)をもとに、売上高入力フォームを2個(frm_sampleA、frm_sampleB)作成します。
  2. A.フォームにコマンドボタン(Cmdコマンド)を作成します。
  3. コマンドボタンのクリック時イベントプロシージャを用いて、Msgboxステートメントの[OK]ボタンをクリックすればフォームを閉じます。
  4. [キャンセル]ボタンをクリックすると、フォームを閉じません。
  5. B.フォームの[閉じる]ボタン(×)をクリックすると、フォームの読み込み解除時イベントがまず発生します。
  6. これを利用して、Msgboxステートメントでメッセージを表示し、[キャンセル]ボタンをクリックすればフォームを閉じません。

売上高入力フォームAの作成

  1. サンプルテーブルをもとに売上高入力フォーム(frm_sampleA)を作成します。
  2. コマンドボタンを作成します。

コマンドボタンのクリック時イベントプロシージャの作成

コマンドボタンのクリック時イベントプロシージャを作成します。

Private Sub Cmdコマンド_Click()

    Dim strmsg As String
    strmsg = "フォームを閉じますか?"

    If MsgBox(strmsg, vbOKCancel + vbCritical) = vbOK Then
        DoCmd.Close ' --- A
    End If
    
End Sub
解説
  1. Closeメソッドで閉じるアクションを実行します。
  2. ファイル名を省略していますので、アクティブなオブジェクト(frm_sampleA)が閉じます。

動作確認

  1. デザインビューからフォームビューに切り替え、コマンドボタンをクリックします。

  1. [OK]ボタンをクリックすると、フォームが閉じます。

売上高入力フォームBの作成

サンプルテーブルをもとに売上高入力フォーム(frm_sampleB)作成します。

フォームの読み込み解除時イベントプロシージャの作成

フォームの読み込み解除時イベントプロシージャを作成します。

Private Sub Form_Unload(Cancel As Integer)

    Dim strmsg As String
    strmsg = "フォームを閉じてよろしいですか?"

    If MsgBox(strmsg, vbOKCancel + vbCritical) = vbCancel Then
        Cancel = True ' --- A
    End If

End Sub
解説
  1. 引数CancelにTrueを代入すると、一連の流れを止めることができます。
今回のおすすめポイント

読み込み解除時イベント

フォームの[閉じる]ボタンをクリックすると、閉じるイベントの前に読み込み解除時イベントが発生します。 閉じるイベントはキャンセルできませんが、読み込み解除時イベントはキャンセルすることができます。

動作確認

  1. デザインビューからフォームビューに切り替え、フォームの[閉じる]ボタンをクリックします。

  1. [OK]ボタンをクリックすると、フォームが閉じます。

関連ページ

ページの先頭へ 前ページへ戻る

 


フォームを閉じる前に確認メッセージを表示する : Access裏技Tips


 

-Microsoft Access Club-

cPanel あるいは PLESKコントロールパネルをインストールした専用レンタルサーバのディスカウントプランを期間限定で公開しています。
cPanel・PLESKコントロールパネルを備えた専用レンタルサーバ....。