报表,数据合计 (100分)

  • 主题发起人 主题发起人 weiweike
  • 开始时间 开始时间
W

weiweike

Unregistered / Unconfirmed
GUEST, unregistred user!
我想做一个计件工资的软件,并建立了两个数据库,worker和gz
其中worker用于记录职工信息,gz用于记录职工的计件工资。gz中的workerid与worker中的id作了主从关系。
如下:
worker:
id(键) 姓名
1 刘大
2 张小
3 孟七
gz:
id(+、键) workid(键,index) money(计件金额) number(数量)
1 1 50 2
2 1 60 10
3 2 150 2
4 3 50 10
5 3 100 5
想作一个报表能打印下列内容:
姓名 合计工资
刘大 700
张小 300
孟七 1000

用fr如何实现?
请说祥细步骤,我刚接角FR,还不会用。

 
用fastreport或者reportmachine,这个主从表很简单的呀
 
李维 delphi5 ado/mts/com+ 有详细地介绍
头4章
 
同意“下饭菜”。实际fastreport熟悉起来很快,制表也方便。
当然,你的问题主要在于构造记录集,即SQL的问题。多在这方面下功夫,本身和报表控件
关系不大。
 
最直接的方法就是建一个临时的表,从worker和gz表中取出数据进行计算后存入这个临时表中,然后直接在quickreport中打印一个表的记录就好!
 
大家不要总说这样,那样,可不可以具体一点的,如何求得合计:

SUM(数量*单价),我知道这样写不对,请大家告诉我,谢谢谢了!!
 
如果是用FastReport的话实现起来很简单,你只要针对gz表来操作就行了,首先建立一个分组头,条件就是Group by (workid),然后建立分组数据项,从gz表对应得数据集当中选择你需要打印得字段就可以了,不知是否领会了楼主得意思。
 
循环读取gz表中数据,判断
if workid=id(表worker中的序号) then
合计:=合计+单价*数量
对worker表中每个人都这样计算一次合计值不就可以了,然后再将合计和姓名按你的想法打印出来就OK!
合计可以设为一个动态数组,根据worker表中人数动态分配,最后结果可以建个表存起,那用qr更是简单了!
不知道清楚了吗?方法是比较笨,不过很有效哈!
 
楼上的说法可以试一下。[8D]
不过数据多的时候程序会慢的。
 
to下饭菜
if workid=id(表worker中的序号) then
合计:=合计+单价*数量
能告诉我sum怎么用法吗?
 
采用以下SQL的记录集:
select worker.姓名,b.sum2 from worker left join
(select id,Sum(sum1) sum2 from (select id,(money*number) as sum1 from gz) as a group by id) as b
on woker.id=b.id
当然不采用LEFT JOIN,根据需要采用Right join或是inser join 都可以。
以上没有经过测试,但估计应该没什么问题
我想用SQL是最好的方案,用DELPHI的话太依赖各种控件了。

 
1、首先构建sql
select worker.id,worker.姓名,gz.id,gz.money.gz.number
from worker,gz
where worker.id = gz.workerid
2、然后在frReport中先放入Group Header Brand 并设condition = query1.姓名;
再放入MasterData Brand ,在其中放入memo1 [query1.money];放入memo2 [query1.number];放入memo3 [query1.money* query1.number]
3、再放入Group Footer Brand,在其中放入memo4 [query1.姓名];放入memo5 指向[sum([query1.money* query1.number],MasterData1)]
4、OK!!??
 
怎么没有人答对?
 
TO:下饭菜 ,請問哪里有李維的書下載,謝謝!
 
select a.id,a.姓名,sum(b.计件金额*b.数量) as 金额 from work a,gz b where a.id=b.workid group by a.id,a.姓名
报表的话,就直接放要打印的字段就行了
 
用FR在设计器中,建立一个主数据和明细数据,并插入字段合计明细中的工资数就行了。
 
接受答案了.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部