Я использую 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