Accessロゴ

実行時に検索条件となる値(パラメータ)を求めるパラメータクエリーをADOを使用したVBAで実行して結果をレコードセットオブジェクトに取得するサンプルプログラムを覚書。
スポンサードリンク


パラメータークエリーを実行してレコードセットを取得するサンプルプログラム

以下に2つのパラメータを持つパラメータクエリーを実行して結果をレコードセットオブジェクトで取得し、イミディエイトウィンドウに各フィールドの値を出力するサンプルプログラムを記載します。
Sub Sample()
Dim con As New ADODB.Connection
Dim com As New ADODB.Command
Dim rec As New ADODB.Recordset, i As Integer

Set con = CurrentProject.Connection

	With com
		.ActiveConnection = con
		.CommandText = "テストクエリ"
		.CommandType = adCmdTable
		.Parameters.Refresh
		.Parameters(0) = "第一営業"
		.Parameters(1) = "東京都"
		
		Set rec = .Execute
	End With

Do Until rec.EOF
	For i = 0 To rec.Fields.Count - 1
		Debug.Print rec(i).Value
	Next i
	
	rec.MoveNext
Loop

End Sub

サンプルプログラムで使用したデーベースとパラメータークエリー

サンプルとなるクエリーはAccessのサンプルデータベース"Northwind.mdb"の社員テーブルを基にしています。

作成したパラメータクエリー"テストクエリ"は、SQL文で書くと以下のようになります。
PARAMETERS [部署名] Text ( 50 ), [都道府県] Text ( 50 );
SELECT 社員.*
FROM 社員
WHERE (((社員.部署名)=[部署名]) AND ((社員.自宅都道府県)=[都道府県]));

スポンサードリンク

  

関連記事