注冊 登錄
Office中國論壇/Access中國論壇 返回首頁

lwwvb的個人空間 http://ctxi.cn/?78 [收藏] [復制] [分享] [RSS]

日志

關(guān)于流水帳余額問題的再思考~~

已有 2113 次閱讀2015-2-8 00:32 | 流水帳

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

上面就是一份很簡單的流水帳,關(guān)于余額的查詢,大約有三種方法:
記錄集遍歷記錄,從記錄集的第一條開始,用一個變量記錄收入和支出,得到余額,并把它記錄到表中,或內(nèi)存中。再顯示出來。
可以參考此地址中文章的第一種方法:
http://www.accessoft.com/article-show.asp?id=5440

后兩種方法比較接近,一種叫雙select法,運用了嵌套select得到流水余額,最后一種是雙DSUM法,可參考此地址中文章的例子:
http://www.accessoft.com/article-show.asp?id=2219

其中雙DSUM法和它的感情比較深,在愛賽思網(wǎng)還在的時候,我就設(shè)計了它,并把例子放在愛賽思網(wǎng)上,贏得了很高的點擊率。和雙select法比較,各有特點。而今天,我做的財務(wù)軟件中,也使用到了流水余額的算法。一開始,我是使用了方法1,并把這個方法封裝成類來運用。無意中,又記起了很老的雙DSUM法,想運用它改改這個。
誰知,此時發(fā)現(xiàn)雙DSUM法有一個不好的地方,從今以后,會把雙DSUM法放到一邊去,不會再運用它了。
那為什么我要放棄它呢?最重要的原因是,我們在實際設(shè)計的軟件中,不是這么單純把一個表做個流水余額這么簡單,它很可能是復合的條件,而這個條件,在不同的情況,不同的表中又是不同的。

如果使用雙DSUM法的話,會使情況變得復雜化,DSUM后面的條件會變得很煩。多個地方使用雙DSUM法,反而不如使用方法1封裝成類后使用,那樣方便又簡單又容易維護。
所以雙select法也是有這個問題存在。雙select和雙DSUM法會使軟件變得不容易維護。

思考題歸思考題,是一種腦力的挑戰(zhàn),但實際歸實際,特別是軟件的設(shè)計,我們都要習慣用解耦合的思想去設(shè)計它,從而贏得軟件的可重用性。易于維護是很重要的。千萬不要掉入精簡,最簡化的怪圈。

評論 (0 個評論)

facelist doodle 涂鴉板

您需要登錄后才可以評論 登錄 | 注冊

QQ|站長郵箱|小黑屋|手機版|Office中國/Access中國 ( 粵ICP備10043721號-1 )  

GMT+8, 2024-10-23 08:27 , Processed in 0.209536 second(s), 16 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

返回頂部