반응형
Access Database의 모든 테이블을 Excel로 내보내는 방법 - 각 테이블에 대한 시트
30개의 테이블이 있는 Access 데이터베이스를 가지고 있습니다.
엑셀 워크북에서 30개의 테이블을 모두 별도의 시트로 내보내려면 어떻게 해야 합니까?
이 작업을 수행하기 위해 Access 내에서 실행할 수 있는 VBA/VBS 코드를 찾고 싶습니다.
무슨 생각 있어요?
다음과 같은 작업을 수행할 수 있어야 합니다.
Dim tbl as Tabledef
For Each tbl in Currentdb.TableDefs
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, tbl.name, "PathName.xls", True, tbl.name
Next
두번째tbl.name
워크시트 이름입니다.
제가 사용한 전체 모듈은 여기 있습니다.
Sub expotT()
Dim td As DAO.TableDef, db As DAO.Database
Set db = CurrentDb()
For Each td In db.TableDefs
If Left(td.Name, 4) <> "msys" Then
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, _
td.Name, "C:\xExcelTables.xls", True, td.Name
End If
Next
End Sub
위 코드의 형식 및 고정 버전입니다.우리는 엑셀 파일의 MSys 테이블과 시트 이름의 dbo 접두사가 필요 없습니다.MS Access db와 관련하여 내보내기를 하거나 수정할 수도 있습니다.
코드는 다음과 같습니다.
Sub exportTables2XLS()
Dim td As DAO.TableDef, db As DAO.Database
Dim out_file As String
out_file = CurrentProject.path & "\excel_out.xls"
Set db = CurrentDb()
For Each td In db.TableDefs
If Left(td.Name, 4) = "MSys" Then
'// do nothing -- skip
Else
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, _
td.Name, out_file, True, Replace(td.Name, "dbo_", "")
End If
Next
End Sub
언급URL : https://stackoverflow.com/questions/4036772/how-to-export-all-tables-from-an-access-database-into-excel-a-sheet-for-each-t
반응형
'source' 카테고리의 다른 글
graphql을 사용하여 스프링 부트에서 인증 (0) | 2023.10.16 |
---|---|
Codable 클래스가 Decodable 프로토콜을 준수하지 않습니다. (0) | 2023.10.16 |
MySQL의 개체 배열을 사용하여 JSON 열 쿼리 열 (0) | 2023.10.16 |
Concat 함수가 작동하지 않음 - 인수 개수가 잘못되었습니다. (0) | 2023.10.16 |
공유 라이브러리를 정적 라이브러리로 변환하시겠습니까? (0) | 2023.10.16 |