首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MS access 2007计算字段错误

MS access 2007计算字段错误
EN

Stack Overflow用户
提问于 2016-09-03 00:31:09
回答 2查看 87关注 0票数 0

我有一个带有3个计算字段的MS Access 2007查询。一个从3个字段(桶4,桶5和桶6)中添加总数,称为“桶4-6总计”,另一个做同样的事情,但对于基于不同日期的字段,我称之为“日期2桶4-6总计”这两个字段的工作如预期,我有的问题是第三个字段减去“桶4-6总计”减去“日期2桶4-6总计”。

当总数为0 -0时,这适用于大多数计算,例如,400 - 200或甚至400 - (1000),但对于"Buckets 4-6 Total“和"Date 2 Buckets 4-6 Total”都相同(无变化)的计算,该字段返回无效值,如:4.547473508864E-13或9.09494701772928E-13,并且它还忽略我的格式,以便显示2个小数位。

我还应该补充说,这个查询是由4个不同的查询组成的,上面提到的" total“字段从3个不同的字段中获得总和,这3个不同的字段来自已经基于其他条件汇总的另一个查询,不确定这是否是问题的根源。

任何帮助都是非常感谢的。

EN

回答 2

Stack Overflow用户

发布于 2016-09-03 04:42:55

您的问题是浮点运算导致的位错误。

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

代码语言:javascript
运行
复制
BucketDifference: CCur([Buckets 4-6 Total]-CCur([Date 2 Buckets 4-6 Total])
票数 1
EN

Stack Overflow用户

发布于 2016-09-03 03:30:39

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

如果您能读懂SQL,那么您可以查看查询的SQL视图,并确保代码执行的计算与您在设计视图中设置的计算完全相同(因为您没有发布代码,所以我假设您不是自己编写的)。

如果您编写SQL,最好的方法是将所有逻辑组合到一个更大的查询中,这样就可以确保Access在引用不同的查询时不会搞砸一些东西。

如果不看你的查询代码,我不能给你更具体的建议。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39297061

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档