您的当前位置:首页正文

教务管理系统报告

2023-06-09 来源:V品旅游网
教务管理信息系统

教务管理基本业务

对以一个学校教务管理工作而言,它的业务范畴主要包括教学计划管理,课表管理,成绩管理,学籍管理,考务管理,学生选课管理,教材管理等子系统。 一般来说,院校教务管理各子系统的关系如图:

系部专业,班级等基本数据系统数据根据各专业和各年级班级信息维护生成教学计划录入或转入新生名单,编排学号新生报到根据系统授权输入相应的计划教学计划由计划下达任务安排监考教师,打印补考重修学生名单教务秘书输入学生信息根据教学任务输入开课表将新生信息转入学籍管理根据课表课程安排考试工作量计算课表管理提供选课信息选课报名学籍管理根据课表开课信息录入成绩学生信息根据选课信息录入成绩安排期末考试根据成绩情况输入毕业生情况根据成绩补考或重修报名成绩管理根据考试系统生成名单输入补考重修信息考试管理毕业生管理由学籍管理或教务秘书进行毕业资格审核后确定毕业生毕业结论

由图表中可见,“计划管理”和“学籍管理”是整个系统的龙头,通过教学计划进行有效的管理,方便准确地下达教学任务,进行排课前数据准备,排课条件设定,自动排课,和课表的日常管理。

通过对全院学生的学籍管理,可掌握学生基本信息和学籍变动情况,而根据各班课表情况或各专业教学计划,可以方便地进行成绩管理,进行学生毕业资格的审查,完成毕业证书的打印及数据上报工作。

教务管理系统根据各学期课表和学生成绩进行学期期末考试,补考安排,补考,重修报名单的生成。

教务秘书系统是各系部教务秘书根据下达的教学任务安排本系部课程的开课教师,安排期末考试的监考名单等。

教材管理系统在管理好教材库的基础上,根据教学计划和各学期的开课情况,进行各班级教材的发放,新教材和所缺教材的征订入库,班级费用的结算。

个系统的功能分开,担又互相关联,而数据完全共享,具体管理工作人员根据自己的职责范围,运用相应的系统完成各自的日常教务工作。 说明:业务流程分析是在业务功能的基础上进行细化,将业务处理过程的每一步骤用一个完

整的图形来表示。

1 计划管理

该子系统主要维护全校的课程安排信息,包括课程组的对照维护,各系所各专业的每个年级的教学计划维护,全校任选课信息维护,毕业学分的要求审查及向教务的排课系统传送数据。同时在该子系统中还能将各系各专业某一学年学期的教学安排和开课任务书以报表的形式输出,计划管理功能如图:

教学计划管理参考计划计划输入修改教学进程维护教学计划打印计划分析查询 教学计划是由各院系根据各专业情况及相关政策制定的,院系制定的教学计划经教务处审核确认后,成为正式的教学计划。 2 学籍管理

该子系统主要维护学生的学籍信息,包括学生的学籍信息维护,学籍异动情况维护,新生信息维护,学生的照片管理及奖惩情况,并根据学籍数据形成报表和数据上报的文件。在综合教务系统中,对学生的管理是围绕学生的学籍状态进行的,所以如果学生由学籍异动要及时维护,才能保证对学生进行有效的实时管理。学籍管理流程如图:

教学办公室院系教务员系主任教务处院长学生成绩审批学籍处理申请表审批审批审核学籍处理文件存档 3.选课管理

学生选课子系统其功能主要是列出个学习层次专业开设课程,提供各课程的详细信息,如开课时间、上课地点、教师信息、学分、学时等等,以及专业开设课程的详细介绍,该课程可用的各种课件的详细信息。

将课程分为院选课和公共选修课,各学生进入后可根据自己以及所在学院的情况,结合毕业所需要的学分和个人爱好进行选择。基本的流程如图

课程信息表课程表教师信息表课程表课程信息表账号新课学生显示各课程概况及学分学时等基本情况合法选择课程人工审查重选通过检查合法性选择课程添加课程课程表学生表考试成绩表

4考务管理

学生考试管理主要完成学生申请考试、考试申请核发行检验、系统自动完成考试人数统计、预安排考点、正式安排考试、考点自动发送开始公告和退考的功能。考务管理业务流程如图

反馈信息学生确认信息正式安排考试;考试公告考试成绩考试考试及评价账号考试申请表申请表合法性检查申请合格统计考试人数,预安排考试时间,地点考试申请表考点情况表学生表课程表考点考试安排表考点情况表学生表课程信息表

教务管理系统需求分析

教务管理系统任务

业务描述

在对整个教务管理信息系统进行统一规划之前,为了有利于整个系统的设计、开发、运行与维护,首先应对教务管理模式及业务流程进行调查分析。 1. 组织机构

某大学教务管理的组织机构,最高管理层是学校领导,设有一位主管教学的副校长。教务处是教学管理的职能部门,按管理层次可分为决策指挥层和各职能执行层,决策指挥层由教务处长、副处长组成,下设职能科室。各院系、直属教研组均设有主管教学的领导,下设教务员。

该校现有个机构的职能划分如下: (1) 处长办公室

处长办公室是协助处长处理全处事务性工作的参谋和办事机构,负责传达贯彻领导指示精神,协助各部门工作,沟通领导与部门的关系,调查、汇报教务情况动态,管理教学经费和教务文件等。 (2) 教学管理办公室

