テーブル内容を転記する基本形その3 — SQL文で抽出する
Recordsetオブジェクトで受け取り、CopyFromRecordsetメソッドで転記
Sub シートに転記3()
'テーブル内容を転記する基本形その3 --- SQL文で抽出
Dim myCon As New ADODB.Connection, myRS As New ADODB.Recordset, FileName As String
Dim myTbl As String, myRng As Range
'接続先のファイル、取込元テーブル、取込先を指定
FileName = ThisWorkbook.Path & "\mdb\2-sampleDB.mdb"
myTbl = "SELECT * FROM 社員 WHERE 所属='営業1課';"
Set myRng = ThisWorkbook.Worksheets(1).Range("A1")
'接続
With myCon
.Provider = "Microsoft.Jet.OLEDB.4.0"
.Open FileName
End With
With myRS
'対象テーブルを参照、転記、閉じる
.Open myTbl, myCon
myRng.CopyFromRecordset myRS
.Close
End With
'Recordsetオブジェクトを破棄
Set myRS = Nothing
'データベースへの接続を切断し、オブジェクトを破棄
myCon.Close: Set myCon = Nothing
End Sub
実行結果
上記のリストはExcelブックにAccessのテーブル内容を転記する基本形である。
| 変数 | 変数の内容 |
|---|---|
| FileName | 取り込み元の「mdb」ファイル |
| myTbl | 取り込み元となるテーブル、クエリ、SQL文も使用可能 |
| myRng | 転記先となるエクセルのセル番地 |
