Accessの標準モジュールは、フォームやレポートに関連付けられていないので、どこからでも実行可能なプロシージャを書くことができます。
プロシージャの種類には、Subプロシージャや Functionプロシージャがありましたね。
関連付けられていないということは、フォームやレポート無しでも、プログラムのテストができるので、まず最初に学んでもらいました。(重要)
初心者がAccessでフォームやレポートを作り、さらにプログラミングまで行なうのは、難しく感じてしまうかもしれないからです。(慣れると難しくないのですが)
そこで最初はVBAのプログラミングに集中してもらうために、標準モジュールから入りました。
でも実際にシステムを運用する時に、システムを使うユーザーが、いちいち VBE(Visual Basic Editor) を起動して、イミディエイト ウィンドウから操作を行なうのは大変ですよね。間違えてプログラムを書き換えてしまう可能性もあります。
普通はユーザーにプログラムを見せないで、フォームから操作してもらうようにします。
そこで次の段階として、フォームから標準モジュールを呼び出して、処理を行なえるようにしてみましょう。
以下のようなイメージを実現します。
(1)フォーム上のボタンをクリックすると、
(2)テーブルにレコードが追加される。
(3)イミディエイト ウィンドウにも実行結果が表示される。
イミディエイト ウィンドウは、あくまでプログラマーの確認用なので、ユーザーに見せる必要はありません。
本当は PREF_CD や PREF_NAME の値を変えられるようにしたいところですが、今回は「フォームから標準モジュールを呼び出す」ということに集中して、後から改良することにします。
【ワンポイント】
本来、標準モジュールの使い方は、複数のフォームやレポートで、共通して使う処理を書いておくものです。
例
・データベースに接続する部分
・よく使う計算
・よく使う処理 など
これまでに書いてきたプログラムは、フォームのモジュールでも行なえるものです。(そちらに書いたほうが良い)
フォームやレポートを作る手間を省くために、あえて使っていたので、その点はご理解ください。