複数の抽出条件を持つパラメータクエリを読み込む

複数のパラメータクエリとは、例えば、名前に「川」が住所に「京」が含まれるレコードを抽出するように条件が複数あるクエリです。
設定は、cmd.Execute(Parameters:=Array("田", "文京")) のように、Arrayを使い指定します。


Homeに戻る > Excel データベースのTipsへ

実行画面

クエリの作成画面です。
顧客名と住所にパラメータを指定しました。
顧客名は、Like "%" & [q1] & "%"  住所は、Like "%" & [q2] & "%" と設定しました。
2つのパラメータの設定画面

Excelでの実行結果です。
顧客名に「田」が含まれ、住所に「文京」が含まれるくレコードが抽出できました。
2つのパラメータで抽出したシート


コード

Option Explicit

Private Sub ExAccdbSelectImport()
    Dim db As ADODB.Connection
    Dim rs As ADODB.Recordset
    Dim cmd As ADODB.Command
        
    '顧客管理のACCDBファイルに接続します
    Set db = New ADODB.Connection
    db.Provider = "Microsoft.Ace.OLEDB.12.0"
    db.Open "C:\MyHP\excel2007\Tips\顧客管理.accdb"

    Set cmd = New ADODB.Command
    Set cmd.ActiveConnection = db

    cmd.CommandText = "Q_顧客抽出"

    'レコードセットを開きます
    Set rs = New ADODB.Recordset
    '氏名に田、住所に文京がつくレコードを抽出
    Set rs = cmd.Execute(Parameters:=Array("田", "文京"))
    
    If rs.EOF Then
        MsgBox "抽出した結果、顧客のレコードが見つかりません。"
    Else
        'レコードをシートへ貼り付ける
        Range("B7").CopyFromRecordset rs
    End If
    
    rs.Close
    Set rs = Nothing
    Set db = Nothing
    
End Sub

Private Sub CommandButton1_Click()
    ExAccdbSelectImport
End Sub



Homeに戻る > Excel データベースのTipsへ

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved