| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2619 人关注过本帖
标题:問累計金額
只看楼主 加入收藏
jxyga111
Rank: 8Rank: 8
来 自:中華人民共和國
等 级:贵宾
威 望:33
帖 子:6015
专家分:895
注 册:2008-3-21
结帖率:70%
收藏
 问题点数:0 回复次数:25 
問累計金額
我要用VB做一个累计金额,字段为:数量,单价,总金额,累计金额
怎么做啊!
只显示出总金额<累计金额30%的数据
如:第一笔为10 那麼第一笔的累计金额就等於10
第二笔为50那麼第二笔的累计金额就等於60
依此類推
搜索更多相关主题的帖子: 金额 字段 单价 数量 
2008-07-18 14:42
happynight
Rank: 8Rank: 8
等 级:贵宾
威 望:15
帖 子:807
专家分:760
注 册:2008-4-26
收藏
得分:0 
你用什么来区分第一笔和第二笔
假设你用来区分的字段名为"MoID",且字段为整数类型

SELECT MoID,数量,单价,总金额,
       (SELECT SUM(总金额) FROM 表 AS B WHERE B.MoID<=表.MoID) AS 累计金额
FROM 表
ORDER BY MoID

这里我是以比较特殊的(整数)字段来处理的数据,如果没有的话,若是SQL2000
可以考虑将数据导入到一个临时表 且在临时表中用IDENTITY函数构建设一字段,若是SQL2005好象有函数可以直接处理不必要使用临时表(SQL2005没用过,你可上网查询下)
2008-07-18 15:26
happynight
Rank: 8Rank: 8
等 级:贵宾
威 望:15
帖 子:807
专家分:760
注 册:2008-4-26
收藏
得分:0 
若"MoID"字段为其它类型且也能用来区分 就不用这么麻烦的处理了
2008-07-18 15:28
jxyga111
Rank: 8Rank: 8
来 自:中華人民共和國
等 级:贵宾
威 望:33
帖 子:6015
专家分:895
注 册:2008-3-21
收藏
得分:0 
可以啊你這是兩個表啊忘記說了
我的兩個表是
a1 left join b1 on a1.id=b1.id
金額和總金額是我建立的,但是數量單價,是以前兩個表里面有的怎么做

[[it] 本帖最后由 jxyga111 于 2008-7-18 15:41 编辑 [/it]]

烈焰照耀世界,斌凍凍千萬裏
2008-07-18 15:39
happynight
Rank: 8Rank: 8
等 级:贵宾
威 望:15
帖 子:807
专家分:760
注 册:2008-4-26
收藏
得分:0 
把两个表的字段结构和相关字段说明贴上来
2008-07-18 15:48
jxyga111
Rank: 8Rank: 8
来 自:中華人民共和國
等 级:贵宾
威 望:33
帖 子:6015
专家分:895
注 册:2008-3-21
收藏
得分:0 
insert into t_cgamt select b.001,b.002,b.004,b.005,b.006,b.007,a.017,amt=007 * 017,ljamt=0  from a LEFT JOIN b ON a.001=b.001 AND
a.002=b.002 WHERE left(b.002,8) between '" & Text1.Text & "' and '" & Text2.Text & "'"

001單別,002單號,004品號,005品中,006規格,007數量,017金額,AMT總金額,LJAMT累計總金額
總金額=數量* 單價
但是累計金額我卻寫不出來

[[it] 本帖最后由 jxyga111 于 2008-7-18 16:06 编辑 [/it]]

烈焰照耀世界,斌凍凍千萬裏
2008-07-18 15:52
happynight
Rank: 8Rank: 8
等 级:贵宾
威 望:15
帖 子:807
专家分:760
注 册:2008-4-26
收藏
得分:0 
呵呵 你要说明下 哪个字段是什么意思 关联的字段又是什么意思
2008-07-18 15:58
jxyga111
Rank: 8Rank: 8
来 自:中華人民共和國
等 级:贵宾
威 望:33
帖 子:6015
专家分:895
注 册:2008-3-21
收藏
得分:0 
insert into t_cgamt select b.001,b.002,b.004,b.005,b.006,b.007,a.017,amt=007 * 017,ljamt=0  from a LEFT JOIN b ON a.001=b.001 AND
a.002=b.002 WHERE left(b.002,8) between '" & Text1.Text & "' and '" & Text2.Text & "'"

001單別,002單號,004品號,005品中,006規格,007數量,017金額,AMT總金額,LJAMT累計總金額
總金額=數量* 單價
但是累計金額我卻寫不出來

烈焰照耀世界,斌凍凍千萬裏
2008-07-18 16:06
happynight
Rank: 8Rank: 8
等 级:贵宾
威 望:15
帖 子:807
专家分:760
注 册:2008-4-26
收藏
得分:0 
你是怎样判断单的先后顺序的
我假定你的"单别"字段可用来判断先后顺序

insert into t_cgamt
select b.001,b.002,b.004,b.005,b.006,b.007,a.017,amt=007 * 17,
       ljamt=(SELECT SUM(C.007)  FROM b AS C WHERE C.002<=b.002)
from a LEFT JOIN b
     ON a.001=b.001 AND a.002=b.002
WHERE left(b.002,8) between '" & Text1.Text & "' and '" & Text2.Text & "'"

建议你把语句的SELECT 语句部分在查询分析器中调试下 看是否是合理的数据
另外 你写代码的风格有点"野" 最好注意规范代码格式 以及命名原则
2008-07-18 16:18
jxyga111
Rank: 8Rank: 8
来 自:中華人民共和國
等 级:贵宾
威 望:33
帖 子:6015
专家分:895
注 册:2008-3-21
收藏
得分:0 
WHERE C.002<=b.002)
你這句是不是寫錯了,002是單號,單號都不等于、單號

烈焰照耀世界,斌凍凍千萬裏
2008-07-18 16:23
快速回复:問累計金額
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016017 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved