好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

实验五打印成绩表.docx

13页
  • 卖家[上传人]:桔****
  • 文档编号:419234055
  • 上传时间:2023-10-20
  • 文档格式:DOCX
  • 文档大小:355.13KB
  • / 13 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 实验五打印成绩表一、实验目的1. 设计按不同的需要调用报表的表单2. 熟悉打印所需中间表的使用3. 理解通过编程由多表产生一个临时表的方法掌握使用报表设计器创建和修改报表的方法二、实验内容设计一个学生成绩打印表单,在表单上通过单选按钮可分别选择按班级、按课程打印学生成绩;1. 设计班级成绩单、课程成绩单两个报表定义文件,可通过运行表单分别调用这两个文件,输出所需报表三、实验步骤(一)设计表单1. 建立表单打开项目管理器"学生成绩管理系统”,新建一个表单,将其Caption改为"学生成绩打印”,表单上各控件按图5-1设计图5-1其中“学生成绩表打印”、“班级简称”、“班级编号”、“课程名称”、“课程编号”为标签,“Combo”“Combo2为组合框,“Text1”、“Text2”为文本框,“生成”、“预览”、“打印”、“退出”为命令按钮,“按班级打印”、“按课程打印”为单选按钮组(单选按钮组的设计见本页第2点),可自行设计每一控件的字型、字体、字号、颜色按Ctrl+S键保存表单取名为“成绩打印”设计单选按钮单击单选按钮组按钮口,在表单上画一组单选按钮组“Optiongroupl”,将其属性作如下修改:BackStyle0-透明BorderStyle0-无Buttoncount2然后,右键单击单选按钮组,在弹出的快捷菜单上选“编辑”,再分别单击其中任一按钮Option1或Option2,就可进行编辑,将Option1的Caption改为“按班级打印”,Option2的Caption改为“按课程打印”,其余如字型、字体、字号、颜色可自行设计。

      2. 设置数据环境在数据环境中添加“班级号名”、“课程”3. 设置各控件主要属性•Combol主要属性为:ControlSource选“课程.课程名称”ColumnCount输入1RowSourceType选6—字段RowSource选“课程.课程名称”Style•Text1主要属性:选2-下拉列表框ControlSource选“班级号名.班级编号”ControlSource选“班级号名.班级简称”ColumnCount输入1RowSourceType选6字段RowSource选“班级号名.班级简称”Style选2-下拉列表框-Combo2主要属性为:Enabled.F.--Text2主要属性:ControlSource选“课程.课程编号”Enabled.F.-5.事件代码(1)单选按钮组Optiongroup1的Click过程代码:存放选择单选按钮的值,kc1--kc3分别存放课存放课程名,kcbh存放课程编号,xf存放学分,赋初值为按班级打印所需中间表,是一个由多publicnn=this.valuedocasecasen=1sele班级号名bo1.enabled=bo2.enabled=.f.casen=2sele课程bo2.enabled=bo1.enabled=.f.endcasethisform.refresh(2) 双击Combol为其Click过程输入代码:Thisform.refresh(3) 双击Combo2为其Click过程输入代码:Thisform.refresh(4)双击命令按钮“生成”,为其Click过程输入代码:(注意:这一段程序代码比较长,实验过程中可以先输入调试casen=1程序段,再输入调试casen=2程序段,以减少调试的复杂度。

      如实验课时不够,也可只输入casen=1所对应的“按班级打印”程序段,且后面也只设计相应的按班级打印报表文件)publicn,kc1,kc2,kc3,bjbh,bjjc&&n程名,后两个变量存放班级编号和班级简称publickcmc,kcbh,xf,rkjs&&kcmcrkjs存放任课教师setsafeoffclosdatan=thisform.optiongroup1.valuedocasecasen=1&&按班级打印storespace(20)tokc1,kc2,kc3&&bjjc=bo1.valuebjbh=thisform.text1.valueif!file("bjlsb.dbf")&&bjlsb.dbf个表产生的临时表c(9),kc1n(3),kc2createtablebjlsb(姓名c(6),班级编号c(9),班级简称n(3),kc3n(3))elseseleFusebjlsbendifselebjlsbzapappefrom学生deleallfor班级编号#班级号名.班级编号packseleIuse学生seleGuse学生选课sele课程i=1scan**内存变量kci(i=1,2,3)中存放第i门课程的名称m="kc"+trim(str(i,1))&m=课程名称**第i门课程的成绩写入bjlsb.dbfselebjlsbgotopscansele学生locafor姓名=bjlsb.姓名sele学生选课locafor学号=学生.学号and课程编号=课程.课程编号selebjlsbrepl&mwith学生选课.成绩endscani=i+1sele课程endscancasen=2&&按课程打印赋初值storespace(16)tokcmc,kcbh,rkjs&&xf=space(5)&&赋初值kcmc=bo2.valuekcbh=thisform.text2.valuesele课程locafor课程编号=kcbhxf=学分rkjs=任课教师if!file("kclsb.dbf")&&kclsb.dbf为按课程打印所需中间表,也是一个由多个表产生的临时表createtablekclsb(学号c(12),姓名c(6),班级编号c(9),班级简称c(16),课程编号c(7),成绩n(3),任课教师c(6))elseseleFusekclsbendifselekclsbzapappefrom学生选课deleallfor课程编号#课程.课程编号packseleIuse学生selekclsbgotopscansele学生locafor学号=kclsb.学号sele班级号名locafor班级编号=学生.班级编号selekclsbrepl姓名with学生.姓名,班级编号with班级号名.班级编号,班级简称with班级号名.班级简称endscanendcase(5)双击命令按钮“预览”,为其Click过程输入代码:ifn=1reportform班级成绩表previewelsereportform课程成绩表previewendif(6)双击命令按钮“打印”,为其Click过程输入代码:ifn=1reportformelse班级成绩表toprintreportformendif课程成绩表toprint(7)双击命令按钮“退出”,为其Click过程输入代码:thisform.release6.运行表单生成中间表单击运行工具按钮,•先选择“按班级打印”,在“班级简称”右边的下拉列表中选择一个班级,再单击“生成”按钮,可生成表bjlsb.dbf。

      •再选择“按课程打印”,在“课程名称”右边的下拉列表中选择一门课程,再单击“生成”按钮,可生成表kclsb.dbf这两个临时表是下面创建报表定义文件所需要的中间文件二) 创建报表定义文件1.使用向导创建报表定义文件“班级成绩表”•从项目管理器t文档t报表t新建t报表向导t报表向导,进入图5-2时,在“数据库和表”栏选bjlsb,可用字段除“班级编号”、“班级简称”夕卜,其余选中图5-2•按“下一步”按钮,在接下来的界面中再按“下一步”按钮,在“报表样式”中选“帐务式”,单击两次“下一步”,进入步骤5时,选字段“姓名”,单击“添加”,并选“升序”,如图5-3,可使报表中记录按姓名升序排列•按“下一步”按钮进入步骤6,在报表标题中输入“班级成绩表”,然后单击完成保图5-3存的名字也为班级成绩表如图5-4•在项目管理器中单击“班级成绩表”,再单击右侧的“修改”按钮,进入报表修改注意:此时由于还没有建立报表定义文件,所以运行表单时只能单击“生成”,以生成临时中间文件,暂不能单击“预览”按钮,否则会出错图5-42•修改报表定义文件“班级成绩表”•点住标题条上边缘,向下拖动,适当扩大标题区•单击最上面的一条粗黑线,再单击“剪切”按钮,删除此黑粗线。

      •单击标题区“班级成绩表”,然后选“格式”菜单中的“字体”,选28号字,并将其拖到中间位置•单击报表控件中的标签按钮,再在标题区左下部单击一下,输入“班级编号”,字号设为“小四”•单击报表控件中的域控件丽"按钮,在“班级编号”标签右侧画一框,出现图5-5,再单击表达式右侧的按钮,出现图5-6所示表达式输入框图5-5抿表字段的春达式:宇段整Ibjlsb姓名ki:Rb班颔編号bjlib,班£K简称bjlsb.kclbjlsb.kcZbjlsbkc30*nNk-1Cckc3cbjbh|bjjc娈号®;图5-6在变量区双击bjbh,则在“报表字段的表达式”框中出现bjbh,如果变量区没有bjbh,则直接在“报表字段的表达式”框中输入bjbh按“确定”按钮后,得到图5-7班级成绩表班级编号:hjbh图5-7-根据上述相同的步骤,再在“班级编号”右侧制作一标签“班级简称”,同时制作一域控件与bjjc联系如图5-8•单击页标头区的kc1,然后单击“剪切”按钮删除,同样的方法删除kc2、kc3•单击报表控件中的域控件按钮,在kc1处画一框,框要比较高,在接下来出现表达式输入框中输入m.kcl.班级成绩表班级编号:|h」hh_概级简称:|欣5花0图5-8止标题姓名kdkc2Ikc3—▲页标头图5-9•同法在原kc2、kc3处分别画域控件,表达式框中分别输入m.kc2、m.kc3,如图5-9。

      删除页标头里的两条粗线,在上面那条粗线处画一条细线代替再在页标头画几条竖线隔开各个部分,同时调整细节部分的分隔线,使其与页标头的分隔线对齐,如图5-10图班级成绩表班级编号:|bjbh级简称:旺▲标题姓名kdkc2kc3▲贡标头姓名—|kciKC3▲细节图5-10•单击工具栏的预览按钮|做|,可看到如图5-11结果2. 去掉0成绩(0分表示未输入成绩或未选该门课程)•双击细节里的kc1,在报表表达式对话框中,单击格式后面的按钮,再选*厂,单击“确定”按钮即可•用同样的方法对细节部分kc2,kc3作定义。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.