【发布时间】:2013-12-13 16:37:43
【问题描述】:
在 MS Access 中,我需要将所有查询备份到文本文件中
我可以对其他 Access 对象执行此操作,例如以下是将所有报告备份到文本文件的示例
Dim oApplication
Set oApplication = CreateObject("Access.Application")
For Each myObj In oApplication.CurrentProject.AllReports
WScript.Echo "Report " & myObj.fullname
oApplication.SaveAsText acReport, myObj.fullname, sExportpath & "\" & myObj.fullname & ".report"
Next
我尝试了以下方法来备份所有查询
For Each myObj In oApplication.CurrentData.AllQueries
WScript.Echo "Query " & myObj.fullname
oApplication.SaveAsText acQuery, myObj.Name, sExportpath & "\" & myObj.Name & ".query"
Next
但是,生成的文本文件是查询输出。它绝对不是我要查找的查询定义。
这里要清楚的是我试图导出到文本的图像
有人对如何实现这一点有任何想法吗?
【问题讨论】:
-
我在 Access 2007 或 2010 中没有遇到这个问题。使用
SaveAsText acQuery为我提供了查询定义......其中包括 SQL 属性和 Access 在定义中存储的各种其他属性。但是SaveAsText绝对不会给我运行查询返回的数据。添加到 2013 年似乎是一个奇怪的“功能”。:-( -
您对 acQuery 使用什么值?我设置 acForm = 2、acModule = 5、acMacro = 4、acReport = 3 和 acQuery = 6
-
“其中包括 SQL 属性和各种其他属性 Access 存储在定义中”可能我没有以纯文本形式返回 SQL 属性并且它有其他相关数据? (返回的文本文件实际上是一个非常大的二进制加密文件,我假设是查询结果)
-
我是通过 Access VBA 完成的。
acQuery是 1。请参阅 AcObjectType Enumeration。这些常量都没有 6 作为它的值。 -
太好了,我一直在寻找那个枚举表
标签: vba ms-access ms-access-2013