Ich versuche gerade, die VBA zu schreiben, um XML zu erstellen, aber da es fehlgeschlagen ist, habe ich beschlossen, den integrierten XML-Generator von Access zu testen. Ich habe eine parametrisierte Abfrage und nachdem ich die Parameter eingegeben habe, gehe ich zum Export der XML- und XSD-Dateien. Nachdem ich auf OK geklickt habe, erscheint ein Popup-Fenster mit dem Hinweis, dass Access die Daten nicht exportieren konnte. Es funktioniert gut bei nicht-parametrisierten Abfragen, also denke ich nicht, dass es ein DLL-Problem ist. Irgendwelche Gedanken wären hilfreich.Access 2013 konnte keine Parameterabfrage in XML und XSD exportieren
1
A
Antwort
2
Ich konnte Ihr Problem in Access 2010 neu erstellen. Interessanterweise konnte Access die Parameterabfrage erfolgreich in die XML-Datei exportieren, aber versuchen, sowohl die XML- als auch die XSD-Dateien zu exportieren, die Zugriff auf Choke verursachten.
wäre Eine Abhilfe SELECT * INTO ...
zu verwenden, um die Abfrage-Ergebnisse in eine temporäre Tabelle zu entleeren, exportieren Sie die Tabelle in XML und XSD, und dann die temporäre Tabelle löschen:
Option Compare Database
Option Explicit
Sub so37834736()
' sample data
Const queryName = "myParameterQuery"
Const tempTableName = "zzzTempTable"
Const xmlFileSpec = "C:\__tmp\zzzTest.xml"
Const xsdFileSpec = "C:\__tmp\zzzTest.xsd"
Dim cdb As DAO.Database
Set cdb = CurrentDb
Dim qdf As DAO.QueryDef
Set qdf = cdb.CreateQueryDef("", _
"SELECT * INTO [" & tempTableName & "] FROM [" & queryName & "]")
qdf!prmStartDate = DateSerial(2001, 1, 1) ' specify parameter value(s)
qdf.Execute dbFailOnError
Set qdf = Nothing
Set cdb = Nothing
Application.ExportXML acExportTable, tempTableName, xmlFileSpec, xsdFileSpec
DoCmd.DeleteObject acTable, tempTableName
End Sub
Ja, die zu funktionieren scheint, ich Am Ende änderte man das On-Click-Event, um die Parameter abzufangen und speicherte die Abfrage dann in einer temporären Tabelle. Das gleiche Konzept wie Ihres – Neal