アクセスVBAメッセージボックスで条件分岐させよう

 

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

 

メッセージボックスってとっても重要な役割を果たしてくれます。

注意してねってアイコンが表示されると、データ入力で散漫になりかけていた注意力も少し戻ってきたりして、慎重になれますね。

メッセージボックスって、メッセージを表示させるだけじゃなくて、どれを選ぶかでその後の処理を変えることができるんです。条件分岐って言うのですが、今回はメッセージボックスを使った条件分岐についてお伝えしますね。

 

メッセージボックスにタイトルとアイコンの表示

 

今回、説明のために「メッセージボックス」ファイルを使用します。

メッセージボックスにタイトルとアイコンの表示する方法を下記の記事でお伝えしているので、ぜひ作成してみてくださいね!

 

【Access】VBAいろいろなメッセージボックスを作成してみよう

2018年10月14日

 

(はてな君)
そう言えば、「宛名印刷」ファイルの時って、「vbOKOnly」ってコードに書いてなかった気がする・・・
 
(あいちゃん)
vbOKOnlyって省略可能なんです。
 

前回のメッセージボックスのコードの「vbOKOnly」を削除して、動作確認してみてくださいね。

 
 
結果は同じになりますよ。
 
 
一つだけ、タイトルのみのコードをお伝えしておきますね。
 
 
 
 
 

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

 

関連記事
 
 
「宛名印刷」ファイルの話が出てきたので説明しておきますね。

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

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

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

 
 
 

 

 

メッセージボックスで条件分岐

 

(はてな君)
条件分岐って「宛名印刷」ファイルでやった「はい」「いいえ」を使ったメッセージボックスのことだって前回教えてもらったけど、他にもあるの?
(あいちゃん)
選択肢が3つのパターンがあるんです。あと、「はい」「いいえ」じゃなくて「OK」「キャンセル」とか。

 

 

(はてな君)
へぇそうなんだぁ。楽しみ~

 

 

 

さっきも出てきたので、「OK」のみのメッセージボックスは大丈夫ですね!
 
 

メッセージボックスの選択肢が2つのパターン

 

 

「OK」「キャンセル」

 

では、メッセージボックスに「OK」「キャンセル」が表示されるようにしてみましょう。

 

私は、ボタンを1つで上書きしちゃってますが、ボタンを追加されたい場合は、追加してくださいね。

 

では、下記のコードを追加しましょう。

 

 

 

 

 

 

メッセージボタンを押すと出てくるメッセージ

 

 

 

「OK」をクリックすると「OK」が表示、「キャンセル」をクリックすると「キャンセル」が表示されるようなメッセージボックスを作ってみました。

実際には、2つ目のメッセージボックスが表示される部分にどんな動きをしてほしいかのコードを記載するんです。

実例は下記の記事をどうぞ!

 

アクセスVBAクエリを使ってかんたん重複チェック

2018年9月29日
 

「はい」「いいえ」

 

「はい」「いいえ」は上の記事でもでてきたし、OKかなと思いますので、簡単に。

 

 

 

 

選択肢が2つのパターンはあともう1つあります。

 

「再試行」「キャンセル」

 

表示されるメッセージが違うだけなんですが、「再試行」「キャンセル」ってパターン。

 

 

 

 

 

選択肢が2つのパターンは以上です。

次は選択肢が3つのパターンです。

 

メッセージボックスの選択肢が3つのパターン

 

「はい」「いいえ」「キャンセル」

 

3つのパターンになると、少し複雑になりますね。

 

 

 

メッセージボックスは変数を使用するとコードがスッキリします。

nRetって変数にいれちゃいましょう。

 

「vbYes」のときは「はい」、「vbNo」のときは「いいえ」、それ以外のときは「キャンセル」を表示してねってコードができました。

 

 

選択肢が3つのパターンにはもう一つあります。

 

「中止」「再試行」「無視」

 

これも、表示が違うだけなので簡単に。

 

 

(はてな君)
色んなメッセージボックスの使い方がわかったよ!

 

 

 

デフォルトボタン

 

(はてな君)
デフォルトボタンってな~に?

 

さっきのメッセージボックスで説明しましょう。

 

 

この場合は「中止」が強調されています。最初から「中止」にフォーカスがあたっているんですね。

このフォーカスを当てる位置を変えることができるんです。

「vbDefaultButton1」は省略可能です。なので「中止」にフォーカスが当たっています。

「vbDefaultButton2」「vbDefaultButton3」を使用することで、フォーカスの位置を変更することができます。

 

ためしに、「vbDefaultButton3」を使ってみましょう。

 

 

 

 

 

(はてな君)
ホントだぁ!「無視」にフォーカスがあるよ!

 

まとめ

 

メッセージボックスを使って、色々できそうですね。

メッセージボックスを効果的に使えるようになると、プログラミングの幅が広がりますね。