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

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

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

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

Excel Tipsメニューに戻る

スポンサーリンク





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


Copyright (c) Excel-Excel ! All rights reserved