Se ti interessa posso offrirti questa alternativa, è uno script che realizzai a suo tempo e che ho riadatatto un po' per l'occasione.
Copia il codice e incollalo in un file di testo. Poi dai estensione al file .vbs (ex mdbTOxml.vbs).
Lo script lo sposti nella cartella dove sta il tuo db.
Apri una finestra dos e con cd ti sposti nella cartella dove sta lo script, quindi lo lanci con:
mdbTOxml nomeDatabase.mdb nomeTabellaVistaDaEsportare
codice:
Option Explicit
Sub Destroy(ByRef obj)
On Error Resume Next
If IsObject(obj) Then
If obj.State = 1 Then
obj.Close
End If
Err.Clear
Set obj = Nothing
End If
End Sub
Sub ReportError(ByRef ts, ByRef e)
ts.WriteLine("<errorNumber>" & e.Number & "</errorNumber>")
ts.WriteLine("<errorDescription>" & Escape(e.Description) & "</errorDescription>")
WScript.Echo e.Description
e.Clear
End Sub
If WScript.Arguments.Length = 2 Then
Dim currentPath:currentPath = Replace(WScript.ScriptFullName, WScript.ScriptName, "")
Dim connString: connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & currentPath & WScript.Arguments(0)
Dim tableName: tableName = WScript.Arguments(1)
Dim sqlString: sqlString = "SELECT * FROM [" & tableName & "]"
Dim fileName: fileName = tableName
Dim tempName: tempName = fileName
Dim conn, rs, fso, ts
Dim i: i = 0
Set conn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
Set fso = CreateObject("Scripting.FileSystemObject")
Do
If Not fso.FileExists(currentPath & tempName & ".xml") Then
Set ts = fso.CreateTextFile(currentPath & tempName & ".xml", False)
Exit Do
Else
i = i +1
tempName = fileName & "(" & i & ")"
End If
Loop
ts.WriteLine("<?xml version=""1.0"" encoding=""ISO-8859-1""?>")
ts.WriteLine("<" & tableName & ">")
On Error Resume Next
conn.Open connString
If err.Number <> 0 Then
Call ReportError(ts, err)
Else
Set rs = conn.Execute(sqlString)
If err.Number <> 0 Then
Call ReportError(ts, err)
Else
If Not rs.EOF Then
Do While Not rs.EOF
ts.WriteLine("<recordset>")
For i = 0 To rs.Fields.Count -1
ts.Write(VBTab & "<" & rs.Fields(i).Name & ">")
ts.Write(Escape(rs(i)))
ts.WriteLine("</" & rs.Fields(i).Name & ">")
Next 'i
ts.WriteLine("</recordset>")
rs.MoveNext
Loop
Else
ts.WriteLine("<recordset />")
End If
End If
End If
ts.WriteLine("</" & tableName & ">")
Call Destroy(ts)
Call Destroy(fso)
Call Destroy(rs)
Call Destroy(conn)
WScript.Echo VBCrLf & "Operazione terminata." & VBCrLf & "Il file prodotto e' " & tempName & ".xml."
Else
WScript.Echo VBCrLf & "mdbTOxml usage:" & VBCrLf & VBCrLf & VBTab & "mdbTOxml databaseName tableName" & VBCrLf
End If