【问题标题】:Export to CSV with Headers导出为带有标题的 CSV
【发布时间】:2020-01-01 14:09:23
【问题描述】:

我正在尝试将 Microsoft Access 的查询表单导出到 .csv 文件中。

我需要导出有标题:

DoCmd.TransferText acExportDelim, "CSV_TEST_SPECIFICATION", "tempQuery", "file.csv", True

除了file.csv 中没有标题之外,代码运行良好。

CSV_TEST_SPECIFICATION 与用于导入原始 CSV 的规范相同。

它包括第一行作为标题。

【问题讨论】:

    标签: vba csv ms-access


    【解决方案1】:

    欢迎来到 SO。 试试这个:

    Public Sub Export()
    
        Dim filepath As String
            filepath = "[A valid path]\FileName.csv"
    
        DoCmd.TransferText acExportDelim, , "QueryName", filepath, True
    End Sub
    

    【讨论】:

    • 谢谢你。是的,跳过规范是可行的,但它会使文件太大。此宏的目的是加载对 excel 来说太大的 .csv 文件并将其分成较小的部分。如果我在没有规范的情况下将它“划分”为一个部分,它会使输出文件的大小大于输入文件(并且由于它比 excel 可以接受的更多,我无法比较这两个文件)。如果我使用规范,文件大小保持不变,但它会跳过第一行...
    【解决方案2】:

    好吧,最后一个参数设置为“True”,应该为您提供标题。有关详细信息,请参阅下面的链接。

    https://docs.microsoft.com/en-us/office/vba/api/access.docmd.transfertext

    Use True (1) to use the first row of the text file as field names when importing, exporting, or linking. Use False (0) to treat the first row of the text file as normal data. If you leave this argument blank, the default (False) is assumed. This argument is ignored for Microsoft Word mail merge data files, which must always contain the field names in the first row.
    

    尝试压缩和修复。也许这会解决它。这些年来,我看到 Access 做了一些奇怪的事情,而且经常做一个 CR 会让一切都理顺。

    【讨论】:

    • 谢谢。这就是问题所在——它不起作用。我最终编写了代码以将 .csv 文件打开为 .txt 并在所有导出的文件中添加一个带有标题的新行。
    猜你喜欢
    • 2020-07-01
    • 1970-01-01
    • 2014-07-18
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    • 2010-11-10
    • 2022-12-18
    • 2019-07-25
    相关资源
    最近更新 更多