设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2061|回复: 9
打印 上一主题 下一主题

[Access本身] 汇总的问题,计算不准确

[复制链接]
跳转到指定楼层
1#
发表于 2016-9-12 11:33:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 wuchju 于 2016-9-12 11:38 编辑

见下图:


汇总金额应该是20899.36,用sum()或dsum()函数都是20899.35这个结果。
数量是小数类型,单价是货币类型,总价是计算后货币类型。有人能解惑吗。。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2016-9-12 13:51:17 | 只看该作者
应该是总价没有4舍5入
3#
发表于 2016-9-12 17:01:17 | 只看该作者
我很怀疑总价那里是手动算出来的。。。。
第3、4行的尾数对不上。根本不是四舍五入可以解释的问题。
一般来说,数据虽然有浮动,但至少尾数应该基本不会相差太大的。
4#
发表于 2016-9-12 21:59:44 | 只看该作者
总价中数据只是设定显示两位小数,其实后面肯定还有多位,可点一下看,如果是,则每一行总价显示的都是第三位四舍五入的表象结果,而汇总并不是按显示的总价来的,所以看似尾数对不上。
5#
 楼主| 发表于 2016-9-13 14:54:29 | 只看该作者
本帖最后由 wuchju 于 2016-9-13 14:59 编辑

总价是计算出来的,这个没问题,保留2 位小数。

楼上说的对,显示的是表象结果,汇总时按的是小数点后三位一起算的

小数保留3位就能看到

但我已经设置保留2位小数为什么还要显示表象结果!!!!,我只要两位小数,这样不是坑人吗。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
6#
发表于 2016-9-13 21:10:15 | 只看该作者
这才是最公平、最准确的。设想一下如果以前用计算器按,不就是数量X单价再按等号,按储存.......如此一行一行累加,最后提取出结果再四舍五入吗?
7#
 楼主| 发表于 2016-9-14 10:19:44 | 只看该作者
试想发票上出现这种情况,上面一行一行的数据,下面汇总。汇总金额和上面的金额不等,这发票还能用吗。。。
8#
发表于 2016-9-14 12:24:20 | 只看该作者
wuchju 发表于 2016-9-14 10:19
试想发票上出现这种情况,上面一行一行的数据,下面汇总。汇总金额和上面的金额不等,这发票还能用吗。。。

这种情况,是因为明细记录没有进行四舍五入,导至累计上的差异
解决的方式为,你首先把明细记录进行四舍五入,这样就不会产生如下问题了

对于这情况呢,如用ACCESS的话,你可以说解决99%的问题,还有个问题是出在你用什么方式四舍五入的问题
如果用Round函数,在access中会有个浮点计算的Bug,比如26.145,如果你用了round(26.145,2)保留 二位时,其实数据返回是26.14,而不是我们想要的26.15
所以呢,ACCESS在做四舍五入时,一般我们会使用Format的方式进行处理(包括自定义函数)

点评

四舍六入五单双?  发表于 2016-9-14 13:11
9#
 楼主| 发表于 2016-9-14 16:09:55 | 只看该作者
明细上要怎样设置才能保证四舍五入呢,光靠字段属性里的保留2位小数是不能实现的。
看到一个变通的方法:
【Access函数】VBA中ROUND函数浅析
http://www.accessoft.com/article-show.asp?id=8087
round([总价]+0.0001,2),这个总算能解决问题,但总是怪怪的。
在EXCEL中有一个将精度设为所显示的精度这个选项来解决问题。ACCESS目前没有找到类似的方法。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-1 21:37 , Processed in 0.080290 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表