使用制表符分隔符将MS Access 2007-2010查询导出到CSV文件

问题描述

我正在使用MS Access 2007-2010,我有一个查询,该查询会更新表,然后导出到CSV文件

Private Sub Command24_Click()

DoCmd.SetWarnings False
    DoCmd.OpenQuery "MyQuery"
    DoCmd.SetWarnings True
    DoCmd.TransferText acExportDelim,"dbh_ac","MyTable","MyPath_" & Format(Date,"yyyymmdd") & ".CSV",True
    MsgBox "file created"
    
End Sub

导出后,如果我尝试使用excel打开,某些列将移至另一列。我假设是因为为分号设置了定界符,并且我有一个名为“ Comment”的列,其中包含带有分号的值。

所以我的问题是如何导出带有不同定界符的文件?例如制表符?

解决方法

我知道这个问题。在具有不同区域设置的用户的环境中工作时,我遇到了几次。 我不确定您是否可以通过导出另一个定界符来解决此问题-通常是您的个人设置确定哪个字符被识别为定界符。

遇到此问题时,我所做的是暂时将区域设置从默认设置(德语)更改为美国。这样,下次我打开.CSV文件时,逗号将被识别为定界符,而不是分号。

我知道这不是特别优雅。如果应该有一种方法可以在不更改区域设置的情况下更改标准定界符,那么我会改用它-但我不知道它是否以及如何工作。

要更改区域设置: 控制面板/->区域和语言/->格式/->,在那里将格式切换为美国或其他任何不能将分号作为分隔符的区域

更改区域后,您可以尝试再次将数据导出到.CSV,然后直接打开文件。

让我知道它是否有效。