「プロシージャ」とは、VBAで一連の処理を記述する際の、ひとまとまりの処理単位を示すものです。フォームなどからあるプロシージャが呼び出されると、そのプロシージャの1行目から順番に処理が実行され、最終行で一連の処理が完結します。
■プロシージャの種類
プロシージャには、「Functionプロシージャ」と「Subプロシージャ」の2種類があります。
- <Functionプロシージャ>
- 一般的に”関数”とも呼ばれ、与えられた値を元に計算を行いその結果の値を返します。Accessには、あらかじめ用意された多くの「組み込み関数」がありますが、Functionプロシージャを使うことによって、自分独自の関数を作成することができます。
また、標準モジュール上のFunctionプロシージャは、クエリの演算フィールドやフォームのコントロールのプロパティからも呼び出すことができます。なおそれらの場合には、返り値がなくてもFunctionプロシージャにする必要があります。
- Functionプロシージャの構文:
Function プロシージャ名(引数1 As データ型, 引数2 As データ型・・・・) As 返り値のデータ型
〜〜〜〜〜〜〜〜
〜〜〜〜〜〜〜〜
〜〜〜〜〜〜〜〜
プロシージャ名= 返り値
End Function
Functionプロシージャの例:
- <Subプロシージャ>
- 一連の操作を順番に実行する処理などを記述するプロシージャで、返り値は持ちません。
- Subプロシージャの構文:
Sub プロシージャ名(引数1 As データ型, 引数2 As データ型・・・・)
〜〜〜〜〜〜〜〜
〜〜〜〜〜〜〜〜
〜〜〜〜〜〜〜〜
End Sub
Subプロシージャの例:
Sub OpenForm(strFrmName1 As String, strFrmName2 As String)
'指定したフォームをいっしょに開きます
DoCmd.OpenForm strFrmName1
DoCmd.OpenForm strFrmName2
MsgBox "フォームを開きました"
End Sub
■プロシージャの作り方
個々のプロシージャは次のような手順で作成します。
- VBEのコードウィンドウを開く
- 空行部分に”Function”または”Sub”と入力
- スペースを入力後、任意のプロシージャ名を入力
- 半角の前カッコを入力し、続けて任意の数の引数をカンマで区切って入力
- 半角の後カッコを入力
- Functionプロシージャの場合はその次に返り値のデータ型を入力
- 最後にEnterキーを押す
これによって“End Function”などの語句が自動的に追加され、プロシージャの枠組みが生成されます
- プロシージャ内にプログラムを書き込んでいく
■プロシージャの実行
作成したプロシージャは、さまざまな方法で呼び出してテストすることができます。
- イミディエイトウィンドウからの呼び出し
- 別のプロシージャからの呼び出し
- Subプロシージャの呼び出し
引数を持たないプロシージャの実行 |
引数を持たないプロシージャは、その場で直ちに実行させることができます。それには、カーソルがそのプロシージャ内にある状態で、次のいずれかの操作を行います。
- メニューの[実行]-[Sub/ユーザー フォームの実行]を選択する
- ツールバーの[Sub/ユーザー フォームの実行]ボタン をクリックする
- キーボードよりF5キーを押す
|
|