教学管理办公室的主要职能有:实施本专科教学计划,校历、课程表的制定,教室调度;本专科生和留学生的学籍管理、考试管理、成绩管理、选拔免试研究生;班主任(导师)工作管理,教学实践环节及实习基地的管理,名牌高校学生跨校选课、名师讲座管理,以及校外人员进修、旁听的管理等。 (3) 教研招生办公室

教研招生办公室的主要职能有:负责学校本专科的专业设置,制定招生计划,进行招生宣传以及录取本专课生、保送生、港澳生、插班生;负责制定本专科教学计划、教学大纲;开展教学研究、教学评优、教学评估、教学质量评测及教材(讲义)建设、课程建设;负责教学竞赛活动、毕业设计(论文)的管理以及联合班、辅修、双专业、双学位的选拔培养等。

(4) 各院系教务人员

各院系设有专职从事教学管理的教务员,教务员既属于教务处领导,也从属于院系领导。教务员是教务处和院系教学管理的桥梁;为各院系领导和教务处了解本院系教学管理工作的状况,开展教学研究,加强教学管理,进一步提高教学质量提供重要依据;贯彻学校、教务处的有关指示精神。具体的业务包括执行教学计划、学生的成绩和学籍管理、考务工作和教学档案的管理等等。 2管理模式

人才培养的对象是新生,培养的结果是合格的毕业生,培养过程是通过教学过程和教学教务管理过程的有机结合而实现的。人才培养过程包括:招生、学籍、教学计划、排课、选课、成绩(授课)、分配等主要环节和教务研究、教材、选课管理、系统管理等辅助环节。

教学过程主要是通过授课来实现的,授课的结果主要变现为学生的成绩。新生入学后分配到各个不同的专业班级,在教学过程中按照教学的组织原则编排到不同的教学班级中,教务处和各院系按照全校各专业教学计划负责相关的课程设置、教学大纲、编排课程、选课条件、授课、成绩、毕业审核等教学和教学教务管理工作。按照面向人才培养过程的系统原则,与教学教程和教学教务管理过程相应得管理 统包括:学籍管理、教学计划管理、排课管理、选课管理、学生选课、考务管理、成绩管理等主要模块和教学研究管理、教程管理、系统管理等辅助模块。

通过与学院教务处相关人员交流与沟通,并结合分析员的观察,可将学院教务管理

工作的业务项目归纳为有时序性的和随机性的两类,其中带有明显时序性的业务主要包括:学院基本信息录入、学生选课信息录入、学生成绩信息录入与统计、课程信息录入、教材信息录入、学生毕业管理等,而随机性的业务则包括:学生基本信息维护、成绩打印、学生选课信息变动、课程总库维护、教材库维护、学生成绩转存、学生信息查询等等。

教务处主要职责是负责全院学生日常的教学活动,建立良好的教学程序,以保证教学计划的全面实施。其工作既含有季节性的内容,又带有长期性的内容,而且涉及面广,数据量

大,总体来说是相当的复杂。

现有系统建立在校、系两级管理模式的基础上,而在新系统中,决定将教务工作的事务处理和教学管理分离开来。全校与教务有关的事务处理工作(包括制定学期执行计划、排课、选课、学籍管理、成绩管理等)不再分散于各系教务科,而是集中于教学计划运行室和学籍管理室;教学计划研究室主要负责教学管理工作(包括制定培养方案、指导性教学计划、教学质量评估等)。

新生/复/转/入院系课程专业教师教室班级教学班级学生毕业条件培养目标教学计划选题条件教学大纲课时分配成绩其他授课选课排课学生毕业/休/退/转出

3业务流程

业务流程一般以教务管理各部门的功能为中心展开。实际上时在功能分析的基础上,对个功能进行具体化,以便了解各业务的输入、输出情况,所需的文件内容以及与其他业务功能的关系。具体流程如下:

(1) 由各系制定新生五年(四年)指导性教学计划; (2) 教务处教学计划研究室汇总各系指导性教学计划;

(3) 在开课学期的前一学期,由教学计划办公室从汇总指导性教学计划中抽取下一

学期某院系要开什么课,向各系下达教学任务;

(4) 各系根据教学任务,(包括必修课和选开的选修课)安排讲课教师,并上报教学

计划办公室;

(5) 教学计划办公室根据各系教学任务排出课表; (6) 学生根据排课表进行选课,形成选课库;

(7) 学籍办公室根据选课库安排学生交费,在下学期末进行考试、考场安排。将考

试、考场安排分别送至开课院系和学生所在系; (8)学生考试完毕后,学籍办公室将学生分科考试成绩汇总为总成绩库,再从总成绩

库分院检索出每个学生各门课成绩表。将总成绩库录入学生状况库进行学籍处理(毕业资格

审定、学位资格审定等)。

4.学分制下学生信息管理模式

该校学分制管理的基本模式是:在四年基本学制的前提下,学生接受导师的指导,根据培养计划的要求和自己的需要与能力,自行安排学习进程,可以提前或滞后作业。即在3~8年(包括休学、停学)的时间内,修完培养计划规定的学分后,便可毕业。

从这个基本模式中,就可以看出学分制与传统的学生管理模式有相当大的区别。学分制不再像传统管理模式一样,让所有学生统一地选课、上课,而是允许学生根据自己的实际情况,因人而异,自行选择课程和教师。学分制是在遵循一定的约束条件的基础上,给学生以充分的自由,这自然大大增加了教务管理的灵活性,在一定程度上促进了教务管理的发展,同时这也对学生信息管理工作提出了新的要求。

