Office 2019 Access 2019

メッセージボックスで[はい]が選択されたらアクションを実行する

投稿日:2021年10月12日 更新日:

Accessのフォームで[閉じる]ボタンを設置しても、メッセージボックスは表示されずにフォームは閉じられてしまいます。

[閉じる]ボタンをクリックしたらメッセージボックスを表示して、[はい]のボタンが押されたときのみフォームを閉じるように設定することができます。

埋め込みマクロで解説します。

ここでは[閉じる]ボタンで解説しますが、他のコマンド実行時でも設定できますので活用してみてください。

[閉じる]ボタンをクリックした時のメッセージボックス

フォームに[閉じる]ボタンを設置

フォームに[閉じる]ボタンを作成します。

ここで使用するフォームは、以下の記事で作成したものです。

クエリの抽出条件にテキストボックスの値を設定してレコードを抽出

Accessのクエリでレコードを抽出する方法です。 クエリの抽出条件には、フォームのテキストボックスの値を指定することができます。 また、ク ...

続きを見る

フォームをデザインビューで開いて、[フォームデザイン]タブの[コントロール]グループにある[ボタン]をクリックしてボタンを挿入します。

[コマンドボタンウィザード]が表示されたら、[キャンセル]ボタンをクリックして閉じます。

[フォームデザイン]タブの[ボタン]

コマンドボタンのプロパティシートを表示して、[書式]タブの[標題]にボタンに表示したい名前を入力します。

ここでは、[閉じる]にします。

[F4]キーを押すと、プロパティシートを表示できます。

コマンドボタンのプロパティシート

参考ここでは、ウィンドウの表示は、既定の[タブ付きドキュメント]にしています。

[タブ付きドキュメント]と[ウィンドウを重ねて表示する]の違い

Access2007以降、オブジェクトを表示すると、タブ付きウィンドウで表示されるようになっています。従来からAccessを使用している方に ...

続きを見る

埋め込みマクロの作成

コマンドボタンを選択して、プロパティシートを表示します。

[イベント]タブの[クリック時]の[ビルダー選択]ボタン[…]をクリックします。

[イベント]タブの[クリック時]の[ビルダー選択]ボタン

[ビルダーの選択]ダイアログボックスが表示されますので、[マクロビルダー]を選択して[OK]ボタンをクリックします。

[ビルダーの選択]ダイアログボックス

マクロデザインが表示されます。

[新しいアクションの追加]の▼をクリックして、[If]を選択します。

[新しいアクションの追加]で[If]を選択

テキストボックスに以下のように入力します。

MsgBox("フォームを閉じますか?",4+48+0,"確認")=6

または、以下のように入力します。

MsgBox("フォームを閉じますか?",52,"確認")=6

Ifの条件式

条件式のすぐ下にある[新しいアクションの追加]から[ウィンドウを閉じる]を選択します。

[新しいアクションの追加]から[ウィンドウを閉じる]を選択

これでメッセージボックスの戻り値が[6]であれば、アクション[ウィンドウを閉じる]を実行するということになります。

[オブジェクトの種類]の指定を省略した場合は、アクティブウィンドウが閉じられます。

“CloseWindow/ウィンドウを閉じる“ マクロ アクション(Microsoft)

以下のようになっていることを確認して、上書き保存して閉じます。

[マクロデザイン]の[上書き保存]と[閉じる]ボタン

コマンドボタンのクリック時のプロパティには、[埋め込みマクロ]と表示されています。

コマンドボタンのクリック時のプロパティ

[F5]キーを押して、フォームビューに切り替えます。

[閉じる]ボタンをクリックすると、以下のメッセージボックスが表示されます。

[閉じる]ボタンをクリックした時のメッセージボックス

先に[ウィンドウを閉じる]ボタンを設置していた場合

ウィンドウを閉じるボタンは、コマンドウィザードでも作成できます。

コマンドボタンウィザードで[フォームの操作]と[フォームを閉じる]を選択すると、コマンドボタンを作成できます。

ウィザードを使ったコマンドボタンの作成

Accessで起動時にメニューフォームを表示した後、ボタンをクリックして目的のフォームを開くようにしたいという要望はよくあります。 コマンド ...

続きを見る

先にコマンドボタンを作成していても、[If]の条件式を追加して設定することができます。

以下は、コマンドボタンウィザードで[フォームを閉じる]を選択して作成したボタンのマクロツールです。

マクロデザインの[ウィンドウを閉じる]

[新しいアクションの追加]で[If]を選択して、条件式を入力します。

そして、[If]を[上へ移動]ボタンをクリックして、上へ移動します。

[IF]の条件式を上へ移動

以下のようになりますので、[ウィンドウを閉じる]の[上へ移動]ボタンをクリックして、上へ移動します。

[ウィンドウを閉じる]アクションを上へ移動

以下のようになれば、OKです。

[マクロデザイン]タブのアクションの順序

MsgBox関数について

MsgBox関数は、メッセージボックスを表示して、クリックされたボタンによる戻り値によってアクションを実行します。

詳細は、以下のMicrosoftの記事を参照してください。

MsgBox 関数(Microsoft)

MsgBoxの構文は以下のようになります。[メッセージ]以外は省略可能です。

MsgBox(メッセージ,ボタンやアイコン,タイトル,ヘルプファイル,ヘルプテキスト)

MsgBox関数の構文

[ボタンやアイコン]は、以下のように[ボタンの種類]+[アイコンの種類]+[標準のボタンの指定]で合計値を指定しても構いません。

MsgBox("フォームを閉じますか?",52,"確認")=6

メッセージボックスで見ると、以下のようになります。

メッセージボックスの例

ボタンの種類

数値 種類
0 [OK]
1 [OK][キャンセル]
2 [中止][再試行][無視]
3 [はい][いいえ][キャンセル]
4 [はい][いいえ]
5 [再試行][キャンセル]

アイコンの種類

数値 種類
16 警告ボタン 警告
32 問い合わせボタン 問い合わせ
48 注意ボタン 注意
64 情報ボタン 情報

標準のボタンの指定

数値 種類
0 第1ボタン
256 第2ボタン
512 第3ボタン

標準のボタンとは、メッセージボックスを表示したときに選択された状態になるボタンのことです。

戻り値

数値 種類
1 [OK]
2 [キャンセル]
3 [中止]
4 [再試行]
5 [無視]
6 [はい]
7 [いいえ]

戻り値が指定された値以外であれば、アクションは何も行わずにメッセージボックスを閉じます。

参考MsgBox構文で省略できないメッセージのみにすると、以下のようなメッセージボックスになります。

MsgBoxメッセージのみの場合

ただし、データベースのアプリケーションタイトルを付けている場合は、それがメッセージボックスの[タイトル]となります。

MsgBoxメッセージのみの場合(アプリケーションタイトルがタイトル)

アプリケーションタイトルについては、以下で解説しています。

アプリケーションアイコンの設定(フォームやレポートにも表示)

Accessのオプションにある[アプリケーションアイコン]で画像を設定すると、タスクバーの標準アイコンを設定したアイコン(画像)に変更するこ ...

続きを見る

検索

ほかの記事も検索してみませんか?

おすすめ記事と広告

Profile

執筆者/はま

-Office 2019 Access 2019

Copyright © 2001-2021 初心者のためのOffice講座 All Rights Reserved.

Copyright© 初心者のためのOffice講座 , 2021 AllRights Reserved Powered by AFFINGER4.