プロシージャは、Visual Basic コードの 1 単位です。プロシージャには、操作を実行したり値を計算する一連のステートメントおよびメソッドが含まれます。たとえば、次のイベント プロシージャでは、OpenForm メソッドを使って [受注] フォームを開きます。
Private Sub OpenOrders_Click() DoCmd.OpenForm "
受注" End Sub
プロシージャには次の 2 種類があります。
データベース内の各フォームおよびレポートには、イベント プロシージャのテンプレートを含んだ Access 組み込みのフォーム モジュールまたはレポート モジュールがあります。開発者は、フォームまたはレポートで、またはフォームやレポートのコントロールで発生したイベントに応答して実行するコードをモジュールに追加できます。フォーム、レポート、またはコントロールでイベントが発生したことが認識されると、そのオブジェクトおよびイベント用に指定されたプロシージャが自動的に実行されます。たとえば、ユーザーが [既婚] チェック ボックスをオンにしたときにフォーカスを [配偶者名] テキスト ボックスに設定するイベント プロシージャを記述できます。
ヒント オブジェクトを作成するコマンド ボタン ウィザードなどの多くのウィザードで、そのオブジェクトのイベント プロシージャも作成できます。これらのイベント プロシージャの例で、プロシージャがどのような処理をしているかを調べてください。
関数は値を返すので、それを式の中で使うことができます。Visual Basic のステートメントやメソッド、多くのプロパティの設定値、またはフィルタやクエリの抽出条件も含めた Access 内のさまざまな場所で、式の中で関数を使うことができます。
次のプロシージャは、FirstOfNextMonth という名の Function プロシージャの例です。この関数は、来月の最初の日を年月日で返します。
Function FirstOfNextMonth()
FirstOfNextMonth = DateSerial(Year(Now), Month(Now) + 1, 1)
End Function
このカスタム関数は、式 (等号 [=] の右辺) の結果を関数の名前の [FirstOfNextMonth] (等号の左辺) に代入する 1 つの代入ステートメントから構成されています。この関数は、Visual Basic の組み込み関数の DateSerial、Year、Now および Month を使って、結果を計算します。
作成された関数は、Access のほとんどの式にも使うことができます。たとえば、コントロールの "DefaultValue/既定値" プロパティに次の式を設定し、コントロールに来月の最初の日を表示します。
=FirstOfNextMonth()
メモ プロパティの設定値として関数を使うには、その関数がフォームまたはレポートのモジュール内または標準モジュール内に存在している必要があります。フォームまたはレポートに関連付けられていないクラス モジュール内の関数を、フォームまたはレポート プロパティの設定値として使うことはできません。
Sub プロシージャ、および Function プロシージャは、共に引数の指定ができます。Visual Basic で引数を使うことの詳細については、 をクリックしてください。