반응형
헤더가 있는 vba를 사용하여 sql 쿼리 결과를 excel로 내보내기
Excel을 위해 간단한 SQL 쿼리 결과를 내보내야 합니다.결과를 얻을 수 있는데 헤더가 누락되었는데 헤더도 어떻게 내보낼 수 있나요?
제가 지금까지 가지고 있는 것은 다음과 같습니다.
Sub Conn2SQL()
Dim cnn1 As New ADODB.Connection
Dim mrs As New ADODB.Recordset
Set cnn1 = New ADODB.Connection
cnn1.ConnectionString = "driver={SQL Server};server=MyDBServer;uid=MyuserID;pwd=mypassword;database=MyDB"
cnn1.ConnectionTimeout = 30
cnn1.Open
SQry = "use MyDB select * from TableName"
mrs.Open SQry, cnn1
Sheet2.Range("A2").CopyFromRecordset mrs
mrs.Close
cnn1.Close
End Sub
필드 이름을 반복하여 머리글을 포함해야 합니다.Microsoft 사이트의 예는 다음과 같습니다.
For iCols = 0 To oRS.Fields.Count - 1
Sheet(1).Cells(1, iCols + 1).Value = oRS.Fields(iCols).Name
Next
코드에 구현하려면 다음과 같습니다.
Sub Conn2SQL()
Dim cnn1 As New ADODB.Connection
Dim mrs As New ADODB.Recordset
Dim iCols As Integer
Set cnn1 = New ADODB.Connection
cnn1.ConnectionString = "driver={SQL Server};server=MyDBServer;uid=MyuserID;pwd=mypassword;database=MyDB"
cnn1.ConnectionTimeout = 30
cnn1.Open
SQry = "use MyDB select * from TableName"
mrs.Open SQry, cnn1
For iCols = 0 To mrs.Fields.Count - 1
Worksheets("Sheet2").Cells(1, iCols + 1).Value = mrs.Fields(iCols).Name
Next
Sheet2.Range("A2").CopyFromRecordset mrs
mrs.Close
cnn1.Close
End Sub
이것을 할 수 있는 다른 것이 있습니다.SQL 연결 및 테이블 데이터를 시트에 추가할 수 있습니다. (Excel 데이터 연결 마법사)
그런 다음 VBA를 사용하여 표의 데이터를 삭제하고 코드를 통해 데이터를 삽입합니다(VBA를 사용하여 SQL 연결 및 쿼리 작성).
코드가 성공적으로 데이터를 삭제하고 SQL 데이터를 해당 테이블에 재쿼리하면 생성된 연결을 삭제할 수 있습니다.
열 머리글이 있는 테이블이 표시되고 이제 데이터가 동적으로 테이블로 가져와 덤프됩니다.열 제목 VBA가 필요하지 않습니다.:)
저는 여전히 더 나은 해결책을 찾기를 바라고 있습니다.이게 왜 더 쉽지 않은지 모르겠어요.
'Get Header into an array:
Dim HeadString As String
Dim HeadArr as Variant
For iCols = 0 To mrs.Fields.Count - 1
If HeadString = "" Then
HeadString = mrs.Fields(iCols).Name
Else
HeadString = HeadString & "," & mrs.Fields(iCols).Name
End If
Next f
Debug.Print HeadString
HeadArr = Split(HeadString, ",")
Debug.Print HeadArr (0)
언급URL : https://stackoverflow.com/questions/24282620/export-sql-query-results-to-excel-using-vba-with-headers
반응형
'programing' 카테고리의 다른 글
Git 자격 증명 도우미 - 암호 업데이트 (0) | 2023.07.06 |
---|---|
ORA-01741: 잘못된 0-길이 식별자 (0) | 2023.07.06 |
Mongodb 도트 표기 와일드카드? (0) | 2023.07.06 |
Wordpress wp_editor 텍스트 영역에 사용자 지정 속성을 추가하는 방법은 무엇입니까? (0) | 2023.07.06 |
Spring mongo 데이터 저장소 인터페이스를 위한 "16진수 표현 추가" (0) | 2023.07.06 |