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

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

実行時に検索条件となる値(パラメータ)を求めるパラメータクエリーを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 ((社員.自宅都道府県)=[都道府県]));

コメント

タイトルとURLをコピーしました