2012-05-07 11 views
6

Ho più tabelle di Microsoft Access che desidero esportare in un singolo file XML. Come faccio a manipolare l'ordine e la gerarchia delle tabelle nella struttura XML che voglio? In sostanza, voglio essere in grado di invertire il processo di importazione XML, che suddivide automaticamente i dati in più tabelle. Posso usare VBA, SQL e qualsiasi funzione di esportazione integrata a mia disposizione.esportazione di tabelle di accesso multiple su XML singolo

risposta

3

ecco la soluzione via VBA:
http://msdn.microsoft.com/en-us/library/ff193212.aspx

creare una da e mettere un pulsante su di esso. tasto destro del mouse sul pulsante e scegliere "costruire evento" e passato il seguente codice:

Dim objOtherTbls As AdditionalData 


Set objOtherTbls = Application.CreateAdditionalData 

'Identify the tables or querys to export 
objOtherTbls.Add "internet" 
objOtherTbls.Add "mokaleme" 

'Here is where the export takes place 
Application.ExportXML ObjectType:=acExportTable, _ 
DataSource:="internet", _ 
DataTarget:="C:\myxml.xml", _ 
AdditionalData:=objOtherTbls 

MsgBox "Export operation completed successfully." 

è necessario digitare il nome delle tabelle qui e tra i corsi:

objOtherTbls.Add "internet" 
    objOtherTbls.Add "mokaleme" 

    DataSource:="internet" 
5

uso il attaccato a produrre un xml nidificato di 3 milioni di righe in circa cinque minuti.

Ci sono due elementi chiave,

1) un semplice pezzo di VB,

Public Function Export_ListingData() 

    Dim objOtherTbls As AdditionalData 

    On Error GoTo ErrorHandle 
    Set objOtherTbls = Application.CreateAdditionalData 
    objOtherTbls.Add "ro_address" 
    objOtherTbls.Add "ro_buildingDetails" 
    objOtherTbls.Add "ro_businessDetails" 
    objOtherTbls.Add "ro_businessExtras" 
    objOtherTbls.Add "ro_businessExtrasAccounts" 
    objOtherTbls.Add "ro_businessExtrasAccom" 
    objOtherTbls.Add "ro_businessExtrasAccom2" 

    Application.ExportXML ObjectType:=acExportTable, _ 
       DataSource:="ro_business", _ 
       DataTarget:="C:\Users\Steve\Documents\Conversions\ListData.xml", _ 
       AdditionalData:=objOtherTbls 
Exit_Here: 
     MsgBox "Export_ListingData completed" 
     Exit Function 
ErrorHandle: 
     MsgBox Err.Number & ": " & Err.Description 
     Resume Exit_Here 
End Function 

2) Collegamento le tabelle in relationship manager utilizzando join dalle elementari alle chiavi esterne.

Se non ci sono relazioni il codice produrrà un file xml sequenziale, se ci sono relazioni tra chiavi primarie si otterrà un errore 31532 e l'esportazione dei dati avrà esito negativo.

Problemi correlati