从Excel读取时,访问查询返回不同的结果

时间:2017-02-15 08:44:24

标签: excel ms-access

我在ACCDB中有一个可以在Access中正常工作的查询 我可以成功地将其数据复制/粘贴到Excel。

但是,从Excel中,如果我尝试使用外部数据源插入数据透视表,指向同一个查询,则某些数字字段具有奇怪的格式和一些计算的数字列(公式为查询)与源相比,其值除以100 从未见过这种行为。有什么建议吗? 整个MS-Office设置是在2010年 我在源查询中已做过的事情(没有明显的改进):

  • 使用CCur()确保数字处于连贯的数据类型
  • 将这些罪魁祸首列的格式属性设置为"标准"

同一银行中的其他PC上的行为完全相同。

1 个答案:

答案 0 :(得分:0)

我可以解决由于2个不同的错误导致的问题,可能是在JetOLEDB中。

    Excel无法正确处理
  1. Like
    该查询包含一些使用Like的公式:
    iif(someField Like "XX*";0;anotherField)
    将此更改为iif(Left(somefield;2) = "XX";0;anotherField)解决了Excel和Access之间的计算差异。
  2. 对另一个计算列的引用处理方式不同
    假设您有2个查询列:
    Rate: i.Rate *100(我是表别名)
    Amount: Rate*Price
    Access使用Amount计算列计算Rate,而Excel使用表i中的Rate字段。因此,我必须将Amount表达式更改为:
    Rate: i.Rate *100
    Amount: i.Rate *100*Price
    因为Excel似乎并不总是使用表Rate)中的i.Rate