5

我创建了一个测试 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 数据库引擎找不到对象
“test1#txt”。确保对象存在并且
正确拼写其名称和路径名。

我得到的错误

我尝试在同一路径中创建 test1.txt。令我惊讶的是,这删除了已经存在的文件。

软件:MS ACCESS 2007

4

4 回答 4

1

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

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

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

于 2012-11-23T13:21:28.750 回答
1

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

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

于 2013-12-06T17:58:23.767 回答
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
于 2012-07-03T18:18:40.630 回答
0

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

于 2017-09-21T20:02:45.220 回答