高难度报表打印,(600分),回答好到http://www.delphibbs.com/delphibbs/dispq.asp?lid=1211721取分 (1

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

webug

Unregistered / Unconfirmed
GUEST, unregistred user!
高难度报表打印,(600分),回答好到http://www.delphibbs.com/delphibbs/dispq.asp?lid=1211721取分 (10分)<br />我正在做成绩管理系统现有三个表:表1(学号,姓名,,考试名称,科目,成绩,考试年份,班级,年级);
如4101001在2002年yw,sx,yy科目考试在表1的记录如下(可能还有其它单元考的内容,这里没列出):
studentid name Examname Subject Score year class grade
4101001 jane 上期期考 yw 70 2002 201 k2
4101001 jane 上期期考 sx 60 2002 201 k2
4101001 jane 上期期考 yy 50 2002 201 k2
4101001 jane 下期期考 yw 40 2002 201 k2
4101001 jane 下期期考 sx 30 2002 201 k2
4101007 jane 下期期考 yy 20 2002 201 k2
4101001 jane 年度考试 yw 60 2002 201 k2
4101001 jane 年度考试 sx 50 2002 201 k2
4101007 jane 年度考试 yy 40 2002 201 k2

其中科目来自表2(科目代号,科目名称);有10几个科目;
其中考试名称来自表3(考试名称)
现要为不同年级班级的每个学生做这样的一张报表且格式是固定的只能套打.
报表的格式固定且必须能实现分年度套打该年度的成绩:
如2001年入学的学生今年是2年级在2002年(今年)成绩表应打在第二栏(如下)
(同时如需要时也可打全部成绩)
__________________________________________________________
| 科 目 | 语文 | 数学 | 英语 |... |
|--------------------------------------------------------|
| | 上期期考 | | | |... |
| 年 年级| 下期期考 | | | |... |
| | 学年考试 | | | |... |
|--------------------------------------------------------|
| | 上期期考 | 70 | 60 | 50 |... |
|2002年2年级| 下期期考 | 40 | 30 | 20 |... |
| | 学年考试 | 60 | 50 | 40 |... |
|--------------------------------------------------------|
| | 上期期考 | | | |... |
| 年 年级| 下期期考 | | | |... |
| | 学年考试 | | | |... |
|--------------------------------------------------------|
| | 上期期考 | | | |... |
| 年 年级| 下期期考 | | | |... |
| | 学年考试 | | | |... |
----------------------------------------------------------
如何实现呢??太难了.快救命啊
另:成绩表也含有其它考试名称成绩如单元考等,但报表只要打印:上期期考/下期期考/学年考试
 
用Quickreport 我想应该是这样的 :
一个 ClientDataSet 里面数据字段的定义可以:(存放临时记录集)
学年,年级,期别,语文 , 数学, 英语 。。。。
在打印开始之前做好这些数据的筛选工作。
当然记录应该是 以 Order by 学年 年级,期别 的。

在报表里面加上 两个Group 和一个Detail band .
你这个要求比较麻烦一点,
|--------------------------------------------------------|
| | 上期期考 | | | |... |
| 年 年级| 下期期考 | | | |... |
| | 学年考试 | | | |... |
----------------------------------------------------------
年 年级一定要显示在中间的问题,比较麻烦,
不过可以 在 onprint 事件中控制,Value 是否为"" 程序里控制比较方便一些。
 
前面的回答太空了
有没好的办法?
 
老兄,用REPORT MACHINE只要设置两个属性,1分钟就搞定了,不过那个版本是要40元钱的.
 
to 吴辽
你说的那软件哪买得有,我这几天内就要解决完,而且我面临的问题问题主要是数据的筛选,那能解决吗
 
以打印一个个学生的成绩为例: (假设以 studentid 为索引)
select ..... from table1, table2 ,table3
where studentid = XXX
order by year

接着,你用report Buider ,把你要打印的东西摆到上边,基本上就可以了。
(sorry,不知道我有没有理解错。如果错了,不要骂我哦)


 
老兄,绝对搞的定,我做过这种报表的,
你到WWW.RMACHINE.8U8.COM
到论坛上看看就知道了,是WHF做的,一个DELPHI报表专家,
如果你实在急需的话我先可以发一个给你,但是我希望你用了以后向他汇款,汇款方式
在论坛里有.
 
REPORT MACHINE在哪买??到http://www.delphibbs.com/delphibbs/dispq.asp?lid=1211721取分
 
to 吴辽你先发个给我吧我用了后再注册
 
to 吴辽
我的信箱:ydl@xinbit.com
 
你还是直接用Tprinter单元的命令自己写吧?
我写报表程序向来不用控件。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
756
import
I
后退
顶部