【问题标题】:Access is replacing # with . when exporting to a csvAccess 正在将 # 替换为 。导出到 csv 时
【发布时间】:2021-05-15 15:42:06
【问题描述】:

我有一个将数据导出到 csv 的小型访问程序。 csv 需要具有包含# 的字段标题。但是,当我使用 VBA 导出时:

DoCmd.TransferText acExportDelim, "ThisExport", "GeneralQuery", "C:\ThisFile\data.csv", True

它将#'s 更改为.'s:

【问题讨论】:

  • 使用有效的标识符,例如Email_1
  • 我希望事情就这么简单。我要导出的数据必须具有这些确切的标题,以便可以将其导入到另一个寻找这些标题的软件中。
  • 也许必须使用文本文件读/写。使用 TransferText 导出文件,然后使用读/写进行修改。 stackoverflow.com/questions/57194061/…
  • 规范化你的数据库。你不应该有这样的重复字段。您需要一个单独的表,该表仅与电子邮件和 ID 相关联。然后你可以有任意数量的电子邮件。

标签: vba csv ms-access


【解决方案1】:

一种方法使用 UNION 查询:

SELECT 0 AS Cat, "Email #1" AS A, "Email #2" AS B, "Email #3" AS C FROM Table1
UNION SELECT 1, [Email #1], [Email #2], [Email #3] FROM Table1;

将 TransferText HasFieldNames 参数设置为 False 并导出查询。

但是,如果您的导入应用程序无法处理存在的 Cat 字段,请使用文本文件读/写方法。这是一个相当普遍的话题。使用 TransferText 导出数据,然后使用读/写方法进行修改。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-19
    • 1970-01-01
    • 2011-06-23
    • 1970-01-01
    • 1970-01-01
    • 2012-08-26
    • 2023-02-15
    • 1970-01-01
    相关资源
    最近更新 更多