HOME > 即効テクニック > AccessVBA > フォーム・レポート > フォームの閉じ方を強制する

即効テクニック

フォーム・レポート

フォームの閉じ方を強制する

(Access 2000/2002)
フォームの右上にある[×](閉じるボタン)は、"CloseButton/閉じるボタン"プロパティを使用して淡色表示にすることができます。
しかし、[ファイル]メニューの[閉じる]や、Alt+F4キーを押してもフォームを閉じることができます。
ここでは、フォームに用意された閉じるボタンでのみフォームを閉じるよう強制する方法をご紹介します。


●操作手順●

(1)フォームを新規作成して、デザインビューで開きます。

 * フォームの次のプロパティを操作します。

  読み込み時/Load
  読み込み解除時/Unload

(2)[表示]メニューの[コード]をクリックします。

(3)宣言セクションに次の2行を入力します。

  Option Explicit
  Public btnClose As Boolean

(4)フォームの読み込み時/Loadイベントに次のコードの行を入力します。

  btnClose = False

(5)コマンドボタン[閉じる]をフォームに追加して、次のようにプロパティを設定します。

  プロパティ
  -------------------------------
  Name/名前       cmdClose
  Caption/標題    閉じる

(6)コマンドボタンcmdCloseのClickイベントに次のコードを入力します。

   btnClose = True
   DoCmd.Close acForm, "フォーム1", acSaveNo

 * "フォーム1"には作成したフォームの名前を記入してください。

(7)フォームの読み込み解除時/UnLoad イベントにに次のコードを入力します。

   If btnClose = False Then
      MsgBox prompt:="[閉じる]ボタンでフォームを閉じてください。", _
             buttons:=vbOKOnly + vbCritical, _
             Title:="フォームの閉じ方制御"
      Cancel = True
   End If

(8)フォームを保存して、フォーム ビューで開きます。