(求助)一个复杂PB打印报表的设计问题

zsl6658 2005-09-20 03:37:02
做毕业设计有这样一个复杂的打印报表,该如何设计呀:
有三个表(学生信息表,课程信息表,学生成绩表)要求:用A3打印纸,纵向打印
  1、报表的上半部分是学生信息表中的所有字段,排成两列。
  2、下半部分是学生从大一到大四四年的成绩信息表。格式如下:
姓名  学号 入学时间 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
毕业证编号  是否授予学位  家庭住址 。。。。。。。。。。。。。。。。。。。。。。。。
    一年级       二年级        三年级        四年级
 第一学期 第二学期 第三学期   第四学期 第五学期  第六学期 第七学期 第八学期
课称,学时,成绩() 课称,学时,成绩 () 课称,学时,成绩()  课称,学时,成绩()
数学 82  70    英语 90 75  80 73 统计学62 75 24 80 体育 40 89 34 78
政治 42 83 ...................................................................
.......................................................................................
.......................................................................................
其中的“()”表示学时、成绩,因为写不下了,用括号来表示,此处的“课称”指的是“课程名称”,此字段是从课程信息表中检索出来的;成绩是从学生成绩表中检索出来的。此三个表的联系为:学生信息表中的“学生编号”对应学生成绩表中的“学生编号”;学生成绩表中的“课程编号”对就于课程信息表中的“课程编号”并从此表中取出对应的课程名称,学时,学分等字段,因为空间的关系,上面没有把学分字段加进去。
  我设计的思路是:
 1、用freeform显示风格把学生基本信息表(打印报表的上半部分)建立起来,dw_stu_information
2、用Grid风格设计第一学期的表(课程名称,学时,学分,成绩),用Grid设计第二学期的表(学时,学分,成绩)。依次类推,设计出来第三到第八学期的表,共八张Grid风格的表。
 3、然后用一个复合风格的表,把这九张表组合成一张复合风格的表。
 4、这样做,太复杂了,主要是上下半部分的很难对齐。
请各位高手指点一下,我该如何设计这种打印格式的报表,请说详细一点,拜托各位了!!!
...全文
247 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wscft 2005-09-21
  • 打赏
  • 举报
回复
既然“学生信息表”是这些内容,
那“学生成绩表”呢? 怎么区别成绩是哪个学年的呢?
把全部的三个表的表结构贴出来看看!
zsl6658 2005-09-21
  • 打赏
  • 举报
回复
各位高手请进来看一下嘛!!!
wscft 2005-09-21
  • 打赏
  • 举报
回复
既然学生成绩表是这些内容,
那学生成绩表呢? 怎么区别成绩是哪个学年的呢?
把全部的三个表的表结构贴出来看看!
zsl6658 2005-09-20
  • 打赏
  • 举报
回复
自己顶一下。
zsl6658 2005-09-20
  • 打赏
  • 举报
回复
学生信息表的结构是:学号、课程编号、学分、学期、学习成绩、补考成绩,你说的2001年的数学成绩和2002年的数学成绩分别保存在不同的行中如:024100 数学 18 1(学期) 80 0
                      024100 数学 18 2(学期) 73 0
此处的学生成绩表用:学号、课程编号、学期,这三个字段来作主键。
wscft 2005-09-20
  • 打赏
  • 举报
回复
建议: 仅供参考!
1,除了万不得已, 最好不要用嵌套报表,在数据量很大的情况下,提取速度就是问题了
2,你的 “学生成绩表”是什么结构,应该贴出来给大家看看 譬如
同一个学生的2001年和2002年的数学成绩你是分别存放在两个字段(a)还是在一个字段(b)呢?
3,若是a情况下:作成freeform 类型的数据窗口, 打印上按“学生信息表”分组!
若是b情况下:作成外部数据源 freeform类型窗口,把报表画出来, 然后做几个ds, 在dw_report
的pfc_retrieve() 事件中把数据填进去!
4,还不明白发邮件给我 zy_cft@163.com
zsl6658 2005-09-20
  • 打赏
  • 举报
回复
是不是我给的分太少了,没人愿意回答呀,可我只有这么点点分数呀。
zsl6658 2005-09-20
  • 打赏
  • 举报
回复
各位大哥、大姐、前辈们,请帮帮忙呀,帮我看看这个问题该如何解决呀,拜托各位了。

609

社区成员

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

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