パラメータクエリを読み込む

パラメータクエリとは、抽出条件を設定した選択クエリです。
例えば、住所に「東京」がつくデータとか、名前を指定しレコードを取り出すとかができます。
データベースでは必ず必要な機能です。

カスタマーサポート等に問い合わせをした時、電話番号を言うと「○○さん」ですね。と答えることができるのがこの機能です。



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

実行画面

クエリの作成画面です。
Accessの抽出条件でワイルドカードを使う場合「*」を使いますが、ADOの場合「%」をつかいます。
ここでは、Like "%" & [q1] & "%" と入力しています。
顧客名のどこかに指定した文字が含まれていれば抽出できます。いわゆる、あいまい検索です。
パラメータクエリの作成画面

Excelでの実行結果です。
顧客名に「田」が付くレコードが抽出できました。
名前の抽出結果

コード

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:="田")
    
    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