アクセスVBA閉じるボタンを無効にしよう!

 

アクセス担当のまみです。

 

データを入力し終えて「やった~できた!」って安心しきって、押してしまったのがフォームの閉じるボタン。

上図の「赤い部分の×」を押してしまって「あっ~入力したデータがなくなっちゃった!」ってことありませんか!

 

閉じるときに「保存しますか?」って聞かれないので、「はい終了」とかで×ボタンとか押してしまって貴重な休憩時間を捨ててしまったこと。あると思います。

あとは、閉じるボタン押したらエラーになってどうしていいかわからなかったりとか。

フォームの作成とかコードを書いている時とかは保存しますかって聞いてくれるのになぁ。

 

保存しますかって聞いてくれない時のために、閉じるボタン(×ボタン)を無効にしちゃいましょう。

 

既存ファイルを開く

 

今回のお話は、フォームが作成されているファイルがあればOKです。

 

ここでは、説明のために「宛名印刷」ファイルを使用します。

プログラム作成の基本となる「フォームの作成」、「データの登録」、「データの検索」、「データの修正」、「レコードの削除」を「宛名印刷」ファイルを作成しながら、お伝えしています。

シリーズを読破すると、ついでにはがきの宛名印刷ができるようになっちゃいます。

お時間がありましたら是非、下記の記事から作成してみてください。

 

アクセスVBAでフォームにボタンをを配置しよう

2018年9月18日
 

 

では、「宛名印刷」ファイルを開きましょう。

 

閉じるボタンを非表示に

 

(はてな君)
間違って×ボタン押したことあるよ・・・
データの入力途中だったから最初からやり直しになった・・・

 

(あいちゃん)
そっかぁ。じゃあもっと早くに非表示にしておけばよかったかな?

 

それでは、設定をしていきましょう。

「F_メインメニュー」をデザインビューで開きましょう。

 

フォームが選択されている状態(①をクリックして■を表示させるか②でフォームを選択する)でナビゲーションウインドウの「すべて」タブを選択して、③の「閉じるボタン」を「いいえ」にします。

 

他のフォームの設定もしておきましょう。

 

それから、右上のアクセス自体の×ボタンも使用できなくしておきましょう。

 

 

アクセス自体の終了を非表示に

 

まずは、コードを表示させましょう。

 

「挿入」の「標準モジュール」を選択し、下記のコードを追加しましょう。

 

 

コードをコピーされたい場合は下記の記事を参考にしてください。

関連記事
 
 
 
 

コードを追加したら、「F_メインメニュー」をデザインビューで開きましょう。

 

フォームを選択した状態(①をクリックして■を表示させるか②でフォームを選択する)で、プロパティシートの「イベント」タブを選択します。

③「読み込み時」に「イベントプロシージャ」を選択して、コードを表示させます。

 

「Private Sub Form_Load()」と「End Sub」の間に下記のコードを追加しましょう。

 

 

 

コードを追加したら、動作確認をしてみましょう。

 

 

(はてな君)
どっちの×ボタンも押せなくなってる!

 

 

 

このメッセージが出たら、モジュール名は特に変更しなくてもいいので「OK」で閉じておきましょう。

 

これで、「メインメニュー」からしかアクセスの終了はできなくなりました。

 

まとめ

 

アクセスって「保存しますか?」って聞いてくれないので、作業途中で間違って閉じてしまったらとってもショックで・・・

 

防げるものは防いでおきたいですね。