注册 登录
Office中国论坛/Access中国论坛 返回首页

lwwvb的个人空间 http://www.office-cn.net/?78 [收藏] [复制] [分享] [RSS]

日志

关于流水帐余额问题的再思考~~

已有 2055 次阅读2015-2-8 00:32 | 流水帐

ID   收入   支出   余额
1     8                  8
2                5       3
3      2                 5

上面就是一份很简单的流水帐,关于余额的查询,大约有三种方法:
记录集遍历记录,从记录集的第一条开始,用一个变量记录收入和支出,得到余额,并把它记录到表中,或内存中。再显示出来。
可以参考此地址中文章的第一种方法:
http://www.accessoft.com/article-show.asp?id=5440

后两种方法比较接近,一种叫双select法,运用了嵌套select得到流水余额,最后一种是双DSUM法,可参考此地址中文章的例子:
http://www.accessoft.com/article-show.asp?id=2219

其中双DSUM法和它的感情比较深,在爱赛思网还在的时候,我就设计了它,并把例子放在爱赛思网上,赢得了很高的点击率。和双select法比较,各有特点。而今天,我做的财务软件中,也使用到了流水余额的算法。一开始,我是使用了方法1,并把这个方法封装成类来运用。无意中,又记起了很老的双DSUM法,想运用它改改这个。
谁知,此时发现双DSUM法有一个不好的地方,从今以后,会把双DSUM法放到一边去,不会再运用它了。
那为什么我要放弃它呢?最重要的原因是,我们在实际设计的软件中,不是这么单纯把一个表做个流水余额这么简单,它很可能是复合的条件,而这个条件,在不同的情况,不同的表中又是不同的。

如果使用双DSUM法的话,会使情况变得复杂化,DSUM后面的条件会变得很烦。多个地方使用双DSUM法,反而不如使用方法1封装成类后使用,那样方便又简单又容易维护。
所以双select法也是有这个问题存在。双select和双DSUM法会使软件变得不容易维护。

思考题归思考题,是一种脑力的挑战,但实际归实际,特别是软件的设计,我们都要习惯用解耦合的思想去设计它,从而赢得软件的可重用性。易于维护是很重要的。千万不要掉入精简,最简化的怪圈。

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

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

GMT+8, 2024-5-1 13:18 , Processed in 0.062350 second(s), 16 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

返回顶部