- 締切済み
Accessのマクロで「yes、no」の選択ができますか?
マクロを実行する前に「本当に実行しますか?」とメッセージを表示させて、「yes」なら実行させて「no」ならマクロを中止させるような場合はどのようにすればよいでしょうか? メッセージboxなどを使用するんだろうなとは思いますが具体的にどうすればよいか解りませんので教えて下さい。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- fly_moon
- ベストアンサー率20% (213/1046)
ご推測のとおりMsgBox関数を使い、戻り値で判断して分岐します。 「はい」はvbYesという定数を返し「いいえ」はvbNoという定数を返してきます。 これは、 Const vbYes As Integer = 6 Const vbNo As Integer = 7 とあらかじめ宣言してある定数を使用しているのと同じですから、戻り値はInteger型で受け取ります。他の値を知りたければ、F2でオブジェクトブラウザを表示して検索してみて下さい。
- Dxak
- ベストアンサー率34% (510/1465)
マクロですよね?モジュールじゃなくて・・・ 条件を表示させて 「MsgBox("本当に実行しますか?",4)=7」 を条件として 「アクション」を 「マクロの中止」 とします 「はい」をクリックした際は、この条件の下の内容を実行させます
補足
ご返事が遅くなって申し訳ありません。 正しいご回答とは思いますが、私の質問説明がおかしかったので再度、下記のご質問をさせて頂きます。 例えば、“クエリ”を実行させる前に『「本当に実行しますか?」とメッセージを表示させて、「yes」なら実行させて「no」なら実行させない』という仕組みを「マクロ」で作れないのでしょうか? ということです。 マクロの 1行目 「アクション」のとこで「メッセージボックス」を選択し、アクションの引数「メッセージ」の箇所に「本当に実行しますか?」と入力。 2行目 「アクション」のとこで「クエリを開く」を選択し、アクションの引数「クエリ名」の箇所に「●●クエリ(任意のクエリ)」と入力。 そして一旦保存します。 そのマクロを実行させても「本当に実行しますか?」のメッセージが出て、「OK」のボタンしか表示されないんです。 (当たり前なのかもしれませんが…) そしてその「OK」をESCキーで回避しても実行されてしまいます。 (当たり前なのかもしれませんが…) 上記の知識しかないので、もう少し柔らかくご説明して頂けないでしょうか?よろしくお願い致します。
- hana-hana3
- ベストアンサー率31% (4940/15541)
If MsgBox("本当に実行しますか?", vbQuestion + vbYesNo) = vbNo Then Exit Sub
補足
ご返事が遅くなって申し訳ありません。 正しいご回答とは思いますが、私の質問説明がおかしかったので再度、下記のご質問をさせて頂きます。 例えば、“クエリ”を実行させる前に『「本当に実行しますか?」とメッセージを表示させて、「yes」なら実行させて「no」なら実行させない』という仕組みを「マクロ」で作れないのでしょうか? ということです。「Const vbYes As Integer = 6」なんて出てきてあせりました(^^;)まったく意味が解りませんので…すみません。