VBEの[参照設定]で、「Microsoft ActiveX Data Objects X.X Library」を選択。

なるべく新しいライブラリを選択。

Access2007以降のaccdbファイルの開く時は、
Provider=Microsoft.ACE.OLEDB.12.0;


VBAProject --> Microsoft Excel Objects --> SheetXX

Public Const myDBName As String = "myDB.mdb"
Public Const Prv_Jet40 As String = "Provider=Microsoft.Jet.OLEDB.4.0;"

Private Sub CommandButton1_Click()

    Dim myDBConnect As ADODB.Connection
    Dim myRecSet As ADODB.Recordset
    
    Dim strProvider As String, strDataSource As String
 
    Dim myPath As String
    
    'カレントフォルダへのパスの初期化
    myPath = ThisWorkbook.Path
    ChDrive myPath
    ChDir myPath
 
    '-------------------
    'DBに接続
    
    Set myDBConnect = New ADODB.Connection
    
    strDataSource = "Data Source=" & myDBName
    strProvider = Prv_Jet40 & strDataSource
    
    With myDBConnect
        .ConnectionString = strProvider
        .Open
    End With
    
    '-------------------
    'DBからレコードを取り出す
    
    Set myRecSet = New ADODB.Recordset

    With myRecSet
        'テーブルでもクエリでも同じように取り出せる
        .Source = "SELECT * FROM 法人顧客入力修正クエリ WHERE 決算月='1月'"
        .ActiveConnection = myDBConnect
        .Open
    End With
        
    '-------------------
    
    'レコードをシートに転記
    Sheets(3).Range("A1").CopyFromRecordset myRecSet

    '-------------------
    'レコードセットを閉じ、オブジェクト破棄
    
    myRecSet.Close
    Set myRecSet = Nothing
    
    '-------------------
    'DBに接続を閉じ、オブジェクト破棄

    myDBConnect.Close
    Set myDBConnect = Nothing

End Sub

 ↓ facebook のフォローで応援してください。お願いします。



Microsoft Office ブログランキングへ