在学分制下,,学分作为表征课程量的计算单位,它不但反映了学生修读课程所付出的劳动量和所需要的时间,而且也体现了课程内容的深浅难易程度。一个学分原则上是指一个学期内,没星期完成一个课内学时的课程量。或者说,一个中等程度的学生每完成18个课内学时的课程量并通过考核可记一个学分。而根据各教务环节实施上的差距,具体学分的计算方法也不同。在学分的计算上,统一采取就近选取原则,凡通过考核,成绩合格者,即取得相应课程的学分;成绩不合格这者,则不能取得该学分。 为了充分反映学生掌握课程知识的程度和能力,并能够反映学生学习的质和量,规定采用绩点评估制的方法;用每学期一次计算所得的平均绩点,作为衡量学生学习质量的重要指标,同时也把塔作为学业管理、学生评优和学生取得学士学位的重要依据。

系统划分

1. 教学计划管理子系统

教学计划管理子系统是对各专业教学计划的修订、查询进行管理。更改权限在教务处。实现的主要功能:

(1) 根据教学实际需要变更教学计划,生成执行计划; (2) 执行计划数据转入排课调度管理子系统,进行排课;

(3) 执行计划数据转入学籍成绩管理子系统,进行成绩录入管理,执行计划数据转

入教师管理子系统,进行工作量核算和科室补贴计算;

(4) 执行计划数据转入实习管理子系统,进行实习安排; (5) 执行计划数据转入考务管理子系统,进行考务管理。

2. 教师管理子系统

教师管理子系统实现对教职员工的考核,主要功能是录入、修改、查询、统计有关信息。 3. 教材管理子系统

教材建设管理子系统实现对学校所开课程使用的教材以及与课程相关的参考书的管理。主要功能是录入、修改、查询、统计有关信息。 4招生管理子系统

招生管理子系统用于辅助招生录取的整个过程,主要功能有: (1) 进行计划招生录取工作 (2) 历年新生情况统计

(3) 查询招生简章、招生层次、招生计划、招生工作动态。 5.学籍成绩管理子系统

学籍成绩管理子系统分学籍管理和成绩管理两个功能模块。 (1) 学籍管理

学籍管理模块使用于学生在校的所有档案数据,主要完成学生的学籍管理和统计工作。管理数据包括学生基本情况、学籍、学位、、毕业等数据。这一部分系统模块的使用权限在教务处。

入学新生信息由招生管理子系统转入;

添加、修改学籍信息,包括加入学生照片等内容; 学生注册管理; 统计各学院(系)、专业、班级人数;

管理学生修读辅修专业、双专业、第二专业、第二学士学位信息; 学生毕业资格审核; 学生学籍状况统计。

(2) 成绩管理

成绩管理模块用于管理学生的学习成绩,提供学生成绩的录入、修改、查询、统计及三好、免试攻读研究生、毕结业等各种资格审核等功能。

成绩的录入以“排课”生成的学生分班名单为单位,录入界面分布在各院系的客户端,由各院系任课教师录入学生成绩,或由各院系教务员统一录入、学生成绩录入后,由院系数学主管签字确认,只有教务处拥有学生成绩的修改权限。 本部分实现的主要功能:

学生成绩管理,输出各种报表; 学生成绩查询;

与成绩有关的各种资格审核; 毕业证书的打印、管理。 6排课管理子系统

排课管理子系统根据执行教学计划所产生的教学任务安排表辅助人工排课,可灵活指定时间、地点、合班、分班等特殊幽囚,最终产生各种课表。本部分实现的主要功能: (1) 通过开设信息检验教学计划的执行情况; (2) 复制人工排课,产生各种排课信息; (3) 进行课室调度。 7.考务管理子系统

考务管理子系统用于审核学生的考试资格,进行考试成绩分析等管理。本部分实现的主要功能:

(1) 对考试的时间、地点进行统筹安排;

(2) 对大学英语水平考试等全校性统考进行管理,包括报名、收费、自动编排考试场

地和考试座位;

(3) 对试卷进行分析、存档,促进组卷的科学化;

(4) 对学生各科考试成绩及各种统考成绩进行统计与分析。 8.实习管理子系统

实现管理子系统用于对执行教学计划中课程实验、课程设计、上机、校内外生产实习等实践教学环节的管理。本部分实现的主要功能:

(1)对于执行课程实验、课程设计、实习等数据进行归纳和分类管理; (2)执行数据与原教学计划对比,以检验完成各种实践教学环节情况; (3)查询、统计上级情况。 9.教学研究项目管理子系统

教学研究项目管理子系统用于对教学研究项目和重点课程建设项目从申请到验收整个过程的管理,也包括一些查询、统计功能。此模块使用权限在教务处。本部分实现的主要功能:

(1) 提供项目负责人填写项目申请表和验收信息的录入界面; (2) 修改、查询项目的所有相关资料; (3) 按年度分类统计项目情况。 10.中和查询子系统

本系统提供如下查询内容:

(1) 综合查询个人信息,如学习成绩;

(2) 查询各种统计信息,为校外领导及有关部门提供决策依据; (3) 查询教学工作的规章制度、条例; (4) 查询对外办公规定;

(5) 查询教学工作动态、通知及有关的教学信息。 各子系统信息关联图如图所示:

招生管理子系统学籍成绩管理子系统实习管理子系统教学计划子系统排课管理子系统教师管理子系统教材管理子系统考务管理子系统教学研究管理子系统

