Option Explicit
Sub ExcelからAccessデータ抽出パラメータ条件付き()
'Microsoft ActiveX Data Objects 2.X LibraryとMIcrosoft ADO Ext.x.x for DDL and SecurityをVBEツールから参照設定
Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim cmd As ADODB.Command
Dim dbPath As String
dbPath = "D:\ThinkpadMark3\自学\filename変更_bat類\.xlsm\Accessへのexport\Database2.accdb"
' コネクションをセットし、Accessを開く
Set cnn = New ADODB.Connection
cnn.Provider = "Microsoft.Ace.OLEDB.12.0;"
' 任意のAccessファイルを設定する
'cnn.Open ThisWorkbook.Path & "\ado3.accdb"
cnn.Open dbPath
' コマンドをセット
Set cmd = New ADODB.Command
Set cmd.ActiveConnection = cnn
cmd.CommandText = "クエリ1" ' クエリを設定
Dim I, J As String
I = ActiveSheet.Cells(1, 5)
J = ActiveSheet.Cells(1, 6)
'レコードセットをセットし、パラメータを指定して実行
Set rst = New ADODB.Recordset
'Set rst = cmd.Execute(Parameters:=Array("%1%", "%3%"))
Set rst = cmd.Execute(Parameters:=Array("%" & I & "%", "%" & J & "%"))
If rst.EOF Then
MsgBox "データがありません。"
Else
'レコードをA1セルへ貼り付ける
Range("A1").CopyFromRecordset rst
End If
' 閉じる
rst.Close
cnn.Close
' 解放する
Set cmd = Nothing
Set rst = Nothing
Set cnn = Nothing
End Sub