论文.doc

vb+access学籍管理系统(系统+论文)

收藏

资源目录
跳过导航链接。
vbaccess学籍管理系统系统论文.rar
vb+access学籍管理系统(系统+论文)
VB14学籍管理系统
论文.doc---(点击预览)
vb学籍管理程序
DataEnvironment1.DCA
DataEnvironment1.Dsr
DataReport1.DCA
DataReport1.Dsr
DataReport1.dsx
DataReport2.DCA
DataReport2.Dsr
DataReport2.dsx
DataReport3.DCA
DataReport3.Dsr
DataReport3.dsx
1.frm
1.FRX
10.frm
10.frx
10.log
11.frm
12.frm
2.frm
2.frx
3.frm
3.frx
4.frm
4.frx
5.frm
5.frx
6.frm
6.frx
7.frm
7.frx
8.frm
9.frm
9.frx
frmAbout.frm
frmAbout.frx
Frmxf.frm
Module1.bas
MSFLXGRD.OCX
status.vbp
status.vbw
XJGL.MDB
学籍管理系统.
密码.txt
工程1.vbw
压缩包内文档预览:(预览前20页/共60页)
预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图
编号:149911274    类型:共享资源    大小:1.16MB    格式:RAR    上传时间:2021-10-10 上传人:好资料QQ****51605 IP属地:江苏
20
积分
关 键 词:
vb access 学籍 管理 系统 论文
资源描述:
vb+access学籍管理系统(系统+论文),vb,access,学籍,管理,系统,论文
内容简介:
计算机专业毕业设计计算机专业毕业设计论文学籍管理系统姓 名 学 科 专 业 指 导 教 师 学 号: 日期:2008年4月6月目 录【内容摘要】2【Abstract】3【关键字】3引言4第一章 概述411、 管理信息系统简介:412:面向对象的程序设计613、系统软件开发环境简介8第二章 需求分析921数据字典:922、数据流图1023、系统功能结构图14第三章 计算机学籍系统的设计163.1方案设计1632、模块处理功能设计1733、数据库表结构设计20第四章 应用系统实现2241典型模块的实现:2242系统菜单35总 结37致 谢38主要参考文献38附录:40【内容摘要】本学籍管理系统是采用VISAUL BASIC6.0开发的一个数据库管理系统。本设计说明书主要讲述了VISAUL BASIC6.0的基本功能及设计方法。紧接着以本系统为例,逐一介绍开发本系统系统的步骤:系统分析、系统设计、系统实现、系统维护。在系统分析中先后用数据流图、数据字典、系统的功能结构图分析了系统所需的各种数据。在系统的设计中,详细的展现了系统的各个功能模块。所需的数据库表及表字段。菜单的设计等。在系统的实现中,给出了实现表单中相应的功能控件的事件及代码。以及菜单实现的方法。文章的最后则给出了本系统的主要功能源代码。本系统具有数据输入,数据存储,档案查询,报表打印等功能,系统的人机对话界面友好。系统功能全面,用户操作方便是本设计的一个特色。【Abstract】This student status management system is a database that adopt VISAUL BASIC6.0s develop management of system.This design the manual primarily related the visaul basic6.0 basic function and design methoded.The I introduce this system as the examples:System analysis, system design, the system realizes, system maintenance.Analyzed the inside to successively used the data float the diagram , the data function construction of the dictionary, system the diagram to analyze the every kind of data for needing of system in the system.In the systems design inside, detailed emerged the systems piece of each function mold.Database form for needing and watch word segment.The menus design etc.In the realizing of system, given outed to realize the form and listed the function control inside of the pieces affairs and code.And menu method that realizes.Article of finally then give outed the main function code of this system.This system has the data importation, data save , file search, statement to print to wait the person machine dialogue of the function, system the interface amity.The system function is completely, customer operation convenience is this design a special features【关键字】面向对象 学籍 学籍管理 VISAUL BASIC6.0引言计算机已经要成为我们学习和工作的得力助手。今天,计算机的价格已经十分低廉,性能却有了长足的进步,它已被应用于许多的领域,计算机之所以如此流行的原因主要有以下几个方面:首先,计算机可以代替人工进行许多的复杂的劳动。其次,计算机可以大大的提高人们的工作效率。第三,计算机可以节省许多资源。第四,计算机可以使敏感文档更加安全现有我国的大中专院校的档案的管理水平不高,有的还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多的人力和物力。在在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。我作为计算机专业的毕业生,希望在这方面有所贡献。我希望能用所学的知识编制一个适用的程序来帮助还停留纸介质基础上的学校进行更有效的学籍管理。 第一章 概述11、 管理信息系统简介: 管理信息系统MIS(manage information systion)是由人和计算机等组成的能进行管理信息的多种操作(包括收集、储存、加工、维护和使用)的系统。它由四个要素组成。即现代化经济管理理论、系统工程、数学方法和计算机手段。其目的是通过自动化的事务处理方法来监视和控制企业、学校的行为、通过对历史数据的科学统计提供可靠的预测数据。并通过一些优化方法提供决策依据,管理信息系统是生产力发展的阶段标志是现代管理的综合体现。一个MIS系统的开发应分为如下步骤进行。1)系统任务的提出。系统开发的工作是从接受任务开始的,而系统任务应由系统用户提出,以书面的形式给予表达。2)初步系统调查。初步系统调查着重了解存在的主要问题和用户提出的目的要求,并制定新系统总体规划。3)确定系统目标。经过初步系统调查,了解了用户的基本状况和用户对系统的设想及要求后,系统开发人员就可以初步提出学籍管理系统的系统目标。4)系统的可行性研究。系统的可行性研究包括可能性和必要性。有技术上的,经济上的,人力资源上的,以及组织管理上的。经过系统的可行性研究,最后应写出一份系统可行性分析报告。分析报告是系统开发人员第一阶段工作的小结。5)详细的系统调查。通过详细的系统调查。可以得到人工管理业务的处理办法,并详细地掌握住处的流程,总结出现有业务过程的规律,存在的问题。从而提出改进措施。6)现行系统的描述与分析。着重用来分析现行系统页面设计后,相关性版块信息交互的方便性。特别是要分析现行学籍管理系统存在主要问题和管理上的薄弱环节,以及产生这些问题的原因和解决办法。7)用户需求及功能分析。用户需求因不同用户而有所区别,但主要可分为系统范围,信息的处理和技术性三个方面。8) 新系统的逻辑模型。通过对现行系统的进行详细调查,分析及用户需求分析后,就可以确定新系统的逻辑模型。新系统的模型包括新系统的功能要求、目标、各级页面之间链接、数据字典。9) 编码对象的分析及编码体系结构的确定。在系统分析阶段,对现行系统及学籍管理系统将要采用的编码对象及方法应该认真分析,以确定先进的科学的高效的系统编码体系。10) 系统的软件,硬件配置建议。分析人员应对学籍管理系统所需的计算机系统的配置提出建议。11) 系统的物理编程。根据不同的系统要求以及用户软、硬件技术状况,在合适的平台上,选取相宜的学籍管理开发语言和工具进行实际编程。12) 软件调查。对设计的原代码进行调试,以修改其中错误,从而确定系统的可靠性。13) 功能测试。对照系统分析中提出的系统功能要求,应进行系统的功能测试,以确定系统可预期的功能。14) 系统的性能评价以及完善文档。系统的性能评价应包括最基础的软硬件,支持系统占用空间等。系统交付时,应同时交付完善的文档。12:面向对象的程序设计面向对象的方法学是要求按人们通常的思维方式建立问题领域的模型,设计出尽可能自然表现求解方法的软件。所谓建立模型就是建立问题领域中事物间相互关系。而表现求解问题的方法就是人们思维方法的描述。在面向对象的设计方法中对象(object)和传递信息(message passing)分别表现事物和事物间的关系。类(class)和继承性(inheritamce)是描述人们思维方式的描述方法。方法(method)是在可进行的操作,这种对象、类、消息、方法的程序设计范式的关键在于对象的封装和继承性。通过封装(emcapsulation)能将对象的定义和实现分开。通过继承性,体现了类与类之间的关系,以及由此带来的基本特征。下面将从面向对象的方法学方面对有关概念作简要介绍。1) 对象我们把面向现实世界中的实体就称为问题空间的对象从动态的观点看,对象的操作就是对象的行为,从存储的角度看,对象是计算机内存中的一块私有存储区,在这块存储区中有数据、有方法。在面向对象的程序设计中,对象是该系统的基本运行实体,对于每个对象而言,都有与该对象对应的方法,而与每个对象相关的方法,就是定义了该对象的操作。2)消息和方法 在对象之间,消息是他们之间的唯一联系。在面向对象的程序环境中设计的程序,它的执行是依靠对象向消息传递来完成的。 把所以的对象分为各种对象类,每个对象类都定义了一组方法,所谓方法就是允许在对象类上进行的各种操作。3) 类 在面向对象的程序设计中,对象是程序设计的最基本的单位,相似的对象可以并到一类中去,程序员只需定义一个类,就可根据这个类得到若干个实例,其中每个实例就是一个对象。4) 继承性继承性是自动地共享类、子类、对象中的方法和数据的一种机制,继承性个减少程序设计中编写代码的工作量,它不仅支持系统的可重用性,而且还促进了系统的可扩充性。5) 封装性所谓封装是一种信息隐蔽技术,用户只能看到对象封装界面上的信息,而对象内部对用户透明,封装的目的是把对象的使用着和对象的设计着分开,使用着只需设计访问对象的消息。6) 多态性当同样的消息可发送到父类的对象和它的子类的对象时,这就被称为多太性。由于多态性具有可表达对象的多个类的能力。因此,它既与动态类型有关,又与静态类型有关。7) 动态聚束一个程序经过编译,连接生成的可执行文件代码,其过程就是将执行代码聚束在一起,若这一过程发生在程序设计时,就称为动态聚束。面向对象语言常使用这一类聚束方式,它具有程序简单性和可扩充性等优点。本系统在编制过程中,多次利用面向对象的技术特点。在后面的章节中将分别予以说明。13、系统软件开发环境简介本学籍管理开发系统是在Pentyum 四代2.0GHZ 以上机型的计算机上进行开发并获得通过的,同时方便系统开发,减少开发过程的难度,我们是基于以下的软件环境。以Windows XP为操作系统以Visual Basic6.0为开发工具Windows XP是目前主流图形化操作系统,而Visual Basic6.0 是一种优秀的面向对象的数据库应用开发工具。我在系统开发过程中深深地感受到Visual Basic6.0的强大威力。下面我结合自己的体会对Visual Basic6.0作一简要介绍。Visual Basic6.0是著名的Microsoft公司推出的完全可视化的数据库开发工具。使用面向对象的开发技术,能够开发出强大的专门针对用户的应用程序。具有强大的API函数库,支持ActiveX和OCX技术。能够管理大量复杂的数据信息,同时具有很好的安全性。在后面的篇幅里,我将详细的说明我是如何利用Visual Basic6.0进行学籍管理系统的系统开发的。第二章 需求分析需求分析阶段确定的系统逻辑模型是以后设计和实现目标系统的基础,因此必须准确完整地体现用户的要求。系统分析员通常都是计算机软件专家,技术专家一般不喜欢着手搞具体设计,然而,一旦分析员开始谈论程序设计的细节时,就会脱离用户,使他们不能继续提出他们的要求和建议。软件工程使用的结构分析设计的方法为每个阶段都规定了特定的结束标准,需求分析阶段必须提出完整的准确的系统逻辑模型,经过用户确认之后才能进入下一阶段。需求分析是软件生命周期的一个重要阶段,它根本的任务是确定为了满足用户的需要必须做什么。具体地说,应该确定系统必须具有的功能和性能,系统要求的运行环境,并且预测系统发展的前景,必须仔细分析系统中的数据,既要分析系统中的数据流。又要分析长期使用的数据存储,通过分析应该得出用数据流图、数据字典,为系统的设计奠定基础。在这一章里,我将给出系统的数据流图,功能结构图,系统分析说明书,数据字典,为系统的设计奠定基础。21数据字典:数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。任何字典最主要的用途都是供人查阅对不了解的条目的解释。数据字典的作用是在软件分析和设计的过程中给人提供关于数据的描述信息。数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用。只有数据流图和对数据流图的精确定义放在一起,才能共同构成系统的规格说明。系统开发时,常用卡片的形式书写保存描述一个数据元素。下面给出本系统数据元素的数据字典卡片。下面给出本系统的主要数据元素的数据字典卡片: 名字:基本信息查询报表别名: 描述:用户指定条件下的学生基本情况查询结果的信息表定义:基本信息查询报表学生号学生名年龄性别出生位置:输出到打印机名字:学生成绩查询报表别名:试题查询信息描述:用户指定条件下的成绩查询结果的成绩表定义:试题查询报表学生号姓名科目成绩学期位置:输出到打印机22、数据流图数据流图描绘系统的逻辑模型图,其中没有任何具体的物理元素,只是描绘信息在系统中流动和处理的情况。因为数据流图是逻辑系统的图形表示,即使不是专业的计算机技术人员也容易理解,所以是极好的通信工具。此外,设计数据流图只需考虑系统必须完成的基本逻辑功能,完全不需要考虑如何具体地实现这些功能,所以它也是软件设计的很好的出发点。学籍管理系统主要是为了对学生基本信息、成绩、学籍等进行计算机管理。所以主要的数据源应是学生的各种信息。1 学生基本信息流程图 F2 XSXJ 添加新记录 修改记录 F1 XSDA学号等 输入学生 检查是 信息 信息资料 否注册 删除记录 检索记录 窗体 报表 F1 XSDA流程图分析:从流程图上可以看出:学生基本信息的流动首先是以学籍号的特征为流动方向的依据。非0学号可以继续流动,并检验数据库学生档案表检查是否已经注册,已经注册的信息可以修改、查询、并将查询结果报表。未注册的信息可以录入到数据库中。为了数据的一致性,这里添加记录的同时,也对数据库中的另一表学生学籍表记录对应的学籍号,姓名。这里可以分析得出:要实现学生基本信息的流动,需要设计一个学生基本信息数据库表(XSDA),学生学籍数据库表(XSXJ)。并对该数据库表可以实现信息的录入、修改、查询、统计、报表。2 学生成绩信息的流程图: F3 XF =60 .T. 修改学分 F4JXJH 添加新记录 修改记录 F2 XSCJXX学号 输入学生 检查是 科目 相应成绩 否注册 删除记录 检索 表单 报表 F2XSCJXX 统计 表单 报表统计条件 输入 条件流程图分析:从流程图上可以看出:学生成绩信息的流动同样是以学籍号的特征为流动方向的依据。系统首先输入学籍号,科目,考试时间等信息,系统首先校验是否已经记录,对没有记录的成绩可以实现添加到成绩表中,同时判断成绩是否大于等于60分,对大于等于60分的成绩同时对该学籍号的学生将其对应的学分表中的学分记录修改。修改的标准是依据该科目教学计划中的设置的学分为依据。这里同样可以分析得出:要实现学生成绩信息的流动,需要设计一个学生成绩信息数据库表(XSCJ)。学分表(XF),教学计划表(JXJH)。并对该数据库中相关的表实现信息的录入、修改、查询、统计、报表。3 学籍信息的流程图: 添加新记录 修改记录 F5 XSXJ学号 输入学生 检查是 资料 否注册 删除记录 检索记录 窗体 报表 F5 XSXJ流程图分析:从数据流图上容易看出该系统应具有对学籍信息录入到数据库中,学籍信息包括:学籍号,姓名,奖贷学金,学生异动,军训等级,毕业去向等。可以修改甚至删除数据库中相关信息资料。可以对数据库的信息按某些字段或字段组合进行检索。同时应具有对数据库的信息作出相关统计等功能。4 教学计划设置信息的流程图: 添加新记录 修改记录 F4 jxjh科目 输入课程 检查是 信息 否注册 删除记录 检索记录 窗体 报表 F4 JXJH流程图分析:从数据流图上容易看出该系统应具有科目设置计划进行管理。即可以对教学计划进行维护的功能,维护的字段包括:科目号,科目名,年级,学分,备注。具体的数据流程是:首先输入科目号,科目名,对相应的数据库表进行校验,对没有登记的记录可以进行添加。对已经有的记录可以对其相应的字段进行维护。包括修改,删除。同时系统还可以对数据库中的记录进行检索。检索的结果显示在窗体中。23、系统功能结构图 通过前面的数据流程图已经对系统的主要功能有了一个初步的了解,下面将系统的功能再作一些深入分析,最后得出系统的功能结构图学籍管理系统是为了实现学校对学习相关信息的计算机管理。因此,系统应该有一个全局管理功能,以方便实现不同的功能的选择。也就是应具备全局管理功能。这里用总控模块实现。要处理的信息包括学生档案信息,学生学籍信息、成绩信息、学分信息,学校教学计划课程设置信息的不同处理。在档案基本信息模块下包含对学生基本信息的编辑、检索、报表等功能。对检索应具备从多方面对不同字段进行检索。成绩信息模块包含成绩编辑、检索、统计、报表等功能。对成绩信息的功能处理的是否恰当是本系统是否成功的一个标志。因此,对成绩信息的功能应细化。尤其是成绩的检索、成绩的统计要具备从不同的角度能够对数据库中的记录进行特定条件的检索和统计。在此基础上,总结得到如下的系统功能结构图: 编辑基本信息基本信息模块 检索基本信息 编辑学籍信息子模块 基本信息报表 学籍信息模块 学籍信息报表 成绩编辑子模块 成绩查询子模块成绩管理模块 成绩报表子模块 学分查询子模块 学分报表子模块 教学计划编辑子模块 教学计划模块 教学计划查询子模块 教学计划报表子模块 系统功能模块结构图第三章 计算机学籍系统的设计系统设计的目的是确定系统如何完成预定的任务,也就是确定系统的物理配置方案,并且进而确定组成系统的每个程序的结构。首先需要从数据流图出发,设想完成系统功能的若干种合理的物理方案,分析员应该仔细比较这些方案,并且和用户共同选定一个最佳方案,然后,进行软件结构设计,确定软件由哪些模块组成以及这些模块之间的动态调用关系。进行软件结构设计时应该遵循的最主要的原理是模块独立原理,也就是说:软件应该由一组完成相对独立的子功能模块组成,这些模块之间的接口关系应尽量简单。自顶向下逐步求精是进行软件结构设计的常用途经,但是,如果已经有了详细的数据流图,也可以使用面向数据流的设计方法,用形式化的方法由数据流图映射出软件结构。在进行详细的过程设计和编写程序之前,首先进行结构设计,其好处在于可以在软件开发的早期站在全局高度对软件结构进行优化,在这个时期进行优化付出的代价不高,却可以使软件质量得到重大改进。3.1方案设计本项目在初始设计时曾经考虑过三套设计方案,方案内容大致如下:第一套:系统功能分为四个模块,分别为文件操作,数据库操作,系统设置和帮助文件。1 文件操作模块包括对本程序所使用的所有文件的打开,关闭,复制,备份和重新安装等操作。2 数据库操作模块包括对本程序所使用的数据库的追加,查询,删除等操作。3 系统设置模块包括对本程序所使用的数据库的路径设置,用户安全设置等操作。4 帮助模块包括如何使用本系统的各类操作。第二套:系统功能分为两个模块,分别为文件操作和数据库操作。1 文件操作模块包括对系统所使用的各类文件的维护,以及报表的打印和系统的设置等操作。2 数据库操作模块包括对本程序所使用的所有数据库的添加,删除,修改,查询等操作。第三套:系统功能分为六个模块,分别为学生档案管理模块、学生成绩信息模块、学生学籍模块、教学计划设置模块.在这三套方案中,我选择了第三套方案为开发方案,原因如下:系统需求分析中要求的文件组成比较简单;本系统所需要的系统设置也比较少;而又由于需求分析中对查询功能的要求较多,所以需要着重于查询功能的设计;由于对录入的需要,本系统着眼于对单条记录的编辑。基于以上原理,结合需求分析阶段的数据流图、数据字典、系统功能结构图。设计出以下的模块和5个数据库表结构的设计。32、模块处理功能设计通过上一章的系统功能结构图我们可以看出系统分为三大模块:学生档案管理模块、学生成绩信息模块、学生学籍模块、教学计划设置模块。下面我将对每个模块的总体设计作简要说明。1 学生档案管理模块1)学生档案录入子模块学生入校时应该对学生的个人基本信息包括:姓名,性别,年龄,入学班级,学生入学前已经受到过何种奖励和处分。学生简历,已经学生家庭的部分信息录入。作为档案资料保存。该模块同时还应该完成对学生档案资料的修改,再编辑,删除。以及简单的顺序查询。2)学生档案资料的查询子模块学籍的管理工作多而且复杂,如果实现计算机对学籍管理,那么许多工作计算机实际上可以轻松完成。学生档案资料的查询就是这样。学生档案的查询是对数据库中的档案表中作为数据源来实现查询的。查询可以按照学生学籍号。或者学生姓名等不同的方式进行。3)学生档案资料的报表该模块完成对按照用户需要的查询条件的学生的档案记录输出打印出来。由于vb的报表功能还不是很完美。所以我们选择了报表专家excel这个工具作为过渡。也就是说我们可以先将查询的结果导出到excel。然后在excel的强大报表功能下去完成各种格式的报表。2 学生成绩管理模块1)学生成绩录入子模块该模块完成对学生在校期间每次考试的成绩做记载。该模块按照学生的学籍号,科目,考试时间,成绩进行录入。该模块同时还应该完成对学生成绩的修改,因为录入时可能写错。删除等操作。录入成绩时系统同时对录入的成绩进行判断,对大于等于60分的成绩,记录或者修改对应学籍号的学生的学分。学分是该生最后能否毕业合格的依据。具体的修改公式:学分学分+科目对应的学分。这里对应的学分依据教学计划科目对应的学分的设置。2)学生成绩的查询子模块学生查询子模块是本系统的查询模块中功能最强大的查询模块,该模块查询可以按照学生学籍号,姓名,考试时间等多个方面不同的条件值。不同的时间。对学生成绩进行查询。3)学生学分的查询子模块学生学分查询子模块是本系统的查询模块中功能最强大的查询模块,该模块查询可以按照学生学籍号,姓名,毕业级别,学分值的大小等多个方面不同的条件值。进行联合查询。学分值匹配的类型有“=,=,”。4)学生成绩,学分的报表子模块该模块完成对按照用户需要的查询条件的学生的成绩,学分记录输出打印出来。和学生档案资料的报表一样。我们同样选择了报表专家excel这个工具作为过渡。也就是说我们可以先将查询的结果导出到excel。然后在excel的强大报表功能下去完成各种格式的报表。3学生学籍信息模块1)学生基本信息导入子模块学生学籍信息模块主要实现学生信息包括学籍号、姓名、奖贷学金、学生异动、学生毕业去向等录入、修改、删除等管理操作。而学生学籍号、姓名已经在学生档案库里面有记录。所以该子模块完成对档案库里面的学生学籍号、姓名这些字段信息导入到学生学籍库来。而不必重新输入、减少工作量。同时也保证了不同库里面的信息完整性和一致性。导入后的学籍库里面的字段除了学籍号、姓名这二个字段有记录外。其他的字段暂时都是“无”。2)学生学籍库管理子模块该模块完成对学生学籍库的综合管理和维护。主要包括对学生的除了学籍号和姓名外的其他字段的维护。即:记录的定位、记录的修改、以及记录的表报。因为经过学籍库的导入模块的工作后。每个学生的除学籍号,姓名二个字段有记录外其他的都暂时没有具体的信息。它需要我们对学生进行动态的记录。所以需要我们对学生首先应该可以在数据库里面可以定位。然后可以对他们的资料可以修改。最后可以根据我们的需要对该记录报表打印。4:教学计划模块1) 教学计划编辑子模块:该模块主要完成对教学计划中的科目,学分设置。包括字段有:课程号,课程名,学分,年级,备注。编辑这些字段包括:对未注册的课程进行添加,对已经记录的课程可以进行对字段值的修改。删除。 2)教学计划查询报表子模块 该模块主要完成对满足用户查询条件的记录进行查询。查询可以是单一查询和联合查询,查询的字段可以是:学籍号,姓名,学分。对查询的结果可以导出到EXCEL最终实现报表打印。33、数据库表结构设计根据分析阶段得出的的结论,结合本系统对有关数据的存储的需要,更加方便实现该学籍管理开发系统的所有功能,现将本系统设计成6个数据库表,每个表的字段名、类型、宽度设计如下:1学生基本信息表:该表用来存放学生入学注册的个人基本信息。字段名类型宽度学号字符型10性别字符型2出生年月字符型10政治面目字符型10父母姓名字符型8联系电话字符型11家庭住址字符型30毕业级别字符型10设计说明:为方便编程以及人们工作习惯,这里将学号、出生年月、入学时间、联系电话等都设计成字符型。并根据实际需要设计了相应的宽度。2学生成绩表:该表用来存放学生在校期间的个人成绩信息。字段名类型宽度学号字符型10姓名字符型8科目数字型3成绩数字型3学期数字型33学生学籍表:用来存放学生在校期间的评语信息。字段名类型宽度学号字符型10姓名字符型10奖贷学金字符型10异动字符型8军训等级备注型0毕业去向备注型04:学生学分表用来存放学生学分信息。字段名类型宽度学号字符型10学分数字型105:教学计划表:用来存放教学信息。字段名类型宽度课程号字符型10课程名字符型10学分数字型2年级字符型10备注备注型4另外,系统还设置用户管理表。字段包括:用户帐号,用户密码,级别,联系电话。以上是本系统的库表结构的设计简要说明。第四章 应用系统实现按结构化的程序设计思想,在完成了系统分析、系统设计后,就可以进行系统实现阶段了,系统实现是每指把系统的物理模型转换成实际运行系统的全过程。其基本任务是:a) 前期准备b) 系统平台的安装与调试c) 程序的编制与调试d) 信息系统调试e) 数据库与文件的建立f) 系统转换g) 试运行、验收与维护41典型模块的实现: 1: 学生档案资料的录入子模块 1)运行时的窗体:2)控件和事件a)“网格”容器控件:显示档案柜中的数据信息。数据源设定为档案柜表的查询记录集。在窗体的装载事件load中用语句控制。语句是:adoPrimaryRS.Open select 学籍号,姓名,性别,出生年月,班级,家庭住址,父母姓名,联系电话,奖惩记载,学生简历 from xsda, db, adOpenStatic, adLockOptimistic Set DataGrid.DataSource = adoPrimaryRSb)“最首”按钮控件:click事件是将当前窗体中的网格控件中的信息和文本框控件中的信息指向数据库表查询记录集中的第一条记录。利用SQL语句实现在数据库中查询符合条件的所以记录,并在表单中的网格容器中用指针定位。同时文本框也显示相应的记录信息。如果无相应的记录,系统将给出提示。实现关键语句如下:adoPrimaryRS.MoveFirstText1.Text = adoPrimaryRS.Fields(学籍号) Text2.Text = adoPrimaryRS.Fields(姓名) Text3.Text = adoPrimaryRS.Fields(性别) Text4.Text = adoPrimaryRS.Fields(出生年月) Text5.Text = adoPrimaryRS.Fields(班级) Text6.Text = adoPrimaryRS.Fields(家庭住址) Text7.Text = adoPrimaryRS.Fields(父母姓名) Text8.Text = adoPrimaryRS.Fields(联系电话) Text9.Text = adoPrimaryRS.Fields(奖惩记载) Text10.Text = adoPrimaryRS.Fields(学生简历)c)“下一条”按钮控件:click事件是将网格中的,文本框中的信息同时指向当前记录的下一条记录。如果越界就给出已经是最后一条记录的提示,并将记录定位在最后一条记录。实现语句:adoPrimaryRS.MoveNextIf adoPrimaryRS.EOF ThenMsgBox (已经是第后一条记录了!)adoPrimaryRS.MoveLastElseText1.Text = adoPrimaryRS.Fields(学籍号) Text2.Text = adoPrimaryRS.Fields(姓名) Text3.Text = adoPrimaryRS.Fields(性别) Text4.Text = adoPrimaryRS.Fields(出生年月) Text5.Text = adoPrimaryRS.Fields(班级) Text6.Text = adoPrimaryRS.Fields(家庭住址) Text7.Text = adoPrimaryRS.Fields(父母姓名) Text8.Text = adoPrimaryRS.Fields(联系电话) Text9.Text = adoPrimaryRS.Fields(奖惩记载) Text10.Text = adoPrimaryRS.Fields(学生简历)End Ifd)“上一条” 按钮控件:click事件是将网格中的,文本框中的信息同时指向当前记录的上一条记录。如果越界就给出已经是第一条记录的提示,并将记录定位在第一条记录。实现语句:adoPrimaryRS.MovePreviousIf adoPrimaryRS.BOF ThenMsgBox (已经是第一条记录了!)adoPrimaryRS.MoveFirstElseText1.Text = adoPrimaryRS.Fields(学籍号) Text2.Text = adoPrimaryRS.Fields(姓名) Text3.Text = adoPrimaryRS.Fields(性别) Text4.Text = adoPrimaryRS.Fields(出生年月) Text5.Text = adoPrimaryRS.Fields(班级) Text6.Text = adoPrimaryRS.Fields(家庭住址) Text7.Text = adoPrimaryRS.Fields(父母姓名) Text8.Text = adoPrimaryRS.Fields(联系电话) Text9.Text = adoPrimaryRS.Fields(奖惩记载) Text10.Text = adoPrimaryRS.Fields(学生简历)End Ifd) “最末”按钮控件:click事件是将当前窗体中的网格控件中的信息和文本框控件中的信息指向数据库表查询记录集中的第后一条记录。利用SQL语句实现在数据库中查询符合条件的所以记录,并在表单中的网格容器中显示。如果无相应的记录,系统将给出提示。实现关键语句如下:adoPrimaryRS.MoveLastText1.Text = adoPrimaryRS.Fields(学籍号) Text2.Text = adoPrimaryRS.Fields(姓名) Text3.Text = adoPrimaryRS.Fields(性别) Text4.Text = adoPrimaryRS.Fields(出生年月) Text5.Text = adoPrimaryRS.Fields(班级) Text6.Text = adoPrimaryRS.Fields(家庭住址) Text7.Text = adoPrimaryRS.Fields(父母姓名) Text8.Text = adoPrimaryRS.Fields(联系电话) Text9.Text = adoPrimaryRS.Fields(奖惩记载) Text10.Text = adoPrimaryRS.Fields(学生简历)f) “添加”按钮控件:click事件是添加新的学生档案记录,实现的原理是对数据库查询的记录集添加一条新的记录,然后修给这条空记录的值,达到对数据库表中的学生档案记录添加的目的。实现的语句如下:adoPrimaryRS.AddNewadoPrimaryRS.Fields(学籍号) = Text1.TextadoPrimaryRS.Fields(姓名) = Text2.TextadoPrimaryRS.Updateh) “编辑”按钮控件:click事件是将记录集中当前记录在文本框中进行修改,然后更改记录集中相应的记录。来达到修改数据库中的记录的目的。和添加相比不需要adoPrimaryRS.AddNew这个语句。实现的主要语句是:adoPrimaryRS.Fields(学籍号) = Text1.TextadoPrimaryRS.Fields(姓名) = Text2.TextadoPrimaryRS.Updatei)“查找”按钮控件:click事件是激活查询窗体。语句是:Form2.Showj)“删除”按钮控件:click事件是删除当前记录。同时数据库记录指针指向当前记录的上一条记录。adoPrimaryRS.DeleteadoPrimaryRS.MovePreviousIf adoPrimaryRS.BOF ThenadoPrimaryRS.MoveFirstEnd IfText1.Text = adoPrimaryRS.Fields(学籍号) Text2.Text = adoPrimaryRS.Fields(姓名) Text3.Text = adoPrimaryRS.Fields(性别)h)“退出”按钮控件:click事件是释放当前窗体,返回主控系统。实现语句是:Unload Me2:档案信息查询子模块: 1)运行时的窗体: 2)控件和事件a)“网格”容器控件:显示学生档案数据库里面的中的数据信息。数据源设定为档案数据库的查询记录集。在窗体的装载事件load中用语句控制。装载时默认是所有记录。语句是:adoPrimaryRS.Open select 学籍号,姓名,性别,出生年月,班级,家庭住址,父母姓名,联系电话,奖惩记载,学生简历 from xsda, db, adOpenStatic, adLockOptimistic Set DataGrid1.DataSource = adoPrimaryRSb)“选择”按钮控件:click事件是将当前窗体中的文本控件中的关键字作为查询的关键字。查询可以是按照学生学籍号或者姓名。查询类别和关键字可以根据用户的需要设定。查询的结果显示在网格控件中。实现关键语句如下:a = Combo1.Text b = Text1.Text adoPrimaryRS.Open select 学籍号,姓名,性别,出生年月,班级,家庭住址,父母姓名,联系电话,奖惩记载,学生简历 from xsda where & a & like % & b & %, db, adOpenStatic, adLockOptimistic Set DataGrid1.DataSource = adoPrimaryRSc)“导出”按钮控件:click事件是将查询记录集中的的查询结果导出到报表专家excel中去。导出的实质就是将记录集中的记录用一个双循环作为excel的记录源。从而实现导出。实现语句:adoPrimaryRS.MoveFirst i = 0 Do While (adoPrimaryRS.EOF = False) For j = 0 To adoPrimaryRS.Fields.Count - 1 DataGrid1.Col = j xlsheet.Cells(i + 2, j + 1) = DataGrid1.Text Next j adoPrimaryRS.MoveNext i = i + 1 Loop导出到excel后的窗体如下:在excel环境下我们就可以根据用户的需要轻松制作出符合用户的各种表报。 3 学生成绩录入子模块:1)运行时的窗体:2)控件和事件控件包括4个文本框、5个按钮控件和一个网格控件。文本框完成对学生输入成绩的科目和时间的设定。对于同样科目同一考试时间的成绩的录入。这样设定后对于录入成绩很方便。每个记录输入后这2个文本框的信息是不改变的。还有2个文本框是录入学生学籍号和成绩。5个按钮控件分别是输入,修改,删除重新设定和退出。下面将对按钮控件做详细分析。网格控件默认的数据源是学生成绩库里面的所有数据。在装载时用语句实现:adoPrimaryRS.Open select 学籍号,姓名,科目,成绩,学期 from xscj, db, adOpenStatic, adLockOptimistic Set DataGrid1.DataSource = adoPrimaryRS下面对输入,修改,删除这三个按钮的事件和实现语句分析如下:a)“输入”按钮控件:click事件首先对学生档案库中的记录进行查询符合输入的学籍号记录。如果没有。则说明该生还没有注册。不能录入学生成绩。如果查到学生记录。则将学生的姓名,已经输入的成绩信息一同作为学生成绩添加的信息。它的实现语句是:a = 学籍号b = Text3.Text adoPrimaryRS1.Open select 学籍号,姓名 from xsda where & a & like % & b & %, db, adOpenStatic, adLockOptimistic If adoPrimaryRS1.EOF = True Then MsgBox (该生还未注册) Else Set adoPrimaryRS2 = New Recordseta = 学籍号b = Text3.Textc = 科目d = Text1.Texte = 学期f = Text2.Text adoPrimaryRS2.Open select 学籍号,姓名,科目,学期 from xscj where & a & like % & b & % and & c & like % & d & % and & e & like % & f & %, db, adOpenStatic, adLockOptimistic If adoPrimaryRS2.EOF = True Then adoPrimaryRS.AddNew2)“修改”按钮控件:网格开始的时候设定为不可编辑。现在对它的修改需要改变它的属性。click事件是将按钮名改成“保存”,增加了系统的交互性。同时使网格变得可编辑。 “保存” 按钮控件的click事件是将按钮名改成“修改”,此时使文本框变得不可编辑,修改完成后,网格容器控件中的数据自动更新。它的实现语句是: If Command4.Caption = 成绩修改 ThenCommand4.Caption = 保存DataGrid1.Enabled = TrueElseCommand4.Caption = 成绩修改DataGrid1.Enabled = FalseEnd If3)“删除”按钮控件:成绩库的记录有时候会输入出错。当然一般可以通过修改更正。但是有时候输入了一条完全没有意义的记录我们可以通过删除来完成整理数据库的目的。实现的语句如下:adoPrimaryRS.DeleteadoPrimaryRS.MovePreviousIf adoPrimaryRS.BOF ThenadoPrimaryRS.MoveFirst4 学生成绩查询子模块1)运行时的窗体:2)控件和事件该模块主要包括网格,文本框,按钮控件。网格默认的数据源是成绩库的所以记录。文本框用来设定和输入查询类别和查询关键字。查询可以从学籍号,姓名,班级,年级。以及考试时间等进行综合查询。即至少找到满足2个查询关键字的记录。导出按钮控件主要是将查询的结果导出到excel中。下面主要针对查询按钮作一个主要分析:实现的语句如下:a = Combo1.Text b = Text1.Text c = 学期 d = Text2.Text If Combo1.Text = 班级 Then adoPrimaryRS.Open select distinct 学籍号,姓名,科目,成绩,学期 from xscj where & c & like % & d & % and 学籍号 in (select 学籍号 from xsda where & a & like % & b & %), db, adOpenStatic, adLockOptimistic Else adoPrimaryRS.Open select distinct 学籍号,姓名,科目,成绩,学期 from xscj where & a & like % & b & % and & c & like % & d & %, db, adOpenStatic, adLockOptimistic End If Set DataGrid1.DataSource = adoPrimaryRS在查询中由于是综合查询。所以实现的语句用到了sql语句中的联合查询。具体的语句是:select distinct 学籍号,姓名,科目,成绩,学期 from xscj where & c & like % & d & % and 学籍号 in (select 学籍号 from xsda where & a & like % & b & %)4:学生学籍导入子模块:学生学籍里面的学籍号,姓名这些字段的信息不必专门输入。为了高效率和为了与档案记录的一致性我们可以首先将档案库的所有记录首先作为数据源显示在如下窗体的左边的档案网格中。然后将该网格的数据作为右边学籍库的数据源导入。同时对学籍库的其他字段自动设定为无。等以后随着学生的求学过程。我们可以动态的进行修改。导入按钮的click控件的源代码是:For i = 0 To DataGrid1.VisibleRows - 1DataGrid1.Row = iDataGrid1.Col = 0 If adoPrimaryRS.EOF = True Then adoPrimaryRS.AddNewadoPrimaryRS.Fields(学籍号) = DataGrid1.TextDataGrid1.Col = 1adoPrimaryRS.Fields(姓名) = DataGrid1.TextadoPrimaryRS.Fields(奖贷学金) = 无adoPrimaryRS.Fields(异动) = 无adoPrimaryRS.Fields(军训等级) = 无adoPrimaryRS.Fields(毕业去向) = 无Else adoPrimaryRS.MoveFirst Do While (adoPrimaryRS.EOF = False) If adoPrimaryRS.Fields(学籍号) = DataGrid1.Text Then Exit Do End If adoPrimaryRS.MoveNext Loop If adoPrimaryRS.EOF = True Then adoPrimaryRS.AddNewadoPrimaryRS.Fields(学籍号) = DataGrid1.TextDataGrid1.Col = 1adoPrimaryRS.Fields(姓名) = DataGrid1.TextadoPrimaryRS.Fields(奖贷学金) = 无adoPrimaryRS.Fields(异动) = 无adoPrimaryRS.Fields(军训等级) = 无adoPrimaryRS.Fields(毕业去向) = 无 End IfEnd IfNext i对于档案网格中的数据利用循环实现导入。对于档案网格中的数据每读一条数据。在学生学籍库网格相应的记录集中就增加一条记录。 6)学籍管理子模块:该模块包括一个文本框控件。一个网格控件。和4个按钮控件。文本框控件用于定位记录输入学籍号。网格控件默认的数据源是所有的学生学籍库信息。对于信息的修改是通过修改最初设定网格的默认属性为不能编辑这个属性来实现的。其中的修改的click的源代码是:If Command2.Caption = 修改 ThenCommand2.Caption = 保存DataGrid1.Enabled = TrueElseCommand2.Caption = 修改DataGrid1.Enabled = False对于从众多的数据中来修改数据还要用到数据的定位功能。这里用“确定”按钮的click事件实现。语句如下:adoPrimaryRS.MoveFirstDo While (adoPrimaryRS.Fields(学籍号) Text1.Text)adoPrimaryRS.MoveNextLoop分析源代码:这里定位是用一个循环语句实现。循环的结束的条件是学籍号等于查询关键字。42系统菜单设计一个菜单系统,一般要经过几个步骤:菜单系统的规划,建立菜单与子菜单,把任务分配到菜单系统中,生成菜单程序,测试和运行菜单系统等,VB6.0是通过设计窗体来完成菜单的设计界面的,本系统设计的菜单运行如下:各个菜单项的click事件代码如下:Private Sub cjcx_Click()Form4.ShowEnd SubPrivate Sub cjlr_Click()Form3.ShowEnd SubPrivate Sub dacx_Click()Form2.ShowEnd SubPrivate Sub dalr_Click()Form1.ShowEnd SubPrivate Sub Form_Load()Left = (Screen.Width - Width) 2Top = (Screen.Height - Height) 2End SubPrivate Sub tc_Click()Unload MeEnd SubPrivate Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)Select Case Button.KeyCase key1Form1.ShowCase key2Form2.ShowCase key3Form3.ShowCase key4Form4.ShowCase key5Form5.ShowCase key6Form6.ShowCase key7Unload MeEnd SelectEnd SubPrivate Sub xjgl_Click()Form6.ShowEnd SubPrivate Sub zldr_Click()Form5.ShowEnd Sub其中的Left = (Screen.Width - Width) 2Top = (Screen.Height - Height) 2是控制窗体在屏幕中的位置居中。总 结 经过多日来的努力学籍管理系统终于完成了。回顾这次毕业设计的过程,我觉得收获很大,现借撰写论文总结的机会,谈一谈我的体会。通过这次毕业设计,我掌握了一种新的数据库系统开发工具Visual Basic6.0。我对于它具有的可视化的编程环境和连接数据库的便捷性用感触颇深,Visual Basic6.0这些数据库的连接提供了多种方法。比如DATA控件对初学着就非常容易掌握,当然利用语句对数据库的连接就可以实现对数据库的高级应用。Visual Basic6.0这种面向对象的数据库开发工具提供了窗体这种户非常友好的交互方式。利用设计好的窗体据库的记录进行操作,不但使用户更清楚记录的具体变更情况,也使开发人员的工作轻松了许多。同时,在这次毕业设计过程中,我始终遵循软件工程的思想,这使我的工作进度明显加快,也使我少走了不少弯路。软件工程的思想,指导我一步一步从系统分析,到系统设计,再到系统实现,让我对整个系统的开发过程有了明显的全局观念,也合理地安排了整个设计的时间。以上是我在本次毕业设计中的体会,也许认识到的问题还很肤浅,这也正是我今后要努力提高的。致 谢在本次毕业设计的过程中,老师们给了我很大的帮助。不仅使我在规定的时间内完成了系统的设计,同时还使我学到了很多有益的经验。在此, 我谨向他表示最衷心的感谢。同时,学校给了我这次毕业设计的机会,使我得到了很好的锻炼,在此,我也向学校的各位老师表示最诚挚的感谢。主要参考文献1、Visual Basic 6使用指南 田金兰等 电子工业出版社 2002年出版2、Visual Basic 6数据库访问技术Jeffrey 机械工业出版社 2003年出版3、软件开发技术 潘锦平 西安电子科技大学出版社1999年出版4、数据库系统概论 王珊、萨师宣 高等教育出版社 2001年出版5、如何使用Visual Basic 6.0中文版 机械工业出版社 2001年出版 6、中文Visual Basic 6.0实用教程北京希望电脑公司希望电子出版社附录:1:学生档案子模块的源代码:Dim WithEvents adoPrimaryRS As RecordsetDim WithEvents adoPrimaryRS1 As RecordsetPrivate Sub Command1_Click()adoPrimaryRS.MoveFirstText1.Text = adoPrimaryRS.Fields(学籍号) Text2.Text = adoPrimaryRS.Fields(姓名) Text3.Text = adoPrimaryRS.Fields(性别) Text4.Text = adoPrimaryRS.Fields(出生年月) Text5.Text = adoPrimaryRS.Fields(班级) Text6.Text = adoPrimaryRS.Fields(家庭住址) Text7.Text = adoPrimaryRS.Fields(父母姓名) Text8.Text = adoPrimaryRS.Fields(联系电话) Text9.Text = adoPrimaryRS.Fields(奖惩记载) Text10.Text = adoPrimaryRS.Fields(学生简历) Text11.Text = adoPrimaryRS.Fields(毕业级别)End SubPrivate Sub Command2_Click()adoPrimaryRS.MoveNextIf adoPrimaryRS.EOF ThenMsgBox (已经是第后一条记录了!)adoPrimaryRS.MoveLastElseText1.Text = adoPrimaryRS.Fields(学籍号) Text2.Text = adoPrimaryRS.Fields(姓名) Text3.Text = adoPrimaryRS.Fields(性别) Text4.Text = adoPrimaryRS.Fields(出生年月) Text5.Text = adoPrimaryRS.Fields(班级) Text6.Text = adoPrimaryRS.Fields(家庭住址) Text7.Text = adoPrimaryRS.Fields(父母姓名) Text8.Text = adoPrimaryRS.Fields(联系电话) Text9.Text = adoPrimaryRS.Fields(奖惩记载) Text10.Text = adoPrimaryRS.Fields(学生简历) Text11.Text = adoPrimaryRS.Fields(毕业级别)End IfEnd SubPrivate Sub Command3_Click()adoPrimaryRS.MovePreviousIf adoPrimaryRS.BOF ThenMsgBox (已经是第一条记录了!)adoPrimaryRS.MoveFirstElseText1.Text = adoPrimaryRS.Fields(学籍号) Text2.Text = adoPrimaryRS.Fields(姓名) Text3.Text = adoPrimaryRS.Fields(性别) Text4.Text = adoPrimaryRS.Fields(出生年月) Text5.Text = adoPrimaryRS.Fields(班级) Text6.Text = adoPrimaryRS.Fields(家庭住址) Text7.Text = adoPrimaryRS.Fields(父母姓名) Text8.Text = adoPrimaryRS.Fields(联系电话) Text9.Text = adoPrimaryRS.Fields(奖惩记载) Text10.Text = adoPrimaryRS.Fields(学生简历) Text11.Text = adoPrimaryRS.Fields(毕业级别)End IfEnd SubPrivate Sub Command4_Click()adoPrimaryRS.MoveLastText1.Text = adoPrimaryRS.Fields(学籍号) Text2.Text = adoPrimaryRS.Fields(姓名) Text3.Text = adoPrimaryRS.Fields(性别) Text4.Text = adoPrimaryRS.Fields(出生年月) Text5.Text = adoPrimaryRS.Fields(班级) Text6.Text = adoPrimaryRS.Fields(家庭住址) Text7.Text = adoPrimaryRS.Fields(父母姓名) Text8.Text = adoPrimaryRS.Fields(联系电话) Text9.Text = adoPrimaryRS.Fields(奖惩记载) Text10.Text = adoPrimaryRS.Fields(学生简历) Text11.Text = adoPrimaryRS.Fields(毕业级别)End SubPrivate Sub Command6_Click()If Command6.Caption = 编辑 ThenCommand6.Caption = 更新Text1.Enabled = TrueText2.Enabled = TrueText3.Enabled = TrueText4.Enabled = TrueText5.Enabled = TrueText6.Enabled = TrueText7.Enabled = TrueText8.Enabled = TrueText9.Enabled = TrueText10.Enabled = TrueText11.Enabled = TrueElseCommand6.Caption = 编辑adoPrimaryRS.Fields(学籍号) = Text1.TextadoPrimaryRS.Fields(姓名) = Text2.TextadoPrimaryRS.Fields(性别) = Text3.TextadoPrimaryRS.Fields(出生年月) = Text4.TextadoPrimaryRS.Fields(班级) = Text5.TextadoPrimaryRS.Fields(家庭住址) = Text6.TextadoPrimaryRS.Fields(父母姓名) = Text7.TextadoPrimaryRS.Fields(联系电话) = Text8.TextadoPrimaryRS.Fields(奖惩记载) = Text9.TextadoPrimaryRS.Fields(学生简历) = Text10.TextadoPrimaryRS.Fields(毕业级别) = Text11.TextadoPrimaryRS.UpdateText1.Enabled = FalseText2.Enabled = FalseText3.Enabled = FalseText4.Enabled = FalseText5.Enabled = FalseText6.Enabled = FalseText7.Enabled = FalseText8.Enabled = FalseText9.Enabled = FalseText10.Enabled = FalseText11.Enabled = FalseEnd IfEnd SubPrivate Sub Command7_Click()adoPrimaryRS.DeleteadoPrimaryRS.MovePreviousIf adoPrimaryRS.BOF ThenadoPrimaryRS.MoveFirstEnd IfText1.Text = adoPrimaryRS.Fields(学籍号) Text2.Text = adoPrimaryRS.Fields(姓名) Text3.Text = adoPrimaryRS.Fields(性别) Text4.Text = adoPrimaryRS.Fields(出生年月) Text5.Text = adoPrimaryRS.Fields(班级) Text6.Text = adoPrimaryRS.Fields(家庭住址) Text7.Text = adoPrimaryRS.Fields(父母姓名) Text8.Text = adoPrimaryRS.Fields(联系电话) Text9.Text = adoPrimaryRS.Fields(奖惩记载) Text10.Text = adoPrimaryRS.Fields(学生简历) Text11.Text = adoPrimaryRS.Fields(毕业级别)End SubPrivate Sub Command8_Click()Form2.ShowEnd SubPrivate Sub Command9_Click()Unload MeEnd SubPrivate Sub DataGrid_Click()Text1.Text = adoPrimaryRS.Fields(学籍号) Text2.Text = adoPrimaryRS.Fields(姓名) Text3.Text = adoPrimaryRS.Fields(性别) Text4.Text = adoPrimaryRS.Fields(出生年月) Text5.Text = adoPrimaryRS.Fields(班级) Text6.Text = adoPrimaryRS.Fields(家庭住址) Text7.Text = adoPrimaryRS.Fields(父母姓名) Text8.Text = adoPrimaryRS.Fields(联系电话) Text9.Text = adoPrimaryRS.Fields(奖惩记载) Text10.Text = adoPrimaryRS.Fields(学生简历) Text11.Text = adoPrimaryRS.Fields(毕业级别)End SubPrivate Sub Form_Load()Left = (Screen.Width - Width) 2Top = (Screen.Height - Height) 2 Dim db As Connection Set db = New Connection db.CursorLocation = adUseClient db.Open PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source=xjgl.mdb; Set adoPrimaryRS = New Recordset adoPrimaryRS.Open select * from xsda, db, adOpenStatic, adLockOptimistic Set DataGrid.DataSource = adoPrimaryRS If adoPrimaryRS.EOF Then Text1.Text = Text2.Text = Text3.Text = Text4.Text = Text5.Text = Text6.Text = Text7.Text = Text8.Text = Text9.Text = Text10.Text = Text11.Text = Else Text1.Text = adoPrimaryRS.Fields(学籍号) Text2.Text = adoPrimaryRS.Fields(姓名) Text3.Text = adoPrimaryRS.Fields(性别) Text4.Text = adoPrimaryRS.Fields(出生年月) Text5.Text = adoPrimaryRS.Fields(班级) Text6.Text = adoPrimaryRS.Fields(家庭住址) Text7.Text = adoPrimaryRS.Fields(父母姓名) Text8.Text = adoPrimaryRS.Fields(联系电话) Text9.Text = adoPrimaryRS.Fields(奖惩记载) Text10.Text = adoPrimaryRS.Fields(学生简历) Text11.Text = adoPrimaryRS.Fields(毕业级别) End If mbDataChanged = FalseEnd SubPrivate Sub Command5_Click()If Command5.Caption = 添加 ThenCommand1.SetFocusCommand5.Caption = 保存Text1.Enabled = TrueText2.Enabled = TrueText3.Enabled = TrueText4.Enabled = TrueText5.Enabled = TrueText6.Enabled = TrueText7.Enabled = TrueText8.Enabled = TrueText9.Enabled = TrueText10.Enabled = TrueText11.Enabled = TrueText1.SetFocusText1.Text = Text2.Text = Text3.Text = Text4.Text = Text5.Text = Text6.Text = Text7.Text = Text8.Text = Text9.Text = Text10.Text = Text11.Text = ElseIf Text1.Text = ThenMsgBox (学籍号不能为空!)Exit SubEnd IfIf Text2.Text = ThenMsgBox (姓名不能为空!)Exit SubEnd IfIf Text3.Text = ThenMsgBox (性别不能为空!)Exit SubEnd IfIf Text4.Text = ThenMsgBox (班级不能为空!)Exit SubEnd IfIf Text5.Text = ThenMsgBox (出生年月不能为空!)Exit SubEnd IfIf Text6.Text = ThenMsgBox (家庭住址不能为空!)Exit SubEnd IfIf Text7.Text = ThenMsgBox (父母姓名不能为空!)Exit SubEnd IfIf Text8.Text = ThenMsgBox (联系电话不能为空!)Exit SubEnd IfIf Text9.Text = ThenMsgBox (奖惩记载不能为空!)Exit SubEnd IfIf Text10.Text = ThenMsgBox (学生简历不能为空!)Exit SubEnd IfIf Text11.Text = ThenMsgBox (毕业级别不能为空!)Exit SubEnd IfadoPrimaryRS.AddNewadoPrimaryRS.Fields(学籍号) = Text1.TextadoPrimaryRS.Fields(姓名) = Text2.TextadoPrimaryRS.Fields(性别) = Text3.TextadoPrimaryRS.Fields(班级) = Text4.TextadoPrimaryRS.Fields(出生年月) = Text5.TextadoPrimaryRS.Fields(家庭住址) = Text6.TextadoPrimaryRS.Fields(父母姓名) = Text7.TextadoPrimaryRS.Fields(联系电话) = Text8.TextadoPrimaryRS.Fields(奖惩记载) = Text9.TextadoPrimaryRS.Fields(学生简历) = Text10.TextadoPrimaryRS.Fields(毕业级别) = Text11.TextadoPrimaryRS.UpdateCommand5.Caption = 添加Text1.Enabled = FalseText2.Enabled = FalseText3.Enabled = FalseText4.Enabled = FalseText5.Enabled = FalseText6.Enabled = FalseText7.Enabled = FalseText8.Enabled = FalseText9.Enabled = FalseText10.Enabled = FalseText11.Enabled = False Dim db As Connection Set db = New Connection db.CursorLocation = adUseClient db.Open PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source=xjgl.mdb;Set adoPrimaryRS1 = New Recordset adoPrimaryRS1.Open select 学籍号,姓名,奖贷学金,异动,军训等级,毕业去向 from xsxj, db, adOpenStatic, adLockOptimistic adoPrimaryRS1.AddNew adoPrimaryRS1.Fields(学籍号) = Text1.TextadoPrimaryRS1.Fields(姓名) = Text2.TextadoPrimaryRS1.Fields(奖贷学金) = 无adoPrimaryRS1.Fields(异动) = 无adoPrimaryRS1.Fields(军训等级) = 无adoPrimaryRS1.Fields(毕业去向) = 无adoPrimaryRS1.UpdateEnd IfEnd Sub2:学生档案资料查询报表窗体的源代码Dim WithEvents adoPrimaryRS As RecordsetPrivate Sub Combo1_Click()Text1.Text = End SubPrivate Sub Command1_Click()Dim db As Connection Set db = New Connection db.CursorLocation = adUseClient db.Open PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source=xjgl.mdb; Set adoPrimaryRS = New Recordset a = Combo1.Text b = Text1.Text adoPrimaryRS.Open select 学籍号,姓名,性别,出生年月,班级,家庭住址,父母姓名,联系电话,毕业级别,奖惩记载,学生简历 from xsda where & a & like % & b & %, db, adOpenStatic, adLockOptimistic Set DataGrid1.DataSource = adoPrimaryRSEnd SubPrivate Sub Command2_Click()Dim i As Integer, j As Integer Dim xlapp As Excel.Application Dim xlbook As Excel.Workbook Dim xlsheet As Excel.Worksheet Set xlapp = CreateObject(excel.application) xlapp.Visible = True Set xlbook = xlapp.Workbooks.Add Set xlsheet = xlbook.Worksheets(1) xlsheet.Cells(1, 1) = 学籍号 xlsheet.Cells(1, 2) = 姓名 xlsheet.Cells(1, 3) = 性别 xlsheet.Cells(1, 4) = 出生年月 xlsheet.Cells(1, 5) = 班级 xlsheet.Cells(1, 6) = 家庭住址 xlsheet.Cells(1, 7) = 父母姓名 xlsheet.Cells(1, 8) = 联系电话 xlsheet.Cells(1, 9) = 毕业级别 xlsheet.Cells(1, 10) = 奖惩记载 xlsheet.Cells(1, 11) = 学生简历 adoPrimaryRS.MoveFirst i = 0 Do While (adoPrimaryRS.EOF = False) For j = 0 To adoPrimaryRS.Fields.Count - 1 DataGrid1.Col = j xlsheet.Cells(i + 2, j + 1) = DataGrid1.Text Next j adoPrimaryRS.MoveNext i = i + 1 Loop Set xlapp = Nothing Set xlbook = NothingEnd SubPrivate Sub Command3_Click()Unload MeEnd SubPrivate Sub Form_Load()Left = (Screen.Width - Width) 2Top = (Screen.Height - Height) 2 Dim db As Connection Set db = New Connection db.CursorLocation = adUseClient db.Open PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source=xjgl.mdb; Set adoPrimaryRS = New Recordset adoPrimaryRS.Open select 学籍号,姓名,性别,出生年月,班级,家庭住址,父母姓名,联系电话,毕业级别,奖惩记载,学生简历 from xsda, db, adOpenStatic, adLockOptimistic Set DataGrid1.DataSource = adoPrimaryRS mbDataChanged = FalseEnd Sub3:学生成绩的录入窗体的源代码:Dim WithEvents adoPrimaryRS As RecordsetDim WithEvents adoPrimaryRS1 As RecordsetDim WithEvents adoPrimaryRS2 As RecordsetDim WithEvents adoPrimaryRS3 As RecordsetDim WithEvents adoPrimaryRS4 As RecordsetPrivate Sub Command1_Click() Dim db As Connection Set db = New Connection db.CursorLocation = adUseClient db.Open PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source=xjgl.mdb; Set adoPrimaryRS1 = New Recordseta = 学籍号b = Text3.Text adoPrimaryRS1.Open select 学籍号,姓名 from xsda where & a & like % & b & %, db, adOpenStatic, adLockOptimistic If adoPrimaryRS1.EOF = True Then MsgBox (该生还未注册) Else Set adoPrimaryRS2 = New Recordseta = 学籍号b = Text3.Textc = 科目d = Text1.Texte = 学期f = Text2.Text adoPrimaryRS2.Open select 学籍号,姓名,科目,学期 from xscj where & a & like % & b & % and & c & like % & d & % and & e & like % & f & %, db, adOpenStatic, adLockOptimistic If adoPrimaryRS2.EOF = True Then adoPrimaryRS.AddNewadoPrimaryRS.Fields(学籍号) = Text3.TextadoPrimaryRS.Fields(姓名) = adoPrimaryRS1.Fields(姓名)adoPrimaryRS.Fields(科目) = Text1.TextadoPrimaryRS.Fields(成绩) = Text4.TextadoPrimaryRS.Fields(学期) = Text2.TextadoPrimaryRS.UpdateIf Text4.Text = 60 Then Set adoPrimaryRS3 = New Recordset adoPrimaryRS3.Open select * from jxjh where 课程名= & d & , db, adOpenStatic, adLockOptimistic Set adoPrimaryRS4 = New Recordset adoPrimaryRS4.Open select * from xf where 学籍号= & b & , db, adOpenStatic, adLockOptimistic If adoPrimaryRS4.EOF = True Then adoPrimaryRS4.AddNew adoPrimaryRS4.Fields(学籍号) = Text3.Text adoPrimaryRS4.Fields(学分) = adoPrimaryRS3.Fields(学分) adoPrimaryRS4.Update Else adoPrimaryRS4.Fields(学分) = adoPrimaryRS4.Fields(学分) + adoPrimaryRS3.Fields(学分) adoPrimaryRS4.Update End IfEnd If Else MsgBox (该生该科成绩已经录入) End IfEnd If Text3.Text = Text4.Text = End SubPrivate Sub Command3_Click()Unload MeEnd SubPrivate Sub Command4_Click()If Command4.Caption = 成绩修改 ThenCommand4.Caption = 保存DataGrid1.Enabled = TrueElseCommand4.Caption = 成绩修改DataGrid1.Enabled = FalseEnd IfEnd SubPrivate Sub Command5_Click()adoPrimaryRS.DeleteadoPrimaryRS.MovePreviousIf adoPrimaryRS.BOF ThenadoPrimaryRS.MoveFirstEnd IfEnd SubPrivate Sub Form_Load()Left = (Screen.Width - Width) 2Top = (Screen.Height - Height) 2 Dim db As Connection Set db = New Connection db.CursorLocation = adUseClient db.Open PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source=xjgl.mdb;Set adoPrimaryRS = New Recordset adoPrimaryRS.Open select 学籍号,姓名,科目,成绩,学期 from xscj, db, adOpenStatic, adLockOptimistic Set DataGrid1.DataSource = adoPrimaryRS mbDataChanged = FalseEnd Sub4:学生成绩查询窗体的源代码:Dim WithEvents adoPrimaryRS As RecordsetPrivate Sub Combo1_Click()Text1.Text = End SubPrivate Sub Command1_Click()Dim db As Connection Set db = New Connection db.CursorLocation = adUseClient db.Open PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source=xjgl.mdb; Set adoPrimaryRS = New Recordset a = Combo1.Text b = Text1.Text c = 学期 d = Text2.Text If Combo1.Text = 班级 Then adoPrimaryRS.Open select distinct 学籍号,姓名,科目,成绩,学期 from xscj where & c & like % & d & % and 学籍号 in (select 学籍号 from xsda where & a & like % & b & %), db, adOpenStatic, adLockOptimistic Else adoPrimaryRS.Open select distinct 学籍号,姓名,科目,成绩,学期 from xscj where & a & like % & b & % and & c & like % & d & %, db, adOpenStatic, adLockOptimistic End If Set DataGrid1.DataSource = adoPrimaryRSEnd SubPrivate Sub Command2_Click()Dim i As Integer, j As Integer Dim xlapp As Excel.Application Dim xlbook As Excel.Workbook Dim xlsheet As Excel.Worksheet Set xlapp = CreateObject(excel.application) xlapp.Visible = True Set xlbook = xlapp.Workbooks.Add Set xlsheet = xlbook.Worksheets(1) xlsheet.Cells(1, 1) = 学籍号 xlsheet.Cells(1, 2) = 姓名 xlsheet.Cells(1, 3) = 科目 xlsheet.Cells(1, 4) = 成绩 xlsheet.Cells(1, 5) = 学期 adoPrimaryRS.MoveFirst i = 0 Do While (adoPrimaryRS.EOF = False) For j = 0 To adoPrimaryRS.Fields.Count - 1 DataGrid1.Col = j xlsheet.Cells(i + 2, j + 1) = DataGrid1.Text Next j adoPrimaryRS.MoveNext i = i + 1 Loop Set xlapp = Nothing Set xlbook = NothingEnd SubPrivate Sub Command3_Click()Unload MeEnd SubPrivate Sub Form_Load()Left = (Screen.Width - Width) 2Top = (Screen.Height - Height) 2 Dim db As Connection Set db = New Connection db.CursorLocation = adUseClient db.Open PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source=xjgl.mdb; Set adoPrimaryRS = New Recordset adoPrimaryRS.Open select 学籍号,姓名,科目,成绩,学期 from xscj, db, adOpenStatic, adLockOptimistic Set DataGrid1.DataSource = adoPrimaryRS mbDataChanged = FalseEnd SubPrivate Sub Text1_Click()Text2.Text = End Sub5:学籍库导入窗体源代码:Dim WithEvents adoPrimaryRS As RecordsetPrivate Sub Command2_Click()Unload MeEnd SubPrivate Sub Command1_Click()For i = 0 To DataGrid1.VisibleRows - 1DataGrid1.Row = iDataGrid1.Col = 0 If adoPrimaryRS.EOF = True Then adoPrimaryRS.AddNewadoPrimaryRS.Fields(学籍号) = DataGrid1.TextDataGrid1.Col = 1adoPrimaryRS.Fields(姓名) = DataGrid1.TextadoPrimaryRS.Fields(奖贷学金) = 无adoPrimaryRS.Fields(异动) = 无adoPrimaryRS.Fields(军训等级) = 无adoPrimaryRS.Fields(毕业去向) = 无Else adoPrimaryRS.MoveFirst Do While (adoPrimaryRS.EOF = False) If adoPrimaryRS.Fields(学籍号) = DataGrid1.Text Then Exit Do End If adoPrimaryRS.MoveNext Loop If adoPrimaryRS.EOF = True Then adoPrimaryRS.AddNewadoPrimaryRS.Fields(学籍号) = DataGrid1.TextDataGrid1.Col = 1adoPrimaryRS.Fields(姓名) = DataGrid1.TextadoPrimaryRS.Fields(奖贷学金) = 无adoPrimaryRS.Fields(异动) = 无adoPrimaryRS.Fields(军训等级) = 无adoPrimaryRS.Fields(毕业去向) = 无 End IfEnd IfNext iEnd SubPrivate Sub Form_Load()Left = (Screen.Width - Width) 2Top = (Screen.Height - Height) 2 Dim db As Connection Set db = New Connection db.CursorLocation = adUseClient db.Open PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source=xjgl.mdb;Set adoPrimaryRS = New Recordset adoPrimaryRS.Open select 学籍号,姓名 from xsda, db, adOpenStatic, adLockOptimistic Set DataGrid1.DataSource = adoPrimaryRSSet adoPrimaryRS = New Recordset adoPrimaryRS.Open select 学籍号,姓名,奖贷学金,异动,军训等级,毕业去向 from xsxj, db, adOpenStatic, adLockOptimistic Set DataGrid2.DataSource = adoPrimaryRS mbDataChanged = FalseEnd Sub6:学籍信息维护窗体源代码:Dim WithEvents adoPrimaryRS As RecordsetPrivate Sub Command1_Click()adoPrimaryRS.MoveFirstDo While (adoPrimaryRS.Fields(学籍号) Text1.Text)adoPrimaryRS.MoveNextLoopEnd SubPrivate Sub Command2_Click()If Command2.Caption = 修改 ThenCommand2.Caption = 保存DataGrid1.Enabled = TrueElseCommand2.Caption = 修改DataGrid1.Enabled = FalseEnd IfEnd SubPrivate Sub Command3_Click()Unload MeEnd SubPrivate Sub Command4_Click()Dim i As Integer, j As Integer Dim xlapp As Excel.Application Dim xlbook As Excel.Workbook Dim xlsheet As Excel.Worksheet Set xlapp = CreateObject(excel.application) xlapp.Visible = True Set xlbook = xlapp.Workbooks.Add Set xlsheet = xlbook.Worksheets(1) xlsheet.Cells(1, 1) = 学籍号 xlsheet.Cells(1, 2) = 姓名 xlsheet.Cells(1, 3) = 奖贷学金 xlsheet.Cells(1, 4) = 异动 xlsheet.Cells(1, 5) = 军训等级 xlsheet.Cells(1, 6) = 毕业去向 For j = 0 To adoPrimaryRS.Fields.Count - 1 xlsheet.Cells(i + 2, j + 1) = DataGrid1.Text Next j Set xlapp = Nothing Set xlbook = NothingEnd SubPrivate Sub Form_Load()Left = (Screen.Width - Width) 2Top = (Screen.Height - Height) 2 Dim db As Connection Set db = New Connection db.CursorLocation = adUseClient db.Open PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source=xjgl.mdb;Set adoPrimaryRS = New Recordset adoPrimaryRS.Open select 学籍号,姓名,奖贷学金,异动,军训等级,毕业去向 from xsxj, db, adOpenStatic, adLockOptimistic Set DataGrid1.DataSource = adoPrimaryRS mbDataChanged = FalseEnd Sub7:教学计划编辑窗体源代码:Dim WithEvents adoPrimaryRS As RecordsetPrivate Sub Command1_Click()adoPrimaryRS.MoveFirst Text1.Text = adoPrimaryRS.Fields(课程号) Text2.Text = adoPrimaryRS.Fields(课程名) Text3.Text = adoPrimaryRS.Fields(年级) Text4.Text = adoPrimaryRS.Fields(学分) Text5.Text = adoPrimaryRS.Fields(备注)End SubPrivate Sub Command2_Click()adoPrimaryRS.MovePreviousIf adoPrimaryRS.BOF ThenMsgBox (已经是第一条记录了!)adoPrimaryRS.MoveFirstElse Text1.Text = adoPrimaryRS.Fields(课程号) Text2.Text = adoPrimaryRS.Fields(课程名) Text3.Text = adoPrimaryRS.Fields(年级) Text4.Text = adoPrimaryRS.Fields(学分) Text5.Text = adoPrimaryRS.Fields(备注)End IfEnd SubPrivate Sub Command3_Click()adoPrimaryRS.MoveNextIf adoPrimaryRS.EOF ThenMsgBox (已经是第后一条记录了!)adoPrimaryRS.MoveLastElse Text1.Text = adoPrimaryRS.Fields(课程号) Text2.Text = adoPrimaryRS.Fields(课程名) Text3.Text = adoPrimaryRS.Fields(年级) Text4.Text = adoPrimaryRS.Fields(学分) Text5.Text = adoPrimaryRS.Fields(备注)End IfEnd SubPrivate Sub Command4_Click()adoPrimaryRS.MoveLast Text1.Text = adoPrimaryRS.Fields(课程号) Text2.Text = adoPrimaryRS.Fields(课程名) Text3.Text = adoPrimaryRS.Fields(年级) Text4.Text = adoPrimaryRS.Fields(学分) Text5.Text = adoPrimaryRS.Fields(备注)End SubPrivate Sub Command5_Click()If Command5.Caption = 修改 ThenCommand5.Caption = 保存Text1.Enabled = TrueText2.Enabled = TrueText3.Enabled = TrueText4.Enabled = TrueText5.Enabled = TrueText1.SetFocusElseCommand5.Caption = 修改adoPrimaryRS.Fields(课程号) = Text1.TextadoPrimaryRS.Fields(课程名) = Text2.TextadoPrimaryRS.Fields(年级) = Text3.TextadoPrimaryRS.Fields(学分) = Text4.TextadoPrimaryRS.Fields(备注) = Text5.TextadoPrimaryRS.UpdateText1.Enabled = FalseText2.Enabled = FalseText3.Enabled = FalseText4.Enabled = FalseText5.Enabled = FalseEnd IfEnd SubPrivate Sub Command6_Click()If Command6.Caption = 添加 ThenCommand6.Caption = 保存Text1.Enabled = TrueText2.Enabled = TrueText3.Enabled = TrueText4.Enabled = TrueText5.Enabled = TrueText1.SetFocusText1.Text = Text2.Text = Text3.Text = Text4.Text = Text5.Text = ElseIf Text1.Text = ThenMsgBox (请填写课程号!)Exit SubEnd IfIf Text2.Text = ThenMsgBox (请填写课程名称!)Exit SubEnd IfIf Text3.Text = ThenMsgBox (请填写年级!)Exit SubEnd IfIf Text4.Text = ThenMsgBox (请填写学分!)Exit SubEnd IfIf Text5.Text = ThenMsgBox (请填写备注!)Exit SubEnd IfadoPrimaryRS.AddNewadoPrimaryRS.Fields(课程号) = Text1.TextadoPrimaryRS.Fields(课程名) = Text2.TextadoPrimaryRS.Fields(年级) = Text3.TextadoPrimaryRS.Fields(学分) = Text4.TextadoPrimaryRS.Fields(备注) = Text5.TextadoPrimaryRS.UpdateCommand6.Caption = 添加Text1.Enabled = FalseText2.Enabled = FalseText3.Enabled = FalseText4.Enabled = FalseText5.Enabled = FalseEnd IfEnd SubPrivate Sub Command7_Click()adoPrimaryRS.DeleteadoPrimaryRS.MovePreviousIf adoPrimaryRS.BOF ThenadoPrimaryRS.MoveFirstEnd If Text1.Text = adoPrimaryRS.Fields(课程号) Text2.Text = adoPrimaryRS.Fields(课程名) Text3.Text = adoPrimaryRS.Fields(年级) Text4.Text = adoPrimaryRS.Fields(学分) Text5.Text = adoPrimaryRS.Fields(备注)End SubPrivate Sub Command8_Click()Unload MeEnd SubPrivate Sub DataGrid_Click() Text1.Text = adoPrimaryRS.Fields(课程号) Text2.Text = adoPrimaryRS.Fields(课程名) Text3.Text = adoPrimaryRS.Fields(年级) Text4.Text = adoPrimaryRS.Fields(学分) Text5.Text = adoPrimaryRS.Fields(备注)End SubPrivate Sub Form_Load()Left = (Screen.Width - Width) 2Top = (Screen.Height - Height) 2 Dim db As Connection Set db = New Connection db.CursorLocation = adUseClient db.Open PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source=xjgl.mdb; Set adoPrimaryRS = New Recordset adoPrimaryRS.Open select * from jxjh, db, adOpenStatic, adLockOptimistic Set DataGrid.DataSource = adoPrimaryRS If adoPrimaryRS.EOF Then Text1.Text = Text2.Text = Text3.Text = Text4.Text = Text5.Text = Else Text1.Text = adoPrimaryRS.Fields(课程号) Text2.Text = adoPrimaryRS.Fields(课程名) Text3.Text = adoPrimaryRS.Fields(年级) Text4.Text = adoPrimaryRS.Fields(学分) Text5.Text = adoPrimaryRS.Fields(备注) End If mbDataChanged = FalseEnd Sub8:教学计划查询窗体源代码:Dim WithEvents adoPrimaryRS As RecordsetPrivate Sub Combo1_Click()Text1.Text = End SubPrivate Sub Combo2_Click()Text2.Text = End SubPrivate Sub Command1_Click()Dim db As Connection Set db = New Connection db.CursorLocation = adUseClient db.Open PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source=xjgl.mdb; Set adoPrimaryRS = New Recordset a = Combo1.Text b = Text1.Text c = Combo2.Text d = Text2.Text If Combo1.Text = 选择字段1 Or Text1.Text = 填写关键字1 Then MsgBox (请填写你的查询条件!) Exit Sub End If If Option1.Value = True Then If c = 选择字段2 Then adoPrimaryRS.Open select * from jxjh where & a & like % & b & %, db, adOpenStatic, adLockOptimistic Else adoPrimaryRS.Open select * from jxjh where & a & like % & b & % and & c & like % & d & %, db, adOpenStatic, adLockOptimistic End If Else If c = 选择字段2 Then adoPrimaryRS.Open select * from jxjh where & a & like % & b & %, db, adOpenStatic, adLockOptimistic Else adoPrimaryRS.Open select * from jxjh where & a & like % & b & % or & c & like % & d & %, db, adOpenStatic, adLockOptimistic End If End If If adoPrimaryRS.EOF Then MsgBox (没有符合条件的记录!) End If Set DataGrid.DataSource = adoPrimaryRSEnd SubPrivate Sub Command2_Click() Dim db As Connection Set db = New Connection db.CursorLocation = adUseClient db.Open PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source=xjgl.mdb; Set adoPrimaryRS = New Recordset adoPrimaryRS.Open select * from jxjh, db, adOpenStatic, adLockOptimistic Set DataGrid.DataSource = adoPrimaryRS mbDataChanged = FalseEnd SubPrivate Sub Command3_Click()Dim i As Integer, j As Integer Dim xlapp As Excel.Application Dim xlbook As Excel.Workbook Dim xlsheet As Excel.Worksheet Set xlapp = CreateObject(excel.application) xlapp.Visible = True Set xlbook = xlapp.Workbooks.Add Set xlsheet = xlbook.Worksheets(1) xlsheet.Cells(1, 1) = 课程号 xlsheet.Cells(1, 2) = 课程名 xlsheet.Cells(1, 3) = 年级 xlsheet.Cells(1, 4) = 学分 xlsheet.Cells(1, 5) = 备注 adoPrimaryRS.MoveFirst i = 0 Do While (adoPrimaryRS.EOF = False) For j = 0 To adoPrimaryRS.Fields.Count - 1 DataGrid.Col = j xlsheet.Cells(i + 2, j + 1) = DataGrid.Text Next j adoPrimaryRS.MoveNext i = i + 1 Loop Set xlapp = Nothing Set xlbook = NothingEnd SubPrivate Sub Command4_Click()Unload MeEnd SubPrivate Sub Form_Load()Left = (Screen.Width - Width) 2Top = (Screen.Height - Height) 2 Dim db As Connection Set db = New Connection db.CursorLocation = adUseClient db.Open PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source=xjgl.mdb; Set adoPrimaryRS = New Recordset adoPrimaryRS.Open select * from jxjh, db, adOpenStatic, adLockOptimistic Set DataGrid.DataSource = adoPrimaryRSmbDataChanged = FalseEnd Sub9:学分查询窗体源代码:Dim WithEvents adoPrimaryRS As RecordsetPrivate Sub Combo1_Click()Text1.Text = End SubPrivate Sub Combo2_Click()Text2.Text = End SubPrivate Sub Command1_Click()Dim db As Connection Set db = New Connection db.CursorLocation = adUseClient db.Open PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source=xjgl.mdb; Set adoPrimaryRS = New Recordset a = Trim(Combo1.Text) b = Trim(Text1.Text) c = Trim(Combo2.Text) d = Text2.Text If a = 学籍号 Then adoPrimaryRS.Open select xf.学籍号,xsda.姓名,xf.学分,xsda.毕业级别 from xf,xsda where xf.学籍号= & b & and xf.学籍号=xsda.学籍号 and xf.学分 & c & & d, db, adOpenStatic, adLockOptimistic Else If a = 毕业级别 Then adoPrimaryRS.Open select xf.学籍号,xsda.姓名,xf.学分,xsda.毕业级别 from xf,xsda where xsda.毕业级别= & b & and xf.学籍号=xsda.学籍号 and xf.学分 & c & & d, db, adOpenStatic, adLockOptimistic Else adoPrimaryRS.Open select xf.学籍号,xsda.姓名,xf.学分,xsda.毕业级别 from xf,xsda where xsda.姓名= & b & and xf.学籍号=xsda.学籍号 and xf.学分 & c & & d, db, adOpenStatic, adLockOptimistic End If End If Set DataGrid.DataSource = adoPrimaryRSEnd SubPrivate Sub Command2_Click()Dim db As Connection Set db = New Connection db.CursorLocation = adUseClient db.Open PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source=xjgl.mdb; Set adoPrimaryRS = New Recordset adoPrimaryRS.Open select xf.学籍号,xsda.姓名,xf.学分,xsda.毕业级别 from xsda,xf where xf.学籍号=xsda.学籍号 , db, adOpenStatic, adLockOptimistic Set DataGrid.DataSource = adoPrimaryRSmbDataChanged = FalseEnd SubPrivate Sub Command3_Click()Dim i As Integer, j As Integer Dim xlapp As Excel.Applicatio
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
提示  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:vb+access学籍管理系统(系统+论文)
链接地址:https://www.renrendoc.com/paper/149911274.html

官方联系方式

2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

网站客服QQ:2881952447     

copyright@ 2020-2025  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知人人文库网,我们立即给予删除!