quickreport报表统计问题 300分

qdmis123 2004-08-12 11:19:00
表1:
工号 姓名
11 aaa
22 bbb
表2:
工号 金额 时间
11 12.01 2004-1
11 13 2004-1
22 55 2004-3
22 78 2004-1

要实现的报表是:
工号 姓名 发生金额
1月 2月 3月 4月。。。。
11 aaa 25.01 0 0 0。。。。
22 bbb 78 0 55 0。。。。
用哪些组件,怎么 实现?明天要交,就差这个了,急!!
用quickreport作的 100分酬谢啊 不够再加200
...全文
178 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qdmis123 2004-08-13
  • 打赏
  • 举报
回复
问题解决了
liubcb 2004-08-12
  • 打赏
  • 举报
回复
对了,应该是:select 工号,姓名 你查阅group by 子句 很灵活的计算,sql语句可以实现你的所有的数据操作功能,不用其他的控件就可以。
liubcb 2004-08-12
  • 打赏
  • 举报
回复
月份使用quickreporttext实现;
月份从数据库中读出来,赋值到edit控件中,作为中间变量
然后每个月份下边的details 中对于每一个月份的统计:
使用query嵌入sql语句:
select sum(金额) from 表一 1 ,表二 2 where 1.工号=2.工号 and 2.月份=:月份
group by 工号,姓名
对于后边的月份 重复使用就好了,不过我感觉,你的月份应该是固定不变的几个,如果变化不大,这上边的办法就很简单了,如果变化很多,那个中间edit就要灵活;你可以考虑使用数组作为中间变量;

我刚刚做过类似的,不过比你的简单,
jinjazz 2004-08-12
  • 打赏
  • 举报
回复
答案
http://community.csdn.net/Expert/topic/3267/3267704.xml?temp=.1666223

你到oracle板块搜索decode函数,就知道了
xyz800316 2004-08-12
  • 打赏
  • 举报
回复
你用QickReport啊,那你就多做几次循环吧。不行再加两个临时表或着视图。肯定能实现的,思路理顺了应该很快就能出来。一步一步来实现,不要想一下子实现。加两个临时表可能会稍微快一点。
Vicky79 2004-08-12
  • 打赏
  • 举报
回复
使用交叉表查询

2,496

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