Вопрос по vba, xml – экспорт нескольких таблиц доступа в один XML
У меня есть несколько таблиц Microsoft Access, которые я хочу экспортировать в один файл XML. Как мне манипулировать порядком и иерархией таблиц в желаемой структуре XML? По сути, я хочу иметь возможность полностью изменить процесс импорта XML, который автоматически разбивает данные на несколько таблиц. Я могу использовать VBA, SQL и любую встроенную функцию экспорта в моем распоряжении.
чтобы создать вложенный XML-файл с 3 миллионами строк за пять минут.
Есть два ключевых пункта,
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 и экспорт данных не удастся.
http: //msdn.microsoft.com/en-us/library/ff193212.asp
создать от и поставить кнопку на нем. щелкните правой кнопкой мыши на кнопке и выберите «построить событие» и введите следующий код:
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"