4

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

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

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

有什么办法可以禁用自动转换为科学计数法。

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

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

4

3 回答 3

5

你有几个选择:

  • 您可以直接在查询中使用该Format()函数来强制将违规列中的数据格式化为某种方式,例如:

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

您可以轻松地修改代码以某种方式格式化数字类型。
如果您不知道如何,请告诉我,我将修改代码并将其发布在这里。

于 2009-02-18T04:36:24.820 回答
1

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

于 2009-02-18T04:18:51.213 回答
0

在 Query 中处理此问题的一种简单方法是将值双重转换为长整数,然后再转换为字符串。对于 CSV 导出,无论如何它都是字符。

myValue:ZString(ZLong(123456789))
于 2022-02-04T12:10:29.713 回答