怎么得出分组后的小计?(50分)

  • 主题发起人 主题发起人 hcx
  • 开始时间 开始时间
H

hcx

Unregistered / Unconfirmed
GUEST, unregistred user!
在报表中怎么得出分组后的小计?
eg:
A:
a1 10 39
a2 20 40
---------------
小计 30 79
B:
b1 15 20
b2 15 34
-----------------
小计 30 54
总计 60 133
delphi中有分组的例子但不知怎么去对分组后的数据执行sum
 
你把所有的加起来不就等于60了
 
select left(field1,1) as name,sum(field2) as s2,sum(field3) as s3 from tabel1 group by left(field1,1)
->a 30 79
b 30 54
select sum(field2) as s2,sum(field3) as s3 from table1
-> 60 133
 
大概是我没有讲清楚。我的意思是我用sql语句得出的结果是:
{ a1 10 39
a2 20 40
b1 15 20
b2 15 34}
而要做成:
---------------------
A: |
a1 10 39 |
a2 20 40 |
--------------- |
小计 30 79 |
B: |
b1 15 20 |
b2 15 34 |
-----------------|
小计 30 54 |
总计 60 133|
---------------------
这样的报表

 
小計用group footer (對應的gh 利用第一個field 作為expression)
合計用summary band
應該可以的
 
group footer 中我用expression=sum(db.field1)求出的是从前到当前的值,就是不知怎么
写这个expression来得出结果
 
ExpressQuantumGrid
控件有这功能,用它代替DBGrid好了。
并有打印报表功能如何显示就如何打印。

去凌云天地 ( http://www.ocloud.com )找找。
 
你可以这样做:
放一个qrgroup,一个QRSUBDETAIL,两个QRBAND,两个TABLE(之间为主从关系,
一个包含有你的A,B...字段,另一个包含A1,B1...的具体细节)将QRGROUP的
EXPRESSION设为TABLE1.A那个分组字段,MASTER 属性设为QRSUBDETAIL,QRSUBDETAIL 的
DATASET属性设为你的从表(TABLE2),加一些DBTEXT (你的a1,a2,b1,b2),qrsubdetail
的FOOTERBAND设为一个QRBAND(假设为QRBAND3,放一些QREXPR,做你的小计,其BANDTYPE必为RBGROUPFOOTER
),QRBAND3的那些QREXPR的EXPRESSION 即可设为SUM(a1,a2,b1,b2之字段。。。),
注意其(QRBAND3的那些QREXPR的EXPRESSION )的RESETAFTERPRINT属性设为TRUE才行,然后放一个SUMMARY BAND,
其上放一些QREXPR即可
注意QUICKREQ 的DATESET属性必须设为你的主表
 
多人接受答案了。
 
后退
顶部