Ms access 在Access 2007 CSV导出中:禁用科学符号

Ms access 在Access 2007 CSV导出中:禁用科学符号,ms-access,csv,export,scientific-notation,Ms Access,Csv,Export,Scientific Notation,从Access 2007导出CSV时,它会自动将小数转换为科学符号 不幸的是,接收这些字段的工具将这些字段视为文本,并按原样显示 要导出的值来自针对某些Excel链接表运行的查询,它们完美地显示在查询视图中 有没有办法禁用自动转换为科学记数法 即,如果在查询中显示为0.007,则在输出csv中显示为0.007,而不是7E3 注意:我必须为此使用Excel和Access。尽管我很想切换到SQL Server,但如果我把它放在我妻子的工作笔记本电脑上,她会不高兴的 您可以在access中编写少量VB

从Access 2007导出CSV时,它会自动将小数转换为科学符号

不幸的是,接收这些字段的工具将这些字段视为文本,并按原样显示

要导出的值来自针对某些Excel链接表运行的查询,它们完美地显示在查询视图中

有没有办法禁用自动转换为科学记数法

即,如果在查询中显示为0.007,则在输出csv中显示为0.007,而不是7E3


注意:我必须为此使用Excel和Access。尽管我很想切换到SQL Server,但如果我把它放在我妻子的工作笔记本电脑上,她会不高兴的

您可以在access中编写少量VBA代码,从链接表或access查询中查询数据并将其写入文本文件,从而创建自己的.CSV和“向导”。我从来都不太喜欢Access“导出”向导,只是自己创建了文件。

您有两个选择:

  • 您可以在查询中直接使用强制将有问题的列中的数据格式化为某种方式,例如:

    SELECT ID, Format([Price],"standard") as Pricing FROM ORDERS;
    
  • 您可以在VBA中编写自己的CSV导出例程。
    我最近贴了一张,作为对这个问题的回答

您可以轻松地修改代码,以某种方式格式化数字类型。

如果您不知道如何操作,请告诉我,我将修改代码并将其发布在此处。

Ack!我已经很久没有接触VBA了,但这里有一个小伪代码:“在ADODB.Recordset中打开查询”打开一个文件以使用本机VBA文件I/O进行写入。“遍历记录集,写入记录集中的所有字段。用你自己的引号和逗号关闭记录集和文件。为什么在Access中使用ADO?DAO更合适。对我来说,只有当我将数字减少到小数点以下时,使用Format()才有效。由于有两个以上的小数,即使在我使用“通用编号”进行格式化时,科学符号仍在导出文件中使用。上面链接的自己的CSV导出例程对我来说甚至可以使用两个以上的小数。