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

时间:2018-04-27 04:08:43

标签: ms-access access-vba

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

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

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

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

这给我留下了两个问题。

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

1 个答案:

答案 0 :(得分:2)

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

" T:\ Documents \ Isaac Reefman \ Product List.csv"

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

使用格式和布局导出数据

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

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

然后导出查询而不是表格。