Tôi đang sử dụng Excel để lấy dữ liệu từ một db SQL. Tôi đã sử dụng mã từ một câu hỏi SO khác và nó hoạt động tốt. Bây giờ tôi muốn kéo vào các tên cột từ một bảng ngoài bảng thực tế. Tôi đã tìm ra rằng tôi có thể lấy tên bằng cách sử dụng vòng lặp For For fld. Tuy nhiên vẫn còn vấn đề của chúng cư trú theo chiều ngang trong một hàng trong Excel như số cột có thể thay đổi - vì vậy tôi nghĩ rằng tôi sẽ cần khác Đối với mỗi vòng lặp cũng hoặc một cái gì đó tương tự.Kéo các tên cột vào Excel từ truy vấn 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
Bạn có muốn các tiêu đề được xếp hàng với dữ liệu không? Dữ liệu bắt đầu bằng A1, nhưng dường như bạn đã đặt phạm vi tiêu đề thành A4. –
yeah bạn nói đúng - sao chép và dán sai phần của tôi. – firedrawndagger