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オブジェクトを経由させることにより、フィールド名の書き出しや、書き出したセル範囲に「名前」をつける処理、セル幅の自動調整などの処理が容易になる。
実行結果