访问VBA - DoCmd.TransferText错误“INSERT INTO语句包含以下未知字段名称...”

时间:2013-11-26 02:38:52

标签: ms-access ms-access-2007 access-vba

我被要求对Access 2007 VBA应用程序进行一些更新。我的经验主要是使用Excel VBA,而不是使用Access。

在一个地方,我们会添加一些额外的字段。其中一个表导出到Excel工作簿,如下所示:

DoCmd.TransferText acExportDelim,"(文本文件规范)","(源表名称)",(要创建的CSV文件的路径),True

将新字段添加到源表后,我收到错误:

" INSERT INTO语句包含以下未知字段名称:'(字段名称)'。确保您已正确输入名称,然后再次尝试操作。"

在阅读了我能找到的内容之后,我明白问题在于"文本文件规范"没有新的字段。而且,我无法编辑文本文件规范,而是必须创建一个新规范。

好的,我能做到。但是,我怎么知道以前的文本文件规范所做的一切?我可以看到结果,但这并不能告诉我它所做的一切。

是否可以看到,即使只读,该文本文件规范?如果我(在Access 2007中)转到“外部数据”选项卡>出口部分>保存导出,然后转到保存的导出选项卡,我看到那里可能有一个项目,但它看起来与我在DoCmd.TransferText行中看到的名称相同。但是,我没有看到任何方式来查看它的作用;只是它的名称,描述(空白)和路径(当前无效)。

有没有比猜测游戏更好的方法来解决旧文本文件规范的作用?

有什么建议吗?

谢谢,

格雷格

1 个答案:

答案 0 :(得分:2)

在Access中,右键单击要导出的表,然后选择Export > Text File。在导出向导的第一页上,指定此测试导出的目标文件名,然后单击“确定”。

在随后的对话框中(您可以选择“分隔”或“固定宽度”),单击左下角的“高级...”按钮。这将带您进入“导出规范”对话框。单击“规格...”按钮,您将看到已保存的导出规范列表。选择您想要的那个,然后单击“打开”。

进行更改后,请记住单击“另存为...”按钮并保存新版本与旧版本相同的名称。 (当询问您是否要覆盖现有规范时,请说“是”。)