Microsoft Office Access数据库引擎找不到该对象

问题描述 投票:5回答:4

我创建了一个测试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

ms-access vba ms-access-2007 access-vba
4个回答
1
投票

Microsoft Office Access数据库引擎找不到对象“test1 #txt”。确保对象存在,并且您正确拼写其名称和路径名称。

这是一个通用(而且无用)的错误消息,如果出现任何问题,Access输出。一个示例是导入/导出规范中的拼写错误的字段名称。

您可以通过在Access用户界面中“手动”尝试导入操作(而不是通过代码)来获取“真实”错误消息。


1
投票

问题作者报告说问题是“因为我使用导入规范导出文件”。

他们使用导出规范解决了这个问题。


0
投票

因为您正在执行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

0
投票

我遇到了类似的情况,发现文件schema.ini在目标文件夹中。这是在以前执行acExportMerge时创建的,它导致了此错误。确保在执行新的TransferText之前删除了该文件。

© www.soinside.com 2019 - 2024. All rights reserved.