Estoy usando Excel para extraer datos de un SQL db. Utilicé el código de otra pregunta SO y funciona bien. Ahora quiero incluir los nombres de columna de una tabla además de la tabla actual. Descubrí que podía obtener los nombres usando el ciclo For Each fld. Sin embargo, todavía existe la cuestión de rellenarlos horizontalmente en una fila en Excel, ya que el número de columnas podría cambiar, por lo que estoy pensando que necesitaría otro para cada ciclo también o algo similar.Extracción de nombres de columna en Excel desde la consulta SQL
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
¿No quieres que los encabezados estén alineados con los datos? Los datos comienzan en A1, pero parece que ha establecido el rango de encabezado en A4. –
sí, tienes razón, copiar y pegar mal de mi parte. – firedrawndagger