Recordsetオブジェクトの結果をQueryTableオブジェクトで受け取る
Sub Recordsetと組み合わせる()
Dim myCon As New ADODB.Connection, myRS As New ADODB.Recordset
Dim myFile As String
myFile = ThisWorkbook.Path & "\mdb\4-sampleDB.mdb"
'接続
With myCon
.Provider = "Microsoft.Jet.OLEDB.4.0"
.Open myFile
End With
'「社員」テーブルの内容を読み込む
myRS.Open "社員", myCon
'クエリテーブルを作成
With Sheets("クエリテーブルVBA2").QueryTables.Add(myRS, Range("A1"))
.Name = "VBA_QT"
.Refresh
End With
myRS.Close: Set myRS = Nothing
myCon.Close: Set myCon = Nothing
End Sub
QueryTableオブジェクトとADOのRecordsetオブジェクトは、組み合わせて使用することも可能。
QueryTableオブジェクトを経由させることにより、フィールド名の書き出しや、書き出したセル範囲に「名前」をつける処理、セル幅の自動調整などの処理が容易になる。
実行結果

