MS access 2007计算字段错误

时间:2016-09-02 16:31:09

标签: ms-access field

我有一个包含3个计算字段的MS Access 2007查询。一个添加来自3个字段(桶4,桶5和桶6)的总计称为“桶4-6总计”,另一个相同,但对于基于不同日期的字段,我称之为“日期2桶4-6总计“这两个字段按预期工作,我遇到的问题是第三个字段减去”桶4-6总计“减去”日期2桶4-6总计“。

这适用于大多数计算,当总计为0 - 0,或任何诸如400 - 200甚至400 - (1000)之类的计算时,但对于“桶4-6总计”和“日期”的计算2桶4-6总数“相同(无变化),该字段返回无效值,例如:4.54747350886464E-13或9.09494701772928E-13,它也忽略了我的格式,因此它显示2个小数位。

我还应该补充一点,这个查询由4个不同的查询组成,上面提到的“总计”字段得到来自另一个查询的3个不同字段的总数,这些字段已经根据其他标准进行了总结,不确定是否是问题源于何处。

感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

您的问题是浮点运算出现位错误。

在执行减法之前,将数据类型从 Double 更改为货币,或转换为货币

BucketDifference: CCur([Buckets 4-6 Total]-CCur([Date 2 Buckets 4-6 Total])

答案 1 :(得分:0)

您的问题可能源于使用如此多的查询,并且错误可能出现在任何单个查询中。很容易忘记几个查询的逻辑如何组合,我发现Access并不总是很好地引用分层查询,特别是当涉及很多查询时。

如果您可以阅读SQL,您可以查看查询的SQL视图,并确保代码执行您认为在设计视图中设置的精确计算(因为您没有发布代码我假设你自己没有编码)。

如果您编写 SQL,最好的方法是将所有逻辑组合成一个更大的查询,在这里您可以确保Access在引用不同查询时不会搞砸。< / p>

如果没有查看您的查询代码,我无法向您提供更具体的建议。