繁体   English   中英

如何创建VBA函数(用于Access 2010),将直通查询导出为XML文件?

[英]How can I create a VBA function (for Access 2010) that exports pass-through queries as XML files?

当前,我正在使用Access2010。我已经使用TSQL创建和存储多个传递查询。

以前,我使用以下VBA定期导出本机(到Access 2010)“选择”查询:

Sub ExportToXmlFile()
Application.ExportXML ObjectType:=acExportQuery, DataSource:="Query1", DataTarget:="C:\Desktop\Query1.xml"
Application.ExportXML ObjectType:=acExportQuery, DataSource:="Query2", DataTarget:="C:\Desktop\Query2.xml"
End Sub

但是,自从将Query1和Query2重做为直通查询以来,我收到以下运行时错误:“ 7798:您只能将选择查询,交叉表和联合查询保存为这种格式”。

因此,我想知道如何重写上述VBA,以便能够将直通查询导出为XML文件?

笔记:

在研究此问题时,我偶然发现以下问题: 无法导出查询传递... Google网上论坛

似乎可行的解决方案是将传递查询存储为临时表,然后将临时表导出为XML文件。 不幸的是,我一直试图重写上面的VBA,但没有成功。

您发现ExportXML将不接受传递查询。 但是,至少在Access 2007中,您可以通过创建使用传递作为其数据源的新查询来轻松解决此限制。 然后, ExportXML将接受新查询而不会产生投诉。

创建此查询并将其另存为qryFromPassthru

SELECT *
FROM Query1;

然后将qryFromPassthruExportXML 结合使用:

Application.ExportXML ObjectType:=acExportQuery, _
    DataSource:="qryFromPassthru", DataTarget:="C:\Desktop\Query1.xml"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM