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