- ベストアンサー
(Access)VBA デバックの仕方について
スレッド違いかもしれませんが、プログラムの事なのでこちらに質問させて頂きます。 (アクセス)フォームに作成した【ボタン】にクリック時イベントをVBAコードで記入しました。 Private Sub コマンド0_Click() MsgBox "a" End Sub ・コンパイルして上書き保存。 ・実行時エラーがないか、F5ボタン(sub ユーザーフォームの実行) すると、マクロをクリック時イベントに貼り付けた訳でもないのに、【マクロボックス】が表示されて、デバックできません。 【質問】 (1)そもそも上記のようなコードの場合、デバックするにはわざわざフォームに戻って、コマンド0をクリックしてチェックしないといけないのでしょうか? (2)また、F5ですぐにプログラムが実行される時と、マクロボックスが表示される場合と有りますが、どのいう時にそれぞれのパターンに分かれていくのでしょうか? VBAまだまだ初心者なので、かなり混乱しています。 どなたか、ぜひ、ご指南よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
VBAあたりの簡単な例では (1)F5で実行できる普通のSUBプロ (2)引数を使うSUBプロ (3)イベントで実行されるイベントプロ (4)SUBプロの中に書いて実行の流れの中のFunctionプロ があると思う。 (1)はそのまま実行できるが、 (2)はSUBプロの中に書いて、引数の値が与えられて実行の流れの中にあること (3)は実際イベントを起す必要がある。そのフォームなどコンテナが表示されて、そこにコントロールが表示され、普通は人手によるマウスの動作が必要。プログラムによるイベントの励起はVBAを超える範疇。 (4)はSUBプロの中に書いて実行の流れの中にあること が必要と思う。 OSから渡してもらう、プログラムの実行権という(コントロールというか)問題を良く考え・勉強しないといけないと思う。
その他の回答 (1)
- hotosys
- ベストアンサー率67% (97/143)
(1) 基本的にはそうだろうと思う。 privateを取ればイミディエイトウィンドウで、 forms("フォーム1").コマンド0_Click で実行できる。 (2) 標準モジュールのsubならF5で実行できるが、フォームのモジュールにあるsubはF5では実行できない。 標準モジュールにあっても、引数があるものは実行できない (例:sub test(a as integer)など) ちなみにfunctionも同様。