我需要从Access创建一个XML文件。它必须具有关系节点类型格式。
例如:
<Item>
<description></description>
<colors>
<blue>
<green>
</colors>
</item>
项目的数据在表格中。颜色在另一个。我有参考ID,所以我可以加入它们。
如何/可以做到这一点。我已经看了一遍,看看如何导出表,但不是嵌套类型的文件。
答案 0 :(得分:1)
下面是我用来查询数据然后将结果导出到平面文件的示例。我已经根据你的需要进行了调整。
On Error GoTo Err_My_Click
Dim rs As DAO.Recordset
Set rs = CurrentDb.OpenRecordset("SELECT * FROM MyTable", dbOpenDynaset)
If (rs.RecordCount <> 0) Then
rs.MoveFirst
Open "C:\Export\XML__MyFile.xml" For Output As #1
Do While rs.EOF = False
TempExportCount = TempExportCount + 1
Print #1, "<Item>"
Print #1, " <description>" & rs.Fields("[Description]").value & "</description>"
Print #1, "</Item>"
rs.MoveNext
Loop
End If
Exit_My_Click:
On Error Resume Next
rs.Close
Set rs = Nothing
Close 1#
Exit Sub
Err_My_Click:
If (Err.Number = 76) Then
MsgBox ("The program could not save the txt file." & vbNewLine & vbNewLine & _
"Make sure you have the following folder created: C:\Export\")
Else
MsgBox (Err.Description)
End If
Resume Exit_My_Click
答案 1 :(得分:1)
创建SELECT
查询,该查询使用引用ID将items表与colors表连接。
如果您有一个正确收集信息的查询,请从Access用户界面将其数据导出到XML。
如果它为您提供所需的XML,则可以使用Application.ExportXML Method从VBA自动执行导出操作。请注意,该方法提供了许多调整XML的选项。但出口可能就像这样简单......
Application.ExportXML acExportQuery, "YourQuery", _
"C:\SomeFolder\YourQuery.xml"
答案 2 :(得分:1)
我使用附件在大约五分钟内生成一个300万行嵌套xml。
有两个关键项目,
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错误,数据导出将失败。