1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
'*******************************************************************************************************
' Script permettant d'extraire au format CSV les tables d'une base Access
'
'*******************************************************************************************************
connstring = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=BS.mdb"
set m_RS = CreateObject("ADODB.Recordset")
Set DBConn = CreateObject("ADODB.Connection")
DBConn.Open connstring
Set rstSchema = DBConn.OpenSchema(20)
Set fso = CreateObject("Scripting.FileSystemObject")
DEF_EXPORT_SEP = ";"
Do Until rstSchema.EOF
If rstSchema("TABLE_TYPE") = "TABLE" Then
chemin = rstSchema("TABLE_NAME") & ".CSV"
Set Fic = fso.CreateTextFile(chemin, True)
txtSQL = "select * from " & rstSchema("TABLE_NAME")
m_RS.open txtSQL, connstring
' Entête
sLine = ""
for i = 0 to m_RS.Fields.count - 1
sLine = sLine & m_RS.Fields(i).Name & DEF_EXPORT_SEP
next
if sLine <> "" then
sLine = Left(sLine, Len(sLine) - 1)
Fic.writeLine sLine
end if
' Données
Do Until m_RS.EOF
sLine = ""
for i = 0 to m_RS.Fields.count - 1
sLine = sLine & m_RS.Fields(i).Value & DEF_EXPORT_SEP
next
if sLine <> "" then
sLine = Left(sLine, Len(sLine) - 1)
Fic.writeLine sLine
end if
m_RS.MoveNext
Loop
Fic.Close
Set Fic = Nothing
m_RS.Close
End If
rstSchema.MoveNext
Loop
Set fso = Nothing
Set rstSchema = Nothing
DBConn.Close
Set DBConn = Nothing
set m_RS = Nothing
msgbox "Extraction terminée." |
Partager