网站地图>收藏本站>设为首页
定做流程>服务项目>价格参考>付款方式>诚邀加盟>关于本站>联系我们
当前位置:5173毕业设计论文网文章资讯VFP

VFP高校学生成绩管理系统

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2011-02-28 20:54:00
QQ交谈在线咨询详情 5173论文网竭诚为您服务 本站永久域名:www.lw5173.com
6.3查询功能模块
查询功能可以按学校、姓名和考号中的任何一种方式,对考生的成绩进行查询。
考生信息导入后, 打开的表单,如图6.8所示,在“按学校”的下拉列表框中所列的学校是系统自动将不同的参赛学校列进去的。用户只要选择一个学校,单击“确定”按钮,即可在表格中列出该学校考生的成绩信息。同时,单击“导出EXCEL”按钮,可保存该学校考生的成绩单,还可利用本系统提拱的发送电子邮件功能,将该学校考生的成绩单发送给该学校。另外,只要将光标移到“按考号”或“按姓名”的文本框中,输入考号或姓名,单击“确定”按钮,表格即显示该学生的考试成绩[4]
6.8查询表单
实现系统自动将不同的参赛学校列进下拉列表框功能,需要在表单Form1的Activate事件中加入如下代码:
count to num                                    &&判断记录数
go top
if num==0                                       &&无记录
 messagebox("请先录入考生信息",64,"提示")
 thisform.release
else                                            &&有记录
 set order to 1          &&打开索引,按学校升序排
 go top                  
 a=学校
 thisform.combo1.additem(a)       &&将首记录的学校名加进去
 skip
 do while not eof()              &&以下代码完成移动指针的作用,将不同的学校名加入组合框
     if 学校==a
        skip
     else
        thisform.combo1.additem(学校)
        skip
        a=学校
     endif
 enddo
 set order to                          &&关闭索引
endif
6.4排序功能模块
排序功能包括按团体排序和按个人排序,实现对考生成绩的统计、排序等功能。
6.4.1按团体排序功能
考生信息导入后, 打开的表单,如图6.9所示,这里所说的团体是指学校,一个学校代表一个团体,本系统自动将考生人数十人以上(包括十人)的学校放在一个列表框中,不满足十人的学校放在另一个列表框中,单击学校即可显示该学校的考生人数和总分。单击“确定”按钮,即可在表格中列出考生人数十人以上(包括十人)的学校总分前十名考生的总分累加作为该团体的分数,并将每个团体按分数递减排列,如图6.10所示。
         
6.9按团体排序的表单                         图6.10排序后的表单
表单中“确定”按钮的Click事件代码如下:
set order to 1                    &&打开索引,按学校升序排
copy to zf fields 学校,总分      &&选择部分字段复制成新表zf.dbf
use zf
****以下代码实现的是如果考生人数小于十人将删除该学校****
do while recno()==1   &&如果首记录的学校考生人数小于十人将删除该学校
   a=学校
   count for 学校==a to i      &&i存放的学校的记录个数
        if i<10              
           dele for 学校==a      &&记录个数不足十个删除
           pack
           i=0
        endif
enddo 
go top     
a=学校                           &&将首记录的学校名赋给变量a
do while recn()<>recc()
   skip                          &&指向下一记录
   if a<>学校   &&判断下一记录是否与原记录相同,如不同,赋给变量a
      a=学校
   endif
   count for 学校==a to i      &&i存放的学校的记录个数
        if i<10              
           dele for 学校==a      &&记录个数不足十个删除
           pack
           i=0
        endif
        b=b+i                  
        go b                     && go b 始终指向的是不同学校分界处上一学校(包含十个记录)的末记录
enddo                                           
total on 学校 to xf fields 总分 &&按学校汇总总分,写入新表xf.dbf
use xf
index on 总分 tag zf descending &&建立索引,按总分降序排
thisformset.form1.hide
thisformset.form2.show             
6.4.2按个人排序功能
该功能分别实现了对所有的考生按第一试、第二试和总分成绩降序的排序。如图6.11所示的按第一试成绩降序的排序。
6.11按第一试成绩降序的排序的表单
6.5打印功能模块
打印部分提供学校成绩单和个人总分名次打印功能,对需要打印的相关信息可及时进行打印。
6.5.1打印学校成绩单功能
考生信息导入后, 打开的表单,如图6.12所示,在“选择学校”的下拉列表框中的学校是系统自动将不同的参赛学校列进去的。用户只要选择一个学校,单击“确定”按钮,即可打印所选的学校的成绩单。另外,用户也可单击“预览”按钮,浏览所选学校的成绩单,如图6.13所示。
6.12学校成绩单的表单
6.13预览所选学校的成绩单
6.5.2打印个人总分名次功能
该功能实现的是按名次打印个人总分,用户可以选择打印前几名的考生的成绩。另外,如选择打印考生前0名考生,将打印所有考生的成绩。该表单也提拱了预览的功能,同时也可单击“确定”按钮,直接打印,如图6.14所示。
6.14打印个人总分的表单
表单中“预览”按钮的Click事件中代码如下:
if thisform.spinner1.value==0      &&判断打印所有考生
   report form ksxx environment preview
   if messagebox('确实要打印所有考生吗?',1+3+256,'提示')=6
      report form ksxx environment to printer &&打印符合条件的报表
      messagebox("所有考生成绩单已打印",64,"提示")
 endif
else
 report form ksxx environment next(thisform.spinner1.value) preview&&预览符合条件的报表
 if messagebox('确实要打印吗?',1+3+256,'提示')=6
     report form ksxx environment next(thisform.spinner1.value) to printer &&打印符合条件的报表
     messagebox("考生前"+allt(str(thisform.spinner1.value))+"名成绩单已打印",64,"提示")
 endif
endif
6.6帮助功能模块

帮助部分主要提供对本系统主题问题的帮助和关于本系统的说明,另外还提供了发送电子邮件的功能,可以方便用户发送有关信息,如:学校成绩单。这里需要说明的是用户可以单击“帮助”菜单,也可直接按键盘上的“F1” 键,即可显示出帮助窗口。发送电子邮件的功能是通过调用系统的电子邮件软件来实现[5],如:OutLook。


以上内容只是毕业设计作品的部分资料介绍,如果了解更多详情请联系客服QQ:57510459
     购买帮助>>

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论