2016-06-15 8 views
1

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

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 
+0

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