Używam programu Excel do pobierania danych z bazy danych SQL. Użyłem kodu z innego pytania SO i działa dobrze. Teraz chcę pobrać nazwy kolumn z tabeli oprócz faktycznego stołu. Doszedłem do wniosku, że mogę uzyskać nazwy używając pętli For Each fld. Jednak wciąż istnieje kwestia zaludnienia ich poziomo w wierszu w programie Excel, ponieważ liczba kolumn może się zmienić - tak myślę, że potrzebowałbym innego dla każdej pętli również lub czegoś podobnego.Ciągnięcie nazw kolumn do programu Excel z zapytania 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
Nie chcesz, żeby nagłówki były wyrównane z danymi? Dane zaczynają się w A1, ale wydajesz się ustawić zakres nagłówka na A4. –
Tak, masz rację - zła kopia i wklej z mojej strony. – firedrawndagger