指定した条件で抽出した結果を読み込み

抽出条件を設定するには、SQL文を使います。
SQLとはデータベースの操作を行なう言語で、ExcelやAccessのVBAとは異なります。
SQL文は、CommandオブジェクトのCommandTextプロパティにセットします。 

今回使用したSQL文です。
SQL = "SELECT *FROM T_顧客マスター2000件 WHERE 顧客名 LIKE '山本%'"
「T_顧客マスター2000件」テーブルの「顧客名」フィールドの中から、先頭文字が「山本」のレコードを抽出するという意味です。


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

実行画面

顧客データベースの苗字が「山本」の顧客名を抽出した結果です。
顧客名で絞り込んだレコード


コード

Option Explicit

Private Sub ExAccdbSelectImport()
    Dim db As ADODB.Connection
    Dim rs As ADODB.Recordset
    Dim cmd As ADODB.Command
    Dim SQL As String
    
    '苗字が「山本」を抽出
    SQL = "SELECT *FROM T_顧客マスター2000件 WHERE 顧客名 LIKE '山本%'"
        
    '顧客管理のACCDBファイルに接続します
    Set db = New ADODB.Connection
    db.Provider = "Microsoft.Ace.OLEDB.12.0"
    db.Open "C:\MyHP\excel2007\Tips\顧客管理.accdb"

    'レコードセットを開きます
    Set rs = New ADODB.Recordset
    Set cmd = New ADODB.Command
    Set cmd.ActiveConnection = db
    'SQLをセット
    cmd.CommandText = SQL
    Set rs = cmd.Execute
    
    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