Microsoft Access Club >VBA物語 >このページ  サイト内検索


プロシージャとは:VBA物語Help



プロシージャは、Visual Basic コードの 1 単位です。プロシージャには、操作を実行したり値を計算する一連のステートメントおよびメソッドが含まれます。

たとえば、次のイベント プロシージャでは、OpenForm メソッドを使って [frm_受注] フォームを開きます。

Private Sub OpenOrders_Click()

    DoCmd.OpenForm "frm_受注"

End Sub 

プロシージャの種類

プロシージャには次の 2 種類があります。

  1. Sub プロシージャは、操作を実行しますが、値を返しません。独自の Sub プロシージャを作成することも、Access によって作成されたイベント プロシージャのテンプレートを使うことも可能です。
  2. Function プロシージャは、通常では関数と呼ばれ、計算結果などの値を返します。Visual Basic には、現在の日時を返す Now 関数など、多くの組み込み関数があります。これらの組み込み関数に加え、独自の関数を作成することができます。
    関数は値を返すので、それを式の中で使うことができます。Visual Basic のステートメントやメソッド、多くのプロパティの設定値、またはフィルタやクエリの抽出条件も含めた Access 内のさまざまな場所で、式の中で関数を使うことができます。

サンプルプロシージャの作成

次のプロシージャは、FirstOfNextMonth という名の Function プロシージャの例です。この関数は、来月の最初の日を年月日で返します。

Function FirstOfNextMonth()

    FirstOfNextMonth = DateSerial(Year(Now), Month(Now) + 1, 1)

End Function
解説
  1. この関数は、式 (等号 [=] の右辺) の結果を関数の名前の [FirstOfNextMonth] (等号の左辺) に代入します。この関数は、Visual Basic の組み込み関数(Access側で用意されている関数)の DateSerial、Year、Now および Month を使って、結果を計算します。
  2. 作成された関数は、Access のほとんどの式にも使うことができます。たとえば、コントロールの DefaultValue/既定値 プロパティに次の式を設定し、コントロールに来月の最初の日を表示します。
= FirstOfNextMonth()
上記のように、各プロパティの設定値として関数を使うには、その関数がフォームまたはレポートのモジュール内、または標準モジュール内に存在している必要があります。
フォームまたはレポートに関連付けられていないクラス モジュール内の関数を、フォームまたはレポート プロパティの設定値として使うことはできません。

Sub プロシージャ、および Function プロシージャは、共に引数の指定ができます。

ページの先頭へ 前ページへ戻る


プロシージャとは:VBA物語Help


 

-Microsoft Access Club-