Получение имен столбцов в Excel из запроса SQL

Я использую Excel для извлечения данных из базы данных SQL. Я использовал код из другого вопроса SO, и он отлично работает. Теперь я хочу извлечь имена столбцов из таблицы в дополнение к самой таблице. Я понял, что могу получить имена с помощью цикла For Each fld. Однако по-прежнему существует проблема размещения их по горизонтали в строке в Excel, поскольку количество столбцов может измениться - поэтому я думаю, что мне понадобится еще один для каждого цикла или что-то подобное.

Sub GetDataFromADO()

'Declare variables'
    Set objMyConn = New ADODB.Connection
    Set objMyCmd = New ADODB.Command
    Set objMyRecordset = New ADODB.Recordset

'Open Connection'
    objMyConn.ConnectionString = "Provider=SQLOLEDB;Data Source=localhost;User ID=abc;Password=abc;"
    objMyConn.Open

'Set and Excecute SQL Command'
    Set objMyCmd.ActiveConnection = objMyConn
    objMyCmd.CommandText = "select * from myTable"
    objMyCmd.CommandType = adCmdText
    objMyCmd.Execute

'Loop Names'
    ' WHAT TO DO HERE????'

'Open Recordset'
    Set objMyRecordset.ActiveConnection = objMyConn
    objMyRecordset.Open objMyCmd

'Copy Data to Excel'
    ActiveSheet.Range("A1").CopyFromRecordset (objMyRecordset)

End Sub
10
задан firedrawndagger 16 November 2010 в 05:14
поделиться