2012-05-07 11 views
6

1つのXMLファイルにエクスポートする複数のMicrosoft Accessテーブルがあります。どのようにしてテーブルの順序と階層を、私が望むXML構造に操作するのですか?本質的には、データを複数のテーブルに自動的に分割するインポートXMLプロセスを元に戻したいと考えています。私はVBA、SQL、および任意の組み込みのエクスポート機能を自由に使用できます。ここ複数のアクセステーブルを1つのXMLにエクスポート

答えて

3

は、VBAを経由してソリューションです:
http://msdn.microsoft.com/en-us/library/ff193212.aspx

から作成し、その上にボタンを配置します。右ボタンをクリックして、「イベントを構築」を選択し、次のコードを通り過ぎ:

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." 

あなたはここに引用の間、あなたのテーブルの名前を入力する必要があります。

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

    DataSource:="internet" 
5

私が接続を使用約5分で3百万行のネストされたXMLを生成します。

用い関係マネージャ内のテーブルをリンク

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)原発から外部キーに参加する二つの重要なアイテム、

1)VBの単純な部分が存在します。

関係がない場合、コードでは順次XMLファイルが生成されます。主キー間に の関係があると、31532エラーが発生し、データのエクスポートが失敗します。

関連する問題