我创建了一个测试MS Access DB来将表导出到Excel和文本文件。
这适用于Excel:
DoCmd.OutputTo acOutputQuery, "QryExportToExcel", _
acFormatXLS, XFile, False
对于文本文件,我创建了一个规范并使用了这段代码
DoCmd.TransferText acExportDelim, "Mytable Import Specification", "mytable", "D:\myfolder\test1.txt", False
在错误消息中,我得到“test1 #txt”。
Microsoft Office Access数据库引擎找不到该对象 “测试1#TXT”。确保对象存在并拼写其名称 和路径名称正确。
我尝试在同一路径中创建test1.txt。令我惊讶的是,这删除了已经存在的文件。
软件:MS ACCESS 2007
Microsoft Office Access数据库引擎找不到对象“test1 #txt”。确保对象存在,并且您正确拼写其名称和路径名称。
这是一个通用(而且无用)的错误消息,如果出现任何问题,Access输出。一个示例是导入/导出规范中的拼写错误的字段名称。
您可以通过在Access用户界面中“手动”尝试导入操作(而不是通过代码)来获取“真实”错误消息。
问题作者报告说问题是“因为我使用导入规范导出文件”。
他们使用导出规范解决了这个问题。
因为您正在执行DoCmd.TransferText,所以Access期望该位置存在文件Test1.txt。首先尝试创建文件,然后执行文本传输。
您可以在导出之前尝试此代码来创建文件:
Public Sub CreateExportFile()
Dim strFileName As String
Dim SomeStringToOutput
strFileName = "d:\myfolder\test1.txt"
Open strFileName For Output As #1
End Sub
我遇到了类似的情况,发现文件schema.ini在目标文件夹中。这是在以前执行acExportMerge时创建的,它导致了此错误。确保在执行新的TransferText之前删除了该文件。