반응형
SQL 쿼리에서 열 이름을 Excel로 가져오는 중
SQL 데이터베이스에서 데이터를 가져오는 데 Excel을 사용하고 있습니다.저는 다른 SO 질문의 코드를 사용했고 그것은 잘 작동합니다.이제 실제 테이블 외에 테이블에서 열 이름을 불러오려고 합니다.저는 For Each fld 루프를 사용하여 이름을 얻을 수 있다는 것을 알게 되었습니다.그러나 열 수가 변경될 수 있기 때문에 Excel에서 열을 수평으로 채우는 문제가 남아 있습니다. 그래서 각 루프에 대해 다른 F 또는 유사한 것이 필요할 것 같습니다.
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
평소 코드는 매우 유사합니다.
For intColIndex = 0 To objMyRecordset.Fields.Count - 1
Range("A4").Offset(0, intColIndex).Value = objMyRecordset.Fields(intColIndex).Name
Next
네, 그래서 4번의 시도 끝에 알아냈어요, 여기 루프의 코드가 있습니다.
'Loop'
Dim FieldRange As Range
Set FieldRange = Range("A4")
Set TableColumns = Range("A4:H4")
x = 1
Range("A4").Select
For Each fld in objMyRecordset.Fields
ActiveCell.Value = fld.Name
ActiveCell.Offset(0, x).Select
x = x + 1 'tick iterator
Next
ActiveSheet.Range("A5").CopyFromRecordset objMyRecordset
Range("A4").Select
매우 단순하게 하려면 다음과 같은 작업을 수행합니다(시트 1 및 기록기 사용).
For i = 0 To r.Fields.Count - 1
Sheet1.Cells(1, i + 1) = r.Fields(i).Name
Next i
x 변수를 0으로 설정한 다음 다음과 같은 작업을 수행할 수 있습니다.
x = 0
For Each Field In RS.Fields 'RS being my Recordset variable
Range("A3").Offset(0, x).Value = Field.Name
x = x + 1
Next Field
그리고 그것은 읽기를 조금 더 쉽게 할 것입니다... :)
언급URL : https://stackoverflow.com/questions/4190515/pulling-column-names-into-excel-from-sql-query
반응형
'programing' 카테고리의 다른 글
파일 내용을 powershell 호스트 창으로 출력합니다. (0) | 2023.08.30 |
---|---|
스프링 부팅으로 생성된 Content-Type 헤더에서 charset=utf-8을 제거하는 방법 (0) | 2023.08.30 |
Rails 3.1 자산 파이프라인을 사용하여 조건부로 특정 CSS 사용 (0) | 2023.08.25 |
사용자 지정 WebAPI HttpMessageHandler에서 사용자 주체를 안전하게 설정하려면 어떻게 해야 합니까? (0) | 2023.08.25 |
부트스트랩 드롭다운 메뉴가 작동하지 않음 (0) | 2023.08.25 |