怎样在查询出的字段下面增加一个合计字段!!(30分)

  • 主题发起人 主题发起人 萍儿
  • 开始时间 开始时间

萍儿

Unregistered / Unconfirmed
GUEST, unregistred user!
我在用DELPHI5.0开发数据库时遇到这样一个问题,我用DBGrid来显示查询出来的结果
时,想要合计各个字段每一列的和,即在显示结果的下面增加一个合计字段。我用Query的
Field Editor的New Fields来新增一个字段,但显示的Field Type的类型只有Data、
Calculated、Look up这三个类型,没有合计字段的类型!!
不知道是我的途径不对,还是我安装的DELPHI5.0的版本有问题??请各位给予指点,
非常感谢!!
 
New Field 是要增加一个字段,是一个新的列,和你的问题不相关。
你要合计每一列的和,有些GRID控件可能有这中功能。
你完全可以在DBGRID下面做几个LABEL,将 select sum(..) ... 的值赋给 LABEL。
 
你需要这样做:
用Query的Field Editor的New Fields来新增一个字段,在显示的Field Type的类型中
选择Calculated,确定。然后在Query的onCalcFields事件中写代码。
 
chinaplate的方法可以,不过比较麻烦,象PB的DATAWINDOW里面就有这个功能,
DELPHI中肯定在有些控件中也有,只是我还没找到。。。:)
 
可以用sql选出来!
 
用DBGrigEh吧!里面已经有你所需要的功能.非常好用.
如果想自己做,不用其它控件的话,可用chinaplate的方法.
 
我的SQL语句是这样写的!!
select wlbh ,sum(rksl) rksl , sum(cksl) cksl
from (select wlbh,sum(hlbj*sssl*zhgx) rksl, 0 cksl, 0 kcl
from db2admin.t_rkd,db2admin.t_rkdmx
where db2admin.t_rkd.rkdid=db2admin.t_rkdmx.rkdid and kcjzbj='已记库存帐'
and rkrq=current date and kfbh='01' group by wlbh union all
select wlbh, 0 rksl, sum(hlbj*sfsl*zhgx) cksl
from db2admin.t_ckd,db2admin.t_ckdmx
where db2admin.t_ckd.ckdid=db2admin.t_ckdmx.ckdid and kcjzbj='已记库存帐'
and ckrq=current date and kfbh='01' group by wlbh) a group by wlbh
对于此SQL语句怎样求出每一列的总合!!
注解:WLBH 物料编号; RKSL 入库数量;CKSL 出库数量
 
看了你的sql语句,头大,建议你还是采用手工办法比较好一点了。无非就是加几个标签嘛
 
select wlbh ,sum(rksl) rksl , sum(cksl) cksl
from
(select wlbh,sum(hlbj*sssl*zhgx) rksl, 0 cksl
from db2admin.t_rkd,db2admin.t_rkdmx
where db2admin.t_rkd.rkdid=db2admin.t_rkdmx.rkdid and kcjzbj='已记库存帐'
and rkrq=current date and kfbh='01' group by wlbh
union all
select wlbh, 0 rksl, sum(hlbj*sfsl*zhgx) cksl
from db2admin.t_ckd,db2admin.t_ckdmx
where db2admin.t_ckd.ckdid=db2admin.t_ckdmx.ckdid and kcjzbj='已记库存帐'
and ckrq=current date and kfbh='01' group by wlbh)
a group by wlbh
对于此SQL语句怎样求出每一列的总合!!
注解:WLBH 物料编号; RKSL 入库数量;CKSL 出库数量
即求出总的入库数量,出库数量!!单位是一样的!!
 
分别对每个字段会总部就行了吗?
为啥非的要价一条记录呢?
我觉得你可以像chianplate说的那样
完全没有必要向你说的那样
(菜鸟建议)
 
用UNION不好吗?又方便又快
 
不是的! 我非要让他在DBGRRID中显示出来,是因为我要把DBGRID中显示的数据导出到EXCEL表中!!
 
其实这个SQL语句很简单,就是统计一个库房的当天的出入库的数量!!
 
用devexpress控件吧
http://www.51delphi.com
 
用query!
我觉得你可以像chianplate说的那样
完全没有必要向你说的那样!
最菜的方法
[:D]query.first
while not query.eofdo

begin
aa:=aa+query????.value;
bb:=bb+query???.value;
next;
end
label1.caption:=aa;
.........
(菜鸟方法)
 
用ExpressQuantumGrid Suite吧, 非常非常好用! 强烈强烈推荐.
自带导出到EXCEL 文件功能(也可以导出到XML, HTML , TXT ,DB等格式).
www.51delphi.com 中有最新版本3.21pro
 
笨蛋!屈庆华不是有通用查询工具么,里面就有合计的例子,不会拿来看看?
 
Who Is 屈庆华 ?
 
用EHLib吧!里面的DBGRIDEH有你想要的功能,也支持把数据导出到EXCEL表中.
 
虽然我没有做出来!但是我还是平均分配!就是少了点,见谅!!
 
后退
顶部