Excel Range
объекты имеют метод CopyFromRecordset
, который должен выполнять эту работу. Если вы можете создать объект Excel.Application
и открыть рабочую книгу, в которую хотите написать, вы сможете использовать это.
Таким образом, если ваш существующий набор записей называется rs
и уже заполнен, код в VBA будет выглядеть следующим образом:
Worksheets("SHEET1").Cells(2, 1).CopyFromRecordset rs
Затем вы можете перебрать rs.Fields
, чтобы заполнить имена полей
Dim fld As Field
Dim i As Integer
i = 1
With Worksheets("SHEET1")
For Each fld in rs.Fields
.Cells(1, i).Value = fld.Name
i = i + 1
Next fld
End With
Не уверен, насколько легко это было бы перевести на ваш сценарий.
В качестве альтернативы, если он доступен с драйвером, который вы используете, вы можете изучить синтаксис SELECT INTO
и INSERT INTO
, описанный в этой статье базы знаний