通过vba从查询创建.csv文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过vba从查询创建.csv文件相关的知识,希望对你有一定的参考价值。

我创建了一个调用已保存导出菜单的宏,以便可以将查询导出为.csv,以便导入到另一个数据库。

我想减少用户的步骤数 - 不仅要避免必须单击确定等,而且导出的文件还有一些数据附加的货币格式。

到目前为止我的编码看起来像这样:

Public Function ExportProducts()
DoCmd.TransferText acExportDelim, "ExportSpecs", "ActProductInfo", _
"T:DocumentsIsaac ReefmanProduct List", -1
MsgBox "Remember to clear formatting in the .csv file before importing it into Act", _
vbExclamation, "Export Reimnder"
End Function

这给我留下了两个问题。

  1. 我得到一个错误,说数据库或对象是只读的。据我所知,它不是。出于这个原因,它拒绝执行。
  2. 看起来它会用格式化导出它(其中一些有货币格式)。我需要它最终没有任何格式化数据库它将去。
答案

至于错误,你应该添加文件的扩展名,如:

“T: Documents Isaac Reefman Product List.csv”

至于格式化,您可以在使用导出向导时选择退出格式,例如,不要勾选此框:

使用格式和布局导出数据

您可能还需要使用CDbl()在查询中重新格式化。或者Str()正如古斯塔夫所说的那样(这是一个更好的建议!)。

所以:Str([tblTable].[Field1]) AS NameOfExportColumn, Str([tblTable].[Field2]) AS SecondColumnName

然后导出查询而不是表。

以上是关于通过vba从查询创建.csv文件的主要内容,如果未能解决你的问题,请参考以下文章

VBA:SaveAs 方法创建无限的 csv 文件

访问 VBA 将 CSV 文件导出为 UTF-8

通过 ADO 将没有标题的 CSV 文件导入 VBA

检查 csv 文件是不是从 vba 打开

csv转excel,用vba实现

如何将 CSV 数据导入多个数组并通过 VBA 中的函数或子函数返回多个数组?