设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: access2sql
打印 上一主题 下一主题

如何用存储过程实现累计?

[复制链接]
11#
发表于 2002-10-29 02:21:00 | 只看该作者
觸發操作是發生在你對表的操作時,發生的動作時,被計算機捕捉到時引發的操作,足可以滿足你的須求。先查詢以下本壇的資料,再思考啦。
12#
 楼主| 发表于 2002-10-29 04:20:00 | 只看该作者
上述语句运行失败,其操作的结果只是分别汇总当天数据,一天只有一个汇总值,而且到第二天即无法累计
数据源及正确结果如下:
日期       收入金额    累计金额
2002-01-01    200,000     200,000
2002-01-01    400,000     600,000
2002-01-01    500,000    1,100,000
2002-01-02    600,000    1,700,000
2002-01-02    700,000    2,400,000
2002-08-05   5,000,000    7,400,000



您的过程运行结果如下:
日期               累计金额
2002-01-01            1,100,000
2002-01-02            1,300,000
2002-08-05            5,000,000


这么说吧,就和
select day(日期) as 日,sum(收入金額)as day_sum
from 收入表
group by day(日期)

的结果完全一致

[此贴子已经被作者于2002-10-28 20:19:58编辑过]

13#
发表于 2002-10-29 16:41:00 | 只看该作者
還是不明白,你為什麼要這樣累計,有什麼作用,一般很少人這樣累計的。我可以說下思路。
先用觸發器來實現每筆累計,然後再用集合函數實現每天累計,不行嗎?關鍵是我想不也這樣作的理由。
14#
 楼主| 发表于 2002-10-29 18:31:00 | 只看该作者
我上述说的理由还不够吗?理由很简单,客户要求实现用查询来显示每天的现金及银行存款余额,之所以要用查询显示是因为他可以用ctrl+c拷贝到其他地方再编辑或再处理
15#
发表于 2002-10-29 19:22:00 | 只看该作者
先用觸發器來實現每筆累計,然後再用集合函數實現每天累計.
你只有這樣作了,別無途。記住要給用戶有UNDO的功能。
增加記錄,累計值增加,減少記錄,累記值減少,修改記錄,累記值會具情況變化。
16#
发表于 2002-10-29 19:37:00 | 只看该作者
这样做符合用户习惯,看起来跟传统的账本一样。
17#
发表于 2002-10-29 19:57:00 | 只看该作者
呵呵,原來如此,看來用觸發器是最好的選 擇啦。
18#
 楼主| 发表于 2002-10-30 01:04:00 | 只看该作者
触发器看来无法达到要求,因为如果我有2张表,在每一笔输入后计算到这笔业务为止的累计值是不可行的

[此贴子已经被作者于2002-10-29 17:04:04编辑过]

19#
 楼主| 发表于 2002-10-30 01:18:00 | 只看该作者
[upload=htm]http://www.office-cn.net/vvb/uploadimages/200210291712349216.htm[/img]
很简单,只要用存储过程实现上述表格即可。
要求也只有2个,第一,由于网络的问题,上述过程必须适应 56K的传输
第二,所有生成后的数据必须是临时的,也就是说一旦生成,看过以后就不要了,不要有数据留在数据库里

我可以用ADODB.RECORDSET + 临时表 实现上述功能,但速度太慢了
我的数据库是 C/S 结构  ACCESS XP + SQL 2000 + INTERNET

其实要实现的所有功能我都能编程用  VBA 实现,缺点非常明显——太慢!我必须要转为服务器端,而 ADP 转为服务器端只有一个办法,用存储过程


[此贴子已经被作者于2002-10-29 17:18:28编辑过]

20#
发表于 2002-10-30 01:44:00 | 只看该作者
笨,觸發器,在觸發時,並沒有數據入即寫入基表,而是把數據寫在一個虛表上,你可以從虛表中讀取數據,然後累加,如果觸發失敗,再減去剛才累加的值(即復原)這樣都是一個人對某一種語言使用的熟練成度所致的。不是嗎?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-6-19 00:17 , Processed in 0.085078 second(s), 31 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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