プログラムは長くなると複雑になるので、処理を別のプロシージャとしてまとめ、呼び出して使うことがあります。
今回は最もシンプルな例ですが、よく使われる方法なので、仕組みを理解しましょう。
【1】Access で VBEを起動して、作成済みの標準モジュール「test」を表示します。
*VBEは「Altキー」+「F11キー」で起動できます。
【2】以下の図のように、新たに Subプロシージャ test() を作成してください。
「Ctrlキー」+「スペースキー」で入力候補を表示したり、コピー貼り付けを使うと、簡単に作れます。
作成したら実行してみましょう。
【3】Subプロシージャ test() にカーソルを移動します。
*実行したいプロシージャ内なら、カーソルの位置はどこでもかまいません。
【4】ツールバーの「Sub/ユーザーフォームの実行」ボタンをクリックします。
*「F5キー」でもプログラムを実行できます。
【5】画面が Access に切り替わり、メッセージボックスが表示されました。
これは Subプロシージャ test1() が呼び出された結果です。
【6】メッセージボックスの「OK」ボタンをクリックします。
【7】続いて Subプロシージャ test2() が呼び出されました。
【8】最後に Subプロシージャ test3() が呼び出されました。
【9】プログラムが終了し、VBEの画面に戻りました。
【解説】
(1)プロシージャ内から別のプロシージャを呼び出すには、「Call」を使います。
Call test1
Call test2
Call test3
*Subプロシージャ名の後ろに () カッコは不要です。
(2)プロシージャ内からは、複数のプロシージャが呼び出せます。
【ワンポイント】
今回はシンプルな例なので、あまり効果を実感できないかもしれません。しかし、例えば Subプロシージャ test1() 内の処理が、100行だったらどうでしょうか?
100行の処理を「Call test1」というふうに、プロシージャ名だけで簡単に呼び出せることは、とても便利で重要なのです。
他のプログラミング言語では、呼び出し方が異なりますが、考え方は同じなので、覚えておくと役立ちます。