业务流程分析

1 新生注册业务

新生注册业务流程图如图:

领导教学管理办公室报告学生请假注册管理注册管理统计院,系审批招生办存档教务处

2 成绩管理业务流程 成绩管理业务流程图

院,系学生教师教学管理办公室院系教学管理人员开课管理选课管理成绩管理成绩统计分析领导教务处审核审核教务员学生存档存档存档存档

3 学籍管理业务流程 学籍管理业务流程图

教学办公室院系教务员系主任教务处院长学生成绩审批学籍处理申请表审批审批审核学籍处理文件存档

数据流程分析

1. 学生注册于选课

首先接受学生提交的学生证和申请单,根据学生档案情况检验学生证得有效性和申请单是否填写得正确,如果有误则谢绝,如果无误则根据学生的注册记录情况审查接受学生申请要求。如果是申请注册,则进行注册登记;如果是申请选课,则先查询课程档案是否有满足申请要求的课程,如果有则进行选课登记,如果没有则通知学生无此课。学生注册与选课数据流程图如图所示。

7.注册记录无效1.学生证2.1学生2.申请单检验3.谢绝2.申请单2.2审查接受申请2.34.注册注册登记5.选课E1学生档案2.46.无此课检索课程E2注册记录2.5选课登记E4选课单5.选课E3课程档案

2.成绩管理

根据教学计划、课程信息、教师信息通过“开课信息处理”形成开课信息,并将结果保存至教师数据库,同时形成的开课信息可供学生进行选课。

具备合法条件的学生可以进行选课操作,选课信息将记录至学生信息库。

课程学习结束后,通过“成绩录入”处理。将学生学习成绩记录到“学生成绩库”中,同时经过“成绩整理分析”将“成绩信息”通知学生家长及上级领导。 成绩管理 数据流程图如图所示。

教师数据库教师开课情况教师基本情况学生学生基本信息库学生上级领导家长教学计划执行计划开课信息处理开课信息学生选课课程数据库课程基本情况选课信息学生成绩库成绩录入成绩信息成绩整理分析

教务管理系统总体设计

系统程序结构设计

教务管理系统的但总体结构图如图:

1..学生基本信息模块设计 一个学生从大学到毕业(甚至是到毕业后的若干年),学校都需要有一份对该学生的基本信息记录,而在学生在校期间,学校还需要对该记录进行修改、查询等一系列的操作,等到学生毕业或是毕业后若干年,学校又需要对该记录惊醒转存或是删除,而学生基本信息模块的主要功能是实现对这些记录的信息相应的管理。

根据实际工作的需要,系统中的学生基本信息主要包括姓名。学号、出生年月、、籍贯、生源地、专业、政治面貌、职务以及各个学期的综合测评成绩等。鉴于学生学号的唯一性,故把学号作为学生基本信息的主键,对于培训的临时人员则可以给其配临时学号加以标记。考虑到可能需要从已有的数据库导入到系统数据库或是从系统数据库导出到其他数据库,本模块还提供数据导入、导出功能。

学生基本信息模块 学生基本信息编辑 学生基本信息查询 学生信息导入学生信息导入添加删除修改

2.选课信息模块设计

与传统的教学模式不同的,在学分制管理模式下,学生将自由选择课程和老师。假定目前学生选课的功能已经通过校内教务网上下载下来的相关数据导入到数据库中的功能即可。此外,在相关数据导入以后,任课教师或学生还可能需要查询自己的课表,而且教务科也可能需要相关数据,因此,本模块还必须提供选课信息查询的功能。

选课信息模块选课信息导入选课信息查询

3.成绩管理模块设计

在学生的信息管理工作重,学生的成绩信息管理占了相当大的比例,因此本模块在系统中的地位也可想而知。成绩信息管理工作主要包括成绩信息编辑、成绩信息统计与分析和重修信息查询三大部分,因此本模块也必须对应有三大功能。成绩信息编辑功能,顾名思义,就是向用户提供成绩录入,修改的接口。成绩信息统计分析则是向用户提供将统计结果导出打印的功能。还有就是重修信息查询的功能,此功能需提供两种查询方法:单个学生重修记录查询功能和选课整体重修记录查询功能。

成绩管理模块成绩信息编辑成绩统计与分析重修信息查询成绩录入成绩修改及格率计算优秀率计算„分段人数统计

4.辅助信息模块设计

如果本系统只有上文所述的三大功能模块,还称不上一个完成的学生信息管理系统,因此还必须加上辅助信息模块。根据实际需要,本模块将提供两大功能:系统管理功能和课程信息管理功能。

系统管理功能具体还可以分成以下几个部分:

(1)系统登录部分,用来实现用户名和密码的验证功能,防止出现非法登录的情况; (2)添加用户部分,此部分需要提供根据需要新增用户名和相关密码的功能,从而实现多用户的管理;

(3)密码修改部分,用来修改当前登录用户的密码。

课程信息管理模块则需要提供课程信息的编辑功能,用来增加、删除或修改课程记录。

辅助信息模块系统管理课程信息管理用户登陆

用户添加密码修改添加修改删除

数据库逻辑结构设计

建立教务系统的信息表: 学生基本信息表(Stu_info),课程信息表(Cou_info),选课信息表(Les_info),重修信息表(Reles_info),学历信息表(Xl_info),省份信息表(Province_info),民族信息表(Ration _info),政治面貌信息表(Mm _info),学生职务信息表(Szw _info),用户信息表(User _info)。各表具体的字段名称,字段类型,字段长度以及用途如表所示:

学生基本信息表(Stu_info) 名称 Stu_no Stu_name Stu_sex Stu_xl Stu_xz Stu_sy Stu_jg Stu_sr Stu_zy Stu_mm Stu_zw Stu_mz Stu_bz Stu_class Stu_zhcp 名称 Cou_no Cou_credit Cou_power Cou_hour Cou_phour Cou_jc Cou_name Cou_ms Cou_type Cou_kshi 类型 char nvarchar Bit smallint smallint smallint smallint smalldatetime smallint smallint smallint smallint nvarchar nvarchar Real 类型 char real real smallint smallint nvarchar nvarchar nvarchar smallint bit 宽度 10 20 1 2 2 2 2 8 2 2 2 2 50 10 4 宽度 10 4 4 2 2 50 20 50 2 1 用途 学生学号 学生姓名 学生性别 学生学历 学生学制 学生生源 学生籍贯 学生出生日期 学生专业代码 政治面貌 学生职务 民族 备注信息 学生班级 综合测评成绩 用途 课程号 学分 课程权重系数 计划学时 实验学时 所用教材 课程名 课程描述 课程类别 是否为考试课 索引 主索引(关键字) 普通索引 备注 主索引 逻辑型 课程信息表(Cou_info)

选课信息表(Les_info) 名称 Stu_no Cou_no 类型 char char 宽度 10 10 用途 学生学号 课程号 索引 主索引 主索引 Les_cj Les_jd Les_tna Les_term Les_xj Les_cx real real nvarchar char Real tinyint 4 4 20 6 4 1 学生成绩 学生绩点 授课教师姓名 课程开设学期 学生学分绩点 是否重修标志

重修信息表(Reles_info) 名称 Stu_no Cou_no Reles_cj Reles_sum Reles_bz 类型 char char real smallint nvarchar 宽度 10 10 4 2 50 用途 学生学号 课程号 最近重修成绩 重修次数 历次重修记录 索引 主索引 主索引 学历信息表(Xl_info) 名称 Xl_name Xl_value 类型 nvarchar smallint 宽度 15 2 用途 学历名称 表示值 索引 主索引

省份信息表(Province_info) 名称 Province _value 类型 smallint 宽度 15 2 用途 省份名称 表示值 索引 主索引 Province _name nvarchar

民族信息表(Ration _info) 名称 Ration _name Ration _value 类型 nvarchar smallint 宽度 15 2 用途 民族名称 表示值 索引 主索引

政治面貌信息表(Mm _info) 名称 Mm _name Mm _value 类型 nvarchar smallint 宽度 15 2 用途 政治面貌名称 表示值 索引 主索引

学生职务信息表(Szw _info) 名称 Szw _name Szw _value 类型 nvarchar int 宽度 15 4 用途 学生职务名称 表示值 索引 主索引

用户信息表(User _info) 名称 类型 宽度 用途 索引 User _id Password char Char 16 10 用户名 用户密码 主索引

上述的十个表之间还存在一系列的关系,各表之间的关系如图所示:

教务管理系统的实现

一、MDI Form窗体

创建教务管理系统的主窗体

在MDI程序中,又一个窗体时主窗体,可以包含其他窗体,它的类型就是MDI Form。 MDI Form主窗体中运用工具栏控件(Toolbar)可以使应用程序的工具栏更标准化和更专业。MDI Form窗体中需要运用Toolbar控件和ImageList控件对窗体进行系统的编排,以及建立

Toolbar控件和ImageList控件的关联。另外在主窗体中,Visual Basic中可以用公共模块来存放整个工程项目的公用函数、全局变量等。整个工程项目中的任何地方都可以调用公用模块中的函数、变量,可以极大地提高代码的效率。即在项目管理器中为项目添加一个Module,保存为Module1.bas。由于系统中各个功能模块都频繁使用数据库中的各种数据,因此需要一个公共的数据操作函数,用以执行各种SQL语句。添加函数ExecuteSQL。

Private Sub Adduser_Click() Form10.Show 1 End Sub

Private Sub Class_info_Click() Form12.Show 1 End Sub

Private Sub Cx_info_Click() Form13.Show 1 End Sub

Private Sub Exit_Click() Unload Me End Sub

Private Sub Grade_edit_Click()

Form8.Show 1 End Sub

Private Sub Grade_tj_Click() Form9.Show 1 End Sub

Private Sub Gzl_tj_Click() Form19.Show 1 End Sub

Private Sub Keyan_edit_Click() Form18.Show 1 End Sub

Private Sub Les_cx_Click() Form7.Show 1 End Sub

Private Sub Les_in_Click() Form16.Show 1 End Sub

Private Sub MDIForm_Load()

StatusBar1.Panels(2).Text = \"当前用户:\" & Trim(Form2.txtUserName) StatusBar1.Panels(3).Text = Format(Now, \"long date\") End Sub

Private Sub Pwdmod_Click() Form11.Show 1 End Sub

Private Sub Shouke_edit_Click() Form17.Show 1 End Sub

Private Sub Stu_cx_Click() Form4.Show 1 End Sub

Private Sub Stu_edit_Click() Form5.Show 1 End Sub

Private Sub Stu_in_Click()

Dim mrc As ADODB.Recordset '定义数据记录集变量 Dim txtSQL As String '保存sql查询语句的变量 Dim MsgText As String

Dim fname As String '接收用户选择的文件名 Dim strName As String '工作表各列的列名

Dim myApp As Excel.Application '应用程序变量 Dim myWorkbokk As Excel.Workbook '工作空间 Dim mySheet As Excel.Worksheet '工作表 On Error GoTo ErrInfo

If myApp Is Nothing Then

Set myApp = CreateObject(\"Excel.Application \") '创建excel类实例 End If

With Dialog '对公用对话框控件的初始设置 .DefaultExt = \"xls\" '缺省扩展名 .DialogTitle = \"学生基本信息导入\"

.CancelError = True '取消将返回错误信息

.Filter = \"Excel文件(*.xls)|*.xls\" '设置过滤器 .ShowOpen '打开文件选择对话框 End With

fname = Dialog.FileName '接收用户选择的文件名

Set myWorkbook = myApp.Workbooks.Open(fname) '打开导入文件 Set mySheet = myWorkbook.Worksheets.Item(1) txtSQL = \"select * from Stu_info\"

Set mrc = ExecuteSQL(txtSQL, MsgText) strName = mySheet.Cells(1, 1) i = 1

Do Until strName = \"\" mrc.AddNew

Select Case Len(mySheet.Cells(i, 1)) '加上在excel中自动省去的0 Case 6:

' mrc! Stu_no = \"000\" & mySheet.Cells(i, 1) Case 8:

' mrc! Stu_no = \"0\" & mySheet.Cells(i, 1) End Select

'mrc! Stu_name = mySheet.Cells(i, 2) mrc.Update i = i + 1

strName = mySheet.Cells(i, 1) Loop

mrc.Close

myApp.Workbooks.Close Set mrc = Nothing

Set myWorkbook = Nothing

Set mySheet = Nothing Set myApp = Nothing

MsgBox \"导入完毕!\恭喜!\" Exit Sub ErrInfo:

Select Case Err.Number Case 1004

MsgBox \"请选择正确的excel文件!\错误\" Case 3265

MsgBox \"应用程序找不到对象!\错误\" Case -2147217887

MsgBox \"关键字重复,导入失败!\错误\" End Select

myApp.Workbooks.Close Set mrc = Nothing

Set myWorkbook = Nothing Set mySheet = Nothing Set myApp = Nothing Exit Sub End Sub

Private Sub Tea_cx_Click() Form15.Show 1 End Sub

Private Sub Tea_edit_Click() Form14.Show 1 End Sub

Private Sub Timer1_Timer()

StatusBar1.Panels(4).Text = Format(Now, \" H: mm: ss \") End Sub

Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button) Select Case Button.Key Case \"a1\"

Form4.Show 1 Case \"a2\"

Form15.Show 1 Case \"a3\"

Form7.Show 1 Case \"a4\"

Form8.Show 1 Case \"a5\"

Form9.Show 1 Case \"a6\"

Form19.Show 1 Case \"a7\"

Form11.Show 1 End Select End Sub

公用模块如下:

Public Function ExecuteSQL(ByVal SQL As String, MsgString As String) As ADODB.Recordset

Dim cnn As ADODB.Connection Dim rst As ADODB.Recordset Dim sTokens() As String

On Error GoTo ExecuteSQL_Error sTokens = Split(SQL)

Set cnn = New ADODB.Connection cnn.Open ConnectString

If InStr(\"INSERT,DELETE,UPDATE,EXECUTE\cnn.Execute (SQL)

MsgString = sTokens(0) & \"查询成功\" Else

Set rst = New ADODB.Recordset

rst.Open Trim$(SQL), cnn, adOpenKeyset, adLockOptimistic Set ExecuteSQL = rst

MsgString = \"查询到\" & rst.RecordCount & \"条记录\" End If

ExecuteSQL_Exit: Set rst = Nothing Set cnn = Nothing Exit Function ExecuteSQL_Error:

MsgString = \"查询错误:\" & Err.Description Resume ExecuteSQL_Exit

End Function

Public Function ConnectString() As String

ConnectString = \"Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=sample;Data Source=20090319-2324\"

End Function Sub main()

Dim fLogin As New Form2 fLogin.Show vbModal

If Not fLogin.OK Then End End If

Unload fLogin

Set fMainForm = New MDIForm1 fMainForm.Show

End Sub

二、Form2用户登陆界面

登陆窗体中放置了两个文本框(TextBox),用来输入用户名和用户密码;两个按钮(CommandButton),用来确定或者取消登陆;四个标签(Label),用来标示窗体的信息。为窗体定义全局变量OK,用来判断登陆是否成功;定义miCount,用来即在输入密码的次数。并且在载入窗体是初始化这两个全局变量。当用户输入用户名和密码,单击cmdOK,将对用户信息进行判断。讲触发cmdOK的Click事件。没有输入将出现消息框提示。假如输入信息没有找到或者输入密码不正确,文本框txtUserName将重新获得输入焦点。假如成功,全局变量将被赋值为True;取消登录时,单击cmdCancel按钮,将触发Click事件。窗体退出。

代码如下:

Public OK As Boolean Dim miCount As Integer

Private Sub cmdOK_Click() Dim txtSQL As String

Dim mrc As New ADODB.Recordset Dim msgText As String UserName = \"\"

If Trim(txtUserName.Text = \"\") Then

MsgBox \"没有这个用户请重新输入!\警告\" txtUserName.SetFocus

Else

txtSQL = \"select * from User_info where User_id= \" & \"'\" & Trim(txtUserName.Text) & \"'\"

Set mrc = ExecuteSQL(txtSQL, msgText) If mrc.EOF = True Then

MsgBox \"没有这个用户请重新输入!\警告\" txtUserName.SetFocus Else

If Trim(mrc.Fields(1)) = Trim(txtPassword.Text) Then OK = True mrc.Close Me.Hide

UserName = Trim(txtPassword.Text) Else

MsgBox \"密码输入不正确请重新输入!\警告\" txtUserName.SetFocus txtPassword.Text = \"\" End If End If End If

miCount = miCount + 1 If miCount = 3 Then Me.Hide End If Exit Sub

End Sub

Private Sub Form_Load() OK = False miCount = 0 End Sub

Private Sub Text1_Change()

End Sub

三、Form10添加用户界面 在这个窗体中放置了三个文本框,用来输入用户名个密码,两个按钮用来确定是否添加用户,三个标签用来标示文本框的提示。还有控件数组用来添加相同类型的控件。在程序运行中,可以利用返回的索引值来识别事件时有哪个控件所引发的。

代码如下:

Option Explicit

Private Sub Command1_Click() Dim txtSQL As String

Dim mrc As ADODB.Recordset Dim msgText As String

If Trim(Text1(0).Text = \"\") Then

MsgBox \"请输入用户名!\警告\" Text1(0).SetFocus Exit Sub Else

txtSQL = \"select * from User_info\" Set mrc = ExecuteSQL(txtSQL, msgText) While (Not mrc.EOF)

If Trim(mrc.Fields(0)) = Trim(Text1(0).Text) Then

MsgBox \"用户名已存在,请重新输入用户名!\注意\" Text1(0).SetFocus Text1(0).Text = \"\" Text1(1).Text = \"\" Text1(2).Text = \"\" mrc.Close

Exit Sub Else

mrc.MoveNext End If

Wend End If

If Trim(Text1(1).Text) <> Trim(Text1(2).Text) Then

MsgBox \"两次输入密码不同,请重新输入!\警告\"

Text1(1).SetFocus Text1(1).Text = \"\" Text1(2).Text = \"\" mrc.Close Exit Sub Else

If Trim(Text1(1).Text = \"\") Then

MsgBox \"密码不能为空!\警告\"

Text1(1).SetFocus Text1(1).Text = \"\" Text1(2).Text = \"\" mrc.Close Exit Sub Else

mrc.AddNew

mrc.Fields(0) = Trim(Text1(0).Text) mrc.Fields(1) = Trim(Text1(1).Text) mrc.Update

MsgBox \"用户添加成功!\添加用户\" mrc.Close Me.Hide End If End If

End Sub

Private Sub Command2_Click() Unload Me

End Sub

四、Form11密码修改界面

密码修改窗体总的来说较为容易,只放置了两个文本框,用来输入密码和确认密码;两个按钮(CommandButton),两个标签(Label),用来标示文本框的内容。

Option Explicit

Private Sub Command1_Click() Dim txtSQL As String

Dim mrc As ADODB.Recordset Dim msgText As String

If Text1(0).Text <> Text1(1).Text Then

MsgBox \"两次输入密码不同,请重新输入!\警告\" Text1(0).SetFocus Text1(1).Text = \"\" Exit Sub End If

If Text1(0).Text = \"\" Then

MsgBox \"密码不能为空!\警告\" Text1(0).SetFocus Exit Sub End If

textSQL = \"select * from User_info where User_id=\" & \"'\" & Trim(txtUserName.Text) & \"'\"

Set mrc = ExecuteSQL(txtSQL, msgText) mrc.Fields(1) = Trim(Text1(0).Text) mrc.Update

MsgBox \"密码修改成功入!\密码修改\" mrc.Close Me.Hide End Sub

五、Form5学生信息编辑

类似于上面的窗体,放置所需要的文本框,命令按钮,标签等。在载入窗体时程序将自动在几个下拉式文本框中添加内容,这样可以规范输入内容。本窗体中,添加学生信息时,按下“添加”按钮时,此时系统就会哦体内各国调用AddNew方法在基本信息表内生成一条新纪录,同时所有提供用户输入的控件都将会被置空。按相爱“保存”按钮时,将调用Update方法将新的学生信息写入数据库中。类似于各个窗体中的实现作用,添加、取消、修改等操

作都一样。

代码如下:

Public actiontype As Integer Dim txtSQL As String

Private txtSQL1 As String Dim mrc As ADODB.Recordset

Private mrc1 As ADODB.Recordset Dim msgText As String

Option Explicit

Private Sub Command1_Click() actiontype = 1 mrc.AddNew

Text1(0).Locked = False Command1.Enabled = False Command2.Enabled = False Command3.Enabled = False Command4.Enabled = True Command5.Enabled = True Call blank_all Text1(0).SetFocus

End Sub

Private Sub Command4_Click()

If Text1(0).Text = \"\" Or Text1(1).Text = \"\" Then MsgBox \"学号和姓名字段必填\注意!\" If Text1(0).Text = \"\" Then Text1(0).SetFocus

Else: Text1(1).SetFocus End If

Exit Sub End If

If Text1(3).Text <> \"\" And IsDate(Text1(3).Text) = False Then MsgBox \"输入的日期格式不对,请重新输入!\注意!\" Text1(3).SetFocus

SendKeys \"{home}+{end}\" Exit Sub End If

If actiontype Then

txtSQL1 = \"select Stu_no from Stu_info where Stu_no=\" & \"'\" & Text1(0).Text & \"'\" Set mrc1 = executeSQL(txtSQL1, msgText) If Not mrc1.EOF Then

MsgBox \"学号有重复,清重新输入\注意!\" Text1(0).SetFocus

SendKeys \"{home}+{end}\" nrc1.Close Exit Sub End If mrc1.Close End If

For i = 5 To 12

If Text1(i).Text <> \"\" And IsNumeric(Text1(i).Text) = False Then MsgBox \"综合测评成绩必须为数字\注意!\" Exit Sub End If Next i

Dim re As Integer

re = MsgBox(\"真的要保存修改/添加吗?\请确认\") If re = 6 Then Call writerecord mrc.Update actiontype = 0 Call initial

End Sub

Private Sub Form_Load() actiontype = 0

txtSQL1 = \"select X1_name from X1_info order by X1_value\" Set mrc1 = executeSQL(txtSQL1, msgText) mrc1.MoveFirst While Not mrc1.EOF

Combol(1).AddItem mrc1.Fields(0)

mrc.MoveNext Wend

mrc.Close

txtSQL1 = \"select Province_name from Province_info order by Province_value\" Set mrc1 = executeSQL(txtSQL1, msgText) mrc1.MoveFirst While Not mrc1.EOF

Combol(3).AddItem mrc1.Fields(0) mrc.MoveNext Wend

mrc1.Close

txtSQL = \"select * from Stu_info\" Set mrc = executeSQL(txtSQL, msgText)

MsgBox \"数据库无学生信息记录\注意!\" Text1(0).Locked = True Command3.Enabled = False Command2.Enabled = False Command1.TabIndex = 0 Exit Sub End If

mrc.MoveFirst Call show_record

End Sub

六、Form4学生信息查询

在查询前,需要对该控件进行初始化。此工作在Form_Load()事件里完成。

本窗体的两个关键技术:意识符合查询条件的形成,而是查询结果与MsFlexGrid控件的绑定。

*******学生信息的导入与导出********

学生信息的导入功能是把已有数据批量导入到系统的数据库,这样可以节省很多的时间和工作量。

导入数据钱,必须先选择导入文件,因此在MDI Form1窗体中添加了一个CommanDialog控件,需要将该控件的Filter属性设置成“Excel文件|*.xls”,这样就可以使“打开”对话框上的文件类型一栏只能选择Excel文件。系统将先后打开该选定的文件,从文件读数据,最后将数据写入学生基本信息表。

**************数据导出功能*******************

要导出数据到Excel数据表,首先必须建立一个Excel实例,然后在建立该实例的工作簿和工作表,并打开源数据库开始往当前工作表中写数据。写完相关数据后,在设置数据表的现实格式。最后就是显示表格,并将控制权移交给Excel。

七、Form7学生选课信息查询

-选课信息查询部分是用来提供具体需要进行查询的功能。考虑到具体的需要,系统提供了选课学期,学生学号,课程名哈教师姓名的单独查询,同时也支持七种若干个条件的组个查询。与学生基本信息查询类似,选课信息界面也是采用MsFlexGrid空间爱你来显示在查询结果,并提供将查询结果导出到Excel文件中的功能。

八、Form8成绩信息的编辑

主要用来实现信息输入和修改的功能。由于输入或修改成绩信息时一般是以一个选课班为对象,所以编辑界面首先提示用户设定学期名、教师姓名和课程名。如果输入错误或者不完整,系统都会在按下确定按钮时产生相应的提示,同时使空白或者填写错误的输入控件获取焦点,以使用户修改,否则,系统将在MsFexGrid控件中显示相应的选课信息,同时将所

有用于添加或修改控件的Visible属性设为True。

考虑到只有在添加或者修改了成绩信息后,才有必要修改,所以保存按钮也只有在输入成绩的文本控件的Change事件发生时菜被设置成有效。

九、Form9成绩信息统计

成绩信息统计功能在管理工作中使用的相当频繁,因此这一部分不仅是本模块,甚至可以说是整个系统的重点。在实际中存在单个学生、选课整体、班级整体三种不同的统计对象所以放置了三个Option控件,用来控制三个Frame空间爱你的是否可见。

对于选课整体和班级整体老说,一般的常用统计项目都有最高分、最低分、平均分、及格率、优秀率和分段人数等。

要得到一个选课整体的成绩信息,也需要学期、教师姓名和课程名的信息,因此在统计前,界面提示用户输入这三项信息。

十、Form13重修信息查询

在成绩信息编辑部分已经附带实现了重修信息记录添加的功能,所以在此只需要独立实现查询功能即可。分为两种对象:单个学生和选课整体。出了主要数据源改为重修信息表外,其他的细节与基本信息查询基本类似。

十一、教师管理模块

包括 1教师信息编辑、2教师信息查询、3教学信息编辑、4科研信息编辑、5工作量计算。

1、 主要用来实现添加、删除、修改教师相关信息的功能 2、 主要用来实现教师信息查询的功能

3、 包裹:本专科授课、研究生授课、指导性教学、其他教学活动。

完成了教务管理系统的变成和调试工作,最后一步就是将系统进行编译。这涉及到工程项目属性的设置、可执行鹰眼程序的生成。 1教师信息编辑

2教师信息查询

、4科研信息编辑

5工作量计算。

因篇幅问题不能全部显示,请点此查看更多更全内容