MsgBox関数は、メッセージボックスを表示し、クリックされたボタンによって異なる戻り値を返す関数です。例えば[はい]ボタンをクリックすると、戻り値6が返ります。

これを利用して、Ifブロックの条件式でMsgBox関数を使用すると、アクションの実行前にメッセージボックスを表示し、どのボタンが押されたかで実行するアクションが変わる仕組みを作ることができます。

ここでは、フォーム上の[終了]ボタンがクリックされたときにメッセージボックスを表示し、[はい]ボタンがクリックされたときだけAccessが終了するマクロを作成します。

関数の解説

MsgBox (メッセージ, ボタンやアイコン , タイトル

タイトルバーに[タイトル]、内容に[メッセージ]と[ボタンやアイコン]を表示したダイアログボックスを表示し、クリックされたボタンに対応した[戻り値]を返す。ボタンやアイコンと戻り値の詳細は右の表を参照

ボタンやアイコンの指定

[ボタンの種類]+[アイコンの種類]+[標準のボタンの指定]

ボタンやアイコンの指定は「4+48+0」のように式として指定します。また、「52」のように合計の数値で指定することもできます。

ボタンの種類

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

アイコンの種類

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

標準のボタンの指定

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

標準のボタンとは、メッセージボックスを表示したときに最初に[Enter]キーを押すことで、そのボタンをクリックしたときと同じ操作となります。

戻り値

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

メッセージボックスの例