我创建了一个Form,在其中我创建了一个按钮,并通过上下文菜单激活了VBA的代码生成器。 单击该按钮,查询将正确导出为.xlsx:
Option Compare Database
Private Sub Befehl0_Click()
DoCmd.TransferSpreadsheet acExport, , "queryname", "C:\test\queryname.xlsx", -1
End Sub
但是,当我修改导出时(根据此FAQ):
Option Compare Database
Private Sub Befehl0_Click()
DoCmd.TransferText acExportDelim, , "queryname", "C:\test\queryname.csv", -1
End Sub
什么都没发生。
我也试过设置出口规格,但这也没有帮助。
这里有什么问题?
答案 0 :(得分:2)
对此的答案是出现了错误' 3441' "文本文件规范字段分隔符匹配小数分隔符或文本分隔符",仅在尝试在直接窗口中运行它时可见(Ctrl + G)。
显然,当您使用非英语操作系统时,这是分隔符默认设置的问题。
要解决此问题,必须提供出口规格。但是,有两种方法可以创建,其中一种方法是错误的。
导入也是如此,我发现了on the web:
"是的,我创建了规范,可通过导入查看 向导,但在MSysIMEXSpecs中没有它的行。"然后呢 似乎您可能没有创建真正的导入规范。
在Access 2007及更新版本中,您还可以保存"导入步骤"。这个 与导入规范中的不同。
A"保存导入",不会显示在MSysIMEXSpecs中,而是真实的 导入规范应该。
确定,导入过程中的步骤,如果单击 "高级"按钮实际创建导入规范。
导入过程的最后一步是"保存导入步骤"对话 框,...再次,这是不与Import Spec相同的东西。一个 "保存导入/导出"将在以下网址提供: 外部数据 - >导出 - >已保存导出...因此请在此处查看
使用这些知识,它的工作原理是添加导出规范" exportcsv"在上述过程中创建。
DoCmd.TransferText acExportDelim, "exportcsv", "queryname", "C:\test\queryname.csv", -1