6

複数の Microsoft Access テーブルを 1 つの XML ファイルにエクスポートしたいと考えています。テーブルの順序と階層を必要な XML 構造に操作するにはどうすればよいですか? 要するに、データを自動的に複数のテーブルに分解する XML インポート プロセスを元に戻せるようにしたいと考えています。VBA、SQL、および任意の組み込みエクスポート関数を自由に使用できます。

4

2 に答える 2

5

添付の を使用して、約 5 分で 300 万行のネストされた xml を生成します。

キーアイテムは2つ、

1) 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) 主キーから FOREIGN キーへの結合を使用して、リレーションシップ マネージャーでテーブルをリンクします。

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

于 2015-03-01T00:09:12.707 に答える
3

ここにVBAによるソリューションがあります:
http://msdn.microsoft.com/en-us/library/ff193212.aspx

from を作成し、その上にボタンを配置します。ボタンを右クリックして「ビルド イベント」を選択し、次のコードを貼り付けます。

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"
于 2013-03-25T06:30:13.937 に答える