我在受限制的公司网络上,我在编程上从查询中导出CSV文件时遇到了一些问题。以下命令:
DoCmd.TransferText acExportDelim, , "query_name", strPath
尝试使用逗号[,]作为分隔符导出CSV。这会导致错误,因为它等于我所在区域的小数点分隔符。在这种情况下,某种程度上不能正确应用Windows本地化设置。 Excel"另存为..."命令确实给出了一个适当的CSV文件[;分隔符。
从this post开始,我尝试创建一个规范(SpecName)来应用分号。该对话框阻止我取消选中所有框并保存规范不是一个选项。我的猜测是,这是由于我的帐户受到限制。
因此,本地设置未正确应用,并且自定义规范是不可能的。我有什么选择?
答案 0 :(得分:2)
这里有两种方法:
滚动自己的csv-Export。这不是太困难。打开Query以获取Recordset,然后使用Do While Not rs.EOF
和带For Each myField In rs.Fields
的Fields迭代行,并将数据连接成String。这样,如果值中包含分隔符,则可以在值周围指定自己的分隔符和引号。
创建Excel实例并使用Worksheet.QueryTables.Add()
将记录集复制到工作表中。然后,您可以使用Worksheet.SaveAs sCSVName, xlCSVWindows
将其写入csv文件。
答案 1 :(得分:0)
这会导致错误,因为它等于我所在区域的小数点分隔符。在这种情况下,某种程度上不能正确应用Windows本地化设置。 - 这里的错误是什么?请发布错误,以便我们进一步查看和分析。
该对话框阻止我取消选中所有框,并且无法保存规范。这看起来像什么,你能发布截图吗?请发布截图,以便我们进一步查看和分析。