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

问题描述 投票:0回答:1

我创建了一个调用已保存导出菜单的宏,以便可以将查询导出为.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. 看起来它会用格式化导出它(其中一些有货币格式)。我需要它最终没有任何格式化数据库它将去。
ms-access access-vba
1个回答
2
投票

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

“T:\ Documents \ Isaac Reefman \ Product List.csv”

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

使用格式和布局导出数据

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

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

然后导出查询而不是表。

© www.soinside.com 2019 - 2024. All rights reserved.