资源目录
压缩包内文档预览:(预览前20页/共62页)
编号:149910961
类型:共享资源
大小:2.25MB
格式:RAR
上传时间:2021-10-10
上传人:好资料QQ****51605
认证信息
个人认证
孙**(实名认证)
江苏
IP属地:江苏
20
积分
- 关 键 词:
-
学生
成绩管理系统
完整
- 资源描述:
-
学生成绩管理系统(完整),学生,成绩管理系统,完整
- 内容简介:
-
大学毕业设计(论文)学生成绩管理系统专业班级: 姓 名: 学 号: 指导教师: 20 年 月 日摘 要 在现今信息时代,生活速度的加快,使得人们越来越向信息化、数字化发展,管理信息系统(MIS)是一个由人、计算机等组成的能进行信息的收集、传递、储存、加工、维护和使用的系统,必然能代替过去大量、繁杂的手工操作。对于一所学校来说,如何利用计算机改变每次考试结束后老师们统计大量的学生成绩时的繁重任务?如何消除因时间紧所产生的统计结果错误百出?设计出学生成绩管理系统就是一个很好的解决方法。 本文通过用VB面向对象的编程环境编写学生成绩管理系统,利用软件工程原理,采用生命周期方法学,根据3NF的关系模式设计数据库表,用模块化设计方式将系统的各个功能模块层层分解,设计出系统的模块化结构,并根据系统的具体要求和需要实现的功能,详细地定义了各个模块的具体功能。 开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面,实现了学生成绩数据库的创建及学生成绩的输入、浏览、维护和统计,使得系统具有功能强大,界面友好的特点。 在设计学生成绩管理系统过程中,得到了各位老师的指导,在此表示感谢。由于本人水平有限,程序中不足之处在所难免,敬请各位老师批评指正。关键字: 成绩管理,软件工程,vb6.0Abstract In will it be information age now, quickening , life of speed, make people more and more to informationize , is it develop to digitize, the management information system (MIS ) is a collection , transmission , system stored , processed , maintained and used that be able to carry on information made up of person , computer ,etc., can replace a large amount of , miscellaneous and done by hand of the past . To a school, How utilize computer change each examination teacher count a large number of student strenuous task at the score? How dispel because time full of mistakes statistics produced closely? Designing students achievement administrative system is a very good solution. This text, through writing students achievement administrative system with vb target -oriented programming environment, Utilize the soft project principle, adopt the cycle method of the life to study , design the database form according to the relation mode of 3NF, resolve each systematic function module ring upon ring with module design, design systematic module structure, and according to concrete to demand and function that need realize of system, have defined the concrete function of each module in detail . Develop two respects of main development including setting-up and maintenance and front application program of backstage supporters database , have realized the establishment of students achievement database and introduction of students achievement, had a look around, maintaining and counting , is it have the characteristics that powerful , an interface is friendly systematically to make. In the course of designing students achievement administrative system , have got the guidance of kings prosperous teacher, express thanks here. Because ones own level is limited, the weak point is unavoidable in the procedure, please offer a teacher make a comment.Key word: The achievement is managed, soft project , vb6.0目录第一章 毕业设计正文.1.1管理信息系统概述和VB介绍1.2方案论证 1.2.1 实现功能.1.2.2 功能与模块的设计 .1.2.3 数据库的设计 .1.3过程论述 1.3.1 登陆流程图 .1.3.2 登陆界面流程图 .1.3.3 主界面流程图 .1.3.4 学生数据处理流程 .1.3.5 课程与成绩处理流程图 .1.3.5 课程管理 .1.3.5 查询流程图 .1.4结论和总结 第二章 致谢第三章 附录(计算机程序等内容)3.1 数据库连接模块. .3.2 登陆界面与代码. .3.3 主界面与代码 . 3.4 用户管理界面与代码 .3.5学生管理源代码3.6学生查询源代码 3.7 学生选课源代码 .第四章 参考文献前 言 现在的社会日新月异,发展的非常快。学校的发展也是非常的快了,而且每年都有不同的要求。学生的量也非常的大,资料可能经常性的发生更换,原来手工的管理模式就显的不怎么的合适了。而且手工的数据是存放在多处的,没有使用统一管理的模式,数据整理非常的麻烦,统计也困难,很多的情况下,老师都是在重复一些相同的工作。做一些相似的报表,这样不但降低了工作效率,而且非常的容易出错。在这种条件下,使用微机管理就显的非常的合适了。只要你正确的录入,统计,报表输出一点问题都没有的。一、 毕业设计正文1 管理信息系统概述和VB介绍 20世纪,随着全球经济的蓬勃发展,众多经济学家纷纷提出了新的管理理论。20世纪50年代,西蒙提出管理依赖于信息和决策的思想。同时期的维纳发表了控制论,他认为管理是一个控制过程。1958年,盖尔写到:“管理将以较低的成本得到及时准确的信息,做到较好的控制。”这个时期,计算机开始用于会计工作,出现数据处理一词。 1970年,Walter T.Kennevan给刚刚出现的管理信息系统一词下了一个定义:“以口头或书面的形式,在合适的时间向经理、职员以及外界人员提供过去的、现在的、预测未来的有关企业内部及其环境的信息,以帮助他们进行决策。”在这个定义里强调了用信息支持决策,但并没有强调应用模型,没有提到计算机的应用。 1985年,管理信息系统的创始人,明尼苏达大学的管理学教授Gordon B.Davis给了管理信息系统一个较完整的定义,即“管理信息系统是一个利用计算机软硬件资源,手工作业,分析、计划、控制和决策模型以及数据库的人-机系统。它能提供信息支持企业或组织的运行、管理和决策功能。”这个定义全面地说明了管理信息系统的目标、功能和组成,而且反映了管理信息系统在当时达到的水平。1.1 管理信息系统的特点1.1.1 管理信息系统的组成 管理信息系统在企业中的应用存在三个要素,这就是人、计算机和数据。 人是指企业领导者、管理人员、技术人员,以及MIS建设的领导机构和实施机构,他们在系统中起主导作用。MIS是一项系统工程,不是只靠一些计算机开发人员就可以完成的,必须有企业管理人员,尤其是企业领导的积极参与。 计算机技术是MIS得以实施的主要技术。在这些技术中,软件开发是MIS开发的重点。 第三个因素也不能忽视。企业的管理数据是MIS正常运行的基础。广义地说,各项管理制度是MIS建设成功的基础。试想要计算一台机床的生产成本,需要按时输入每个部件、每个零件甚至每个螺钉螺帽的费用,涉及企业的生产车间、采购、库房、工艺设计和财务等多个部门,必须有一整套管理制度做保证。1.1.2 管理信息系统的界面特点 在计算机软件技术中,人机界面已经发展成为一个重要的分支。 MIS人机界面设计一般遵循以下一些基本原则: 1. 以通信功能作为界面设计的核心 人机界面设计的关键是使人与计算机之间能够准确地交流信息。一方面,人向计算机输入信息时应当尽量采取自然的方式;另一方面,计算机向人传递的信息必须准确,不致引起误解或混乱。另外,不要把内部的处理、加工与人机界面混在一起,以免互相干扰,影响速度。 设计MIS时,针对每一个功能,都要按照“I-P-O”的模块化思想,使输入、处理与输出“泾渭分明”,充分体现人机界面的通信功能。这样设计出来的程序不易出错,而且易于维护。 报表打印是MIS必备的功能之一,而且打印之前常常需要计算。计算与打印分开设计,虽然消耗时间,但易于整个MIS系统的维护。 2. 界面必须始终一致 统一的人机界面不致于会增加用户的负担,让用户始终用同一种方式思考与操作。最忌讳的是每换一个屏幕用户就要换一套操作命令与操作方法。 例如在整个系统可以以问号图标表示帮助,以磁盘图标表示存盘,以打印机图标表示打印等。 3. 界面必须使用户随时掌握任务的进展情况 人机界面应该能够告诉用户软件运行的进度。特别是在需要较长时间的等待时,必须让用户了解工作进展情况,如可以设计已经完成了百分之几的任务进度条等。目前,Windows下的应用软件无论大小,其安装程序几乎均做到了这一点。开发MIS软件时,这一点很值得借鉴。 4. 界面必须能够提供帮助 一个优秀的MIS软件应该提供在线求助功能,甚至提供使用向导,这将给用户带来极大的方便。在多媒体环境下,以语音提示作为操作向导,不会干扰屏幕信息,是一个极佳的选择。 5. 界面友好、使用方便 多数MIS软件的数据输入量较大。对于一些相对固定的数据,不应让用户频频输入(特别是汉字),而应让用户用鼠标轻松选择。例如,人事管理系统中的“文化程度”是相对固定的数据,其值一般取“小学”、“初中”、“高中”、“大专”、“大本”、“硕研”、“博研”等。录入这类数据之前,MIS软件应在相应位置弹出一个列表框,待用户以鼠标点击,而不应让用户每次都输入这些汉字。学生做为学校的最主要的管理对象,学生档案管理系统就成了学校信息化管理系统中中不可缺少的部分,它的内容对于学校的管理者说都至关重要。但一直以来人们使用传统人工的方式进行学生的档案管理,这种管理方式存在着许多缺点,如:效率低,容易出错,格式不规范。另外时间一长,不容易进行统计和分析。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对学生档案进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、寿命长、成本低等。这些优点能够极大地提高学校学生档案管理的效率。因此,开发这样一套管理软件成为很有必要的事情。而且只要软件的设计合理,可以为学校提供合理的管理模式。通过本系统软件,能帮助教研人员利用计算机,快速方便的对学生成绩管理进行管理、输入、输出、查找的所需操作,使散乱的人事档案能够具体化,直观化、合理化。 本软件适用于教育界,对学生的信息可以随时输入、输出、查找、修改、汇总。开发工具Visual Basic介绍 Visual Basic是一种可视化的、面对对象和条用事件驱动方式的结构化高级程序设计,可用于开发Windows环境下的种类应用程序。它简单易学、效率高,且功能强大,可以与Windows的专业开发工具SDK相媲美,而且程序开发人员不必具有C/C+编程基础。在Visual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的应用程序接口(API)函数,以及动态链接库(DLL)、动态数据交换(DDE)、对象的链接与嵌入(OLE)、开放式数据访问(ODBC)等技术,可以高效、快速地开发出Windows环境下功能强大、图形界面丰富的应用软件系统。总的来说,Visual Basic具有以下特点:可视化编程:用传统程序设计语言设计程序时,都是通过编写程序代码来设计用户界面,在设计过程中看不到界面的实际显示效果,必须编译后运行程序才能观察。如果对界面的效果不满意,还要回到程序中修改。有时候,这种编程-编译-修改的操作可能要反复多次,大大影响了软件开发效率。Visual Basic提供了可视化设计工具,把Windows界面设计的复杂性“封装”起来,开发人员不必为界面设计而编写大量程序代码。只需要按设计要求的屏幕布局,用系统提供的工具,在屏幕上画出各种“部件”,即图形对象,并设置这些图形对象的属性。Visual Basic自动产生界面设计代码,程序设计人员只需要编写实现程序功能的那部分代码,从而可以大大提高程序设计的效率。面向对象的程序设计4.0版以后的Visual Basic支持面向对象的程序设计,但它与一般的面向对象的程序设计语言(C+)不完全相同。在一般的面向对象程序设计语言中,对象由程序代码和数据组成,是抽象的概念;而Visual Basic则是应用面向对象的程序设计方法(OOP),把程序和数据封装起来作为一个对象,并为每个对象赋予应有的属性,使对象成为实在的东西。在设计对象时,不必编写建立和描述每个对象的程序代码,而是用工具画在界面上,Visual Basic自动生成对象的程序代码并封装起来。每个对象以图形方式显示在界面上,都是可视的。结构化程序设计语言Visual Basic是在BASIC语言的基础上发展起来的,具有高级程序设计语言的语句结构,接近于自然语言和人类的逻辑思维方式。Visual Basic语句简单易懂,其编辑器支持彩色代码,可自动进行语法错误检查,同时具有功能强大且使用灵活的调试器和编译器。Visual Basic是解释型语言,在输入代码的同时,解释系统将高级语言分解翻译成计算机可以识别的机器指令,并判断每个语句的语法错误。在设计Visual Basic程序的过程中,随时可以运行程序,而在整个程序设计好之后,可以编译生成可执行文件(.EXE),脱离Visual Basic环境,直接在Windows环境下运行。事件驱动编程机制Visual Basic通过事件来执行对象的操作。一个对象可能会产生多个事件,每个事件都可以通过一段程序来响应。例如,命令按钮是一个对象,当用户单击该按钮时,将产生一个“单击“(CLICK)事件,而在产生该事件时将执行一段程序,用来实现指定的操作。在用Visual Basic设计大型应用软件时,不必建立具有明显开始和结束的程序,而是编写若干个微小的子程序,即过程。这些过程分别面向不同的对象,由用户操作引发某个事件来驱动完成某种特定的功能,或者由事件驱动程序调用通用过程来执行指定的操作,这样可以方便编程人员,提高效率。访问数据库Visual Basic具有强大的数据库管理功能,利用数据控件和数据库管理窗口,可以直接建立或处理Microsoft Access格式的数据库,并提供了强大的数据存储和检索功能。同时,Visual Basic还能直接编辑和访问其他外部数据库,如DBASE,FoxPro,Paradox等,这些数据库格式都可以用Visual Basic编辑和处理。Visual Basic提供开放式数据连接,即ODBC功能,可通过直接访问或建立连接的方式使用并操作后台大型网络数据库,如SQL Server,Oracle等。在应用程序中,可以使用结构化查询语言SQL数据标准,直接访问服务器上的数据库,并提供了简单的面向对象的库操作指令和多用户数据库访问的加锁机制和网络数据库的SQL的编程技术,为单机上运行的数据库提供了SQL网络接口,以便在分布式环境中快速而有效地实现客户/服务器(client/server)方案。动态数据交换(DDE) 利用动态数据交换(Dynamic Data Exchange)技术,可以把一种应用程序中的数据动态地链接到另一种应用程序中,使两种完全不同的应用程序建立起一条动态数据链路。当原始数据变化时,可以自动更新链接的数据。Visual Basic提供了动态数据交换的编程技术,可以在应用程序中与其他Windows应用程序建立动态数据交换,在不同的应用程序之间进行通信。对象的链接与嵌入(OLE)对象的链接与嵌入(OLE)将每个应用程序都看作是一个对象(object),将不同的对象链接(link)起来,再嵌入(embed)某个应用程序中,从而可以得到具有声音、影像、图像、动画、文字等各种信息的集合式的文件。OLE技术是Microsoft公司对象技术的战略,它把多个应用程序合为一体,将每个应用程序看作是一个对象进行链接和嵌入,是一种应用程序一体化的技术。利用OLE技术,可以方便地建立复合式文档(compound document),这种文档由来自多个不同应用程序的对象组成,文档中的每个对象都与原来的应用程序相联系,并可执行与原来应用程序完全相同的操作。动态链接库(DLL)Visual Basic是一种高级程序设计语言,不具备低级语言的功能,对访问机器硬件的操作不太容易实现。但它可以通过动态链接库技术将C/C+或汇编语言编写的程序加入到Visual Basic应用程序中,可以像调用内部函数一样调用其他语言编写的函数。此外,通过动态链接库,还可以调用Windows应用程序接口(API)函数,实现SDK所具有的功能。Access简介Microsoft Access 数据库管理系统是Microsoft Office 套件的重要组成部分,先后出现了Access 97、Access 2000 和Access XP。其中Access XP是最新版本。Access适用于小型商务活动,用以存贮和管理商务活动所需要的数据。Access不仅是一个数据库,而且它具有强大的数据管理功能,它可以方便地利用各种数据源,生成窗体(表单),查询,报表和应用程序等。Microsoft Access是一种关系式数据库,关系式数据库由一系列表组成,表又由一系列行和列组成,每一行是一个记录,每一列是一个字段,每个字段有一个字段名,字段名在一个表中不能重复。图 4 - 1是一个“学生”表的例子。“学生”表由9个记录组成,一个记录占一行,每一个记录由学号、姓名、性别、出生日期、电话号码、宿舍号、班长、系号和中共党员9个字段组成。“学号”是字段名,其下面的02010101,02010102等是字段的值。表与表之间可以建立关系(或称关联,连接),以便查询相关联的信息。Access数据库以文件形式保存,文件的扩展名是MDB。Access 2000数据库由七种对象组成:表、查询、窗体、报表、页、宏和模块。表(Table) 表是数据库的基本对象,是创建其他6种对象的基础。表由记录组成,记录由字段组成,表用来存贮数据库的数据,故又称数据表。查询(Query)查询可以按索引快速查找到需要的记录,按要求筛选记录并能连接若干个表的字段组成新表。窗体(Form)窗体提供了一种方便的浏览、输入及更改数据的窗口。还可以创建子窗体显示相关联的表的内容。窗体也称表单。报表(Report)报表的功能是将数据库中的数据分类汇总,然后打印出来,以便分析。 页(Page) 也叫数据访问页。是连接到数据库的 Web 页,在数据访问页中,可以查看、添加、编辑和操作存储在数据库中的数据。数据访问页还可以包括其他来源的数据,例如 Microsoft Excel。宏(Macro)宏相当于DOS中的批处理,用来自动执行一系列操作。Access列出了一些常用的操作供用户选择,使用起来十分方便。模块(Module)模块的功能与宏类似,但它定义的操作比宏更精细和复杂,用户可以根据自己的需要编写程序。模块使用Visual Basic编程。1.2方案论证: 成绩管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。本系统主要完成对学生情况和学生成绩的管理,包括数据库中表的添加、修改、删除等。系统还可以完成对各类信息的浏览、查询、添加、删除、修改、报表等功能。系统的核心是数据库中各个表联系,每一个表的修改都将联动的影响其它的表,当完成对数据的操作时系统会自动地完成数据库的修改。查询功能也是系统的核心之一,在系统中即有单条件查询和多条件查询,也有精确查询和模糊查询,系统不仅有静态的条件查询,也有动态生成的条件查询,其目的都是为了方便用户使用。系统有完整的用户添加、删除和密码修改功能,并具备报表打印功能。经过分析,我们使用 MICROSOFT公司的 VISUAL BASIC开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。在操作系统方面,虽然现在Linux的发展速度非常的快,但是对于大多数的使用者来说,操作显然没有微软的WINDOWS那么的流行和傻瓜化。而且现在计算机的运算速度已经不能和以前相提并论了,而且硬件的价格也一天天的在下降了,所以也不用为了节省整体的造价而改用硬件要求很低的DOS系统了。所以我们决定该成绩管理系统将运行在普遍使用的WINDOWS操作系统上来协助管理人员轻松地进行与数据库的连接和管理。在这么多的访问接口里面微软对于ADO非常的推崇,并且下一代的数据访问技术也将是采取这样的思路,而且本身来说ADO模型简单,但是功能强大,使实现人员无须关心一些底层的操作,而把更多的经历放在业务逻辑的设计上面。综上所述,我们选择了Visual Basic+ADO+ACCESS来开发整个系统。 1.2.1、 实现功能:(1) 能够浏览学生成绩的所有信息(2) 能够对学生的信息注册登记管理(3) 学生成绩资料的数据库建立和管理(4) 能够通过学生的一个信息找到个人成绩的相关信息(例如:知道学生的学号能够找到该学生的所有有关的成绩信息)(5) 通过一条信息找到与之匹配的信息(例如:查询同一专业的所有人员)(6) 相关人员能对包含学生的成绩信息进行管理(因为学生有关情况不是固定不变的所以一旦学生信息发生改变就要对原有信息进行诸如添加,删除,修改等的操作)(7) 多用户数据安全管理,保证各部门的数据安全、完整,对每个使用本系统用户进行权限的设置(8) 简易操作,不需要计算机专业人员。(9) 学生成绩添加、删除和修改,包括学生的学号、姓名、课程名称、学分、成绩(10) 成绩查询,查询条件为学生学号、姓名、课程名称等信息的综合查询,允许管理员模糊查询,查询结果以图表形式列出 学生信息查询,查询条件为学生学号、姓名、身份证号等信息的综合查询,查询结果以图表形式列出(11) 用户管理:设置两个级别用户:管理员和普通用户,管理员有权限使用15的功能,普通用户只能使用3和4的功能,用户使用本系统之前必须先通过身份认证(用户级别、用户名和密码,密码输入有次数限制,连续三次输入错误密码则锁定该用户)1.2.2功能与模块设计包括成绩的总体管理系统、成绩管理子系统、查询子系统、成绩输出子系统等,四个方面都是必须要满足:(1) 基本情况录入:输入本系统所需的基本数据。输入学生的基本情况,采用学号各班级号来区分学生。(2) 学生异动处理:处理学生转学、基本信息变动情况。(3) 学生查询:提供查询本校的学生在校时的基本情况功能。系统启动画面 权限认证画面成绩系统主画面系统设置学生管理课程管理开课与选课学生成绩关 于 1.2.3数据库设计创建“成绩管理系统”数据库系统中需要使用的数据表。成绩管理系统登陆表课程表学生信息表学生与课程表班级表1、登陆字段数据类型字段大小必填字段索引允许为空用户名文本50是无否密码文本50是无否权限文本50是无否2、课程字段数据类型字段大小必填字段允许为空课程号文本4否是课程名称文本50是否授课老师文本50否否课程类型文本10是否 3、学生信息表字段数据类型字段大小必填字段允许为空学号文本10否否班级文本12是是名字文本50是否性别字文本50是否出生年月日期/时间否民族文本50否否籍贯文本50否否宿舍文本255否否政治面貌文本20否否电话号码文本30否否院系文本50否否专业文本50否否身份证号文本50否是4、学生与课程联系表 字段数据类型字段大小必填字段允许为空课程号文本4是是课程名称文本50否是学号文本10是否姓名文本10是否课程类型文本10是否学分数字字节否是成绩数字字节否否 5、班级字段数据类型字段大小必填字段索引允许为空班级名称文本50是无否班级辅导员文本50否有(无重复)否所属系别文本50是无否1.3 过程(设计或实验)论述:执行流程图与解说1.3.1登陆流程图登陆主界面 Y验证帐号 N Y验证密码 N 进入主界面设计说明:进入主界面后,提示输入用户名和密码,在输入之后按确定进入,验证用户名和密码,实现流程: (1) 检测数据库中有无管理员帐号,如果有,则等待用户输入用户名和密码,否则按程序本身自动执行插入命令,新建一个管理员用户,并等待用户输入. (2).验证用户名和密码是否正确。 (3)当验证通过后,检测该登陆用户的管理权限,并设置变量传值给主窗体.1.3.2主界面操作图主界面系统管理用户管理班级管理退出系统退出系统学生管理学生查询学生管理开课与选课学生选课选课查询课程管理课程查询课程管理学生成绩成绩管理成绩查询询实现功能:(1).获得登陆界面传递的权限信息,设置用户是否可以使用(增加学生,课程管理,输入成绩,系统操作,保存,修改,删除)这些操作.(2).进入学生成绩管理主窗口,设置等待操作状态1.3.3所有学生与增加学生数据图增加学生所有学生数据初始化数据初始化读取数据字段读取数据行数按显示数据初始化表格等待输入数据 所有学生E-R图 增加学生E-R图注:数据初始化是对程序中所使用的表格进行颜色和表格间距的处理,并绑定数据源为进行到下一步操作做准备实现功能:(1).执行学生信息表的全查询,获得所有字段名称,通过字段名称来分配数据列表的列数.(2).执行数据初始化,因使用的图表控件附带下拉列表框,日期选择框等功能,可以很方便的进行即时操作,所以数据的初始化是针对数据来确定哪一列的宽度与文本框的属性.(3).给图表控件的第一列赋值,赋值对象是学生信息表的各字段名称.(4).统计所有表内信息,得出行数,以行数进行数据分页(目的:由于数据的日渐增多,而所有数据一次性显示在表格内,会影响系统的正常使用,分页则是将众多数据一点点的显示出来,达到资源优化的目的.)(5).开始根据分页内容给图表控件赋值,同时设置状态,即不可保存,可修改,可删除.(因为在查询数据的同时无需执行保存数据,而可以进行数据的修改和删除)1.3.4课程与成绩数据处理图增加成绩数据初始化读取数据字段初始化表格等待输入数据所有成绩数据初始化读取数据行数为所有数据分页按分页显示数据 所有成绩E-R图 增加成绩E-R图实现功能:同所有学生的功能相同.1.3.5 数据保存流程图执行保存保存状态载入表名学生信息学生与课程数据完整性是否有重复插入数据退出 N N Y(1) 在点击上列按钮后,系统属于可保存状态,不可修改状态,不可删除状态.(2) 点击保存功能实现:验证输入对象:即是保存学生信息的内容还是成绩的内容,判断表格中是否是否为空,为空提示并退出操作验证用户输入的数据中是否有必填的字段未填的,如果有,提示并退出操作,等待用户补齐以上顺利完成,对每行进行组织语句(插入语句),然后执行该语句,语句成功提示并退出操作,否则通过防错提示并退出操作1.3.6 课程管理课程管理增加保存修改删除退出注:增加:刷新表格数据,调整到等待输入状态 保存:执行增加操作后,并输入了必要的数据后执行,保存用户输入的数据 修改:对原有数据进行修改,课程编号为唯一值不可修改 删除:删除表格中所选目标行 退出:退出课程管理界面,返回到主界面视图*(用户管理,班级管理操作原理同上)1.3.7查询 实现功能: 支持学生信息,学生与课程的所有查询,需要用户自己组织语句,加大了查询的范围,任何该表的参数都可以查询到.1.4结论和总结:确定了本系统的实用价值后,选用了目前最常用也最简便的access数据库做为后台,鉴于ADO在很多程序里的广泛应用,使用ADO来连接数据库将是最为适用的,并且在定义了ADO的连接模块后,对于将来的升级也会很方便,只要修改一下连接源,就可以轻松的更换后台,access适用于单机版,当想转换为网络版的SQL数据库时,就很容易做到为了减少系统的数据资源,选用了目前最方便的将数据交给后台处理的方法,即使用SQL的语句将数据库交给ACCESS后台,由后台来处理,这样系统的执行会加快,也使用程序本身变得简单1.5.1本程序使用了新型控件flexcell,此控件的双色表格与单元格的特殊赋值功能不但能带给用户最好的视觉感受,同时在操作时大大减少了手动输入操作,因此也为非计算机人员的可操作性带来很大的方便。1.5.2自行编写了菜单程序:增强了非计算机人员的可操作性,使整个窗体布局更加直观化。1.5.3支持右键菜单,在flexcell控件上点击鼠标右键,可出现快捷菜单,可以更方便更直观的处理数据。1.5.4支持全方位查询,可以通过计算机人员的自写语句实现定位查询,只要语句正确,都能找到所要找的记录。1.5.5使用了透明API函数,在调用用户管理与课程管理等窗体的时候,对该窗体进行透明化处理。程序的不足:1.针对学生的资料进行的简单的管理,将成绩,课程的管理设成了重点,没有为学生的档案资料,奖惩做一些具体的处理2.没有对用户的操作进行记录,没有设置学生信息误删除机制二、 致谢 通过本次课题的设计,让我熟练的掌握了制作程序的一些流程及规划,在此特别感谢各位老师的指导,并感谢所有协助我完成设计的朋友,有了你们的支持,才会让我更加圆满的完成此次课题的设计。三、 附录3.1 连接数据库的模块代码Public cnn As New ADODB.Connection 新建一个数据源Public qy1 As New ADODB.Recordset 数据一个记录集Public qy2 As New ADODB.Recordset 数据一个记录集Sub Main()tkOpenAccessDB App.Path & base.mdb 连接数据库If qy1.State = adStateOpen Then 表状态qy1.CloseEnd Ifqy1.Open select * from 登陆, cnn, adOpenStatic, adLockReadOnly, adCmdText 查询表内是否有数据If qy1.RecordCount = 0 ThenSet qy1 = cnn.Execute(insert into 登陆 values(admin,admin,超级管理员) 表内无数据执行此语句新建用户End IfForm3.ShowEnd SubPrivate Sub tkOpenAccessDB( _ tkFileName As String, _ Optional tkUserID As String, _ Optional tkPassword As String _ ) 连接数据库参数 On Error GoTo tkFinish cnn.Open Provider=Microsoft.Jet.OLEDB.4.0; & _ Data Source= & tkFileName & ; & _ Mode=Share Deny None; & _ Extended Properties=; & _ Jet OLEDB:System database=; & _ Jet OLEDB:Registry Path=; & _ Jet OLEDB:Database Password=; & _ Jet OLEDB:Engine Type=5; & _ Jet OLEDB:Database Locking Mode=1; & _ Jet OLEDB:Global Partial Bulk Ops=2; & _ Jet OLEDB:Global Bulk Transactions=1; & _ Jet OLEDB:New Database Password=; & _ Jet OLEDB:Create System Database=False; & _ Jet OLEDB:Encrypt Database=False; & _ Jet OLEDB:Dont Copy Locale on Compact=False; & _ Jet OLEDB:Compact Without Replica Repair=False; & _ Jet OLEDB:SFP=False; & _ tkUserID, _ tkPassword Exit SubtkFinish: MsgBox Err.Description End End Sub3.2登陆界面与代码 Private Sub XPButton1_Click()On Error GoTo finishuser = Text1.TextSet mdbrs = mdbconn.Execute(select * from 登陆 where 用户名= & Text1.Text & and 密码= & Text2.Text & )If mdbrs.EOF = True Then Text1.Text = Text2.Text = Text1.SetFocus MsgBox 用户名和密码不正确!Elseuser111 = mdbrs.Fields(0)sup = mdbrs.Fields(2)If mdbrs.Fields(2) = 超级管理员 Then admin = True MsgBox 您是超级管理员! MsgBox user Else admin = False MsgBox 您不是超级管理员! End If Unload Me MDIForm1.ShowEnd IfExit Subfinish:MsgBox Err.DescriptionEnd SubPrivate Sub XPButton2_Click()EndEnd SubPrivate Sub Text1_KeyPress(KeyAscii As Integer)If KeyAscii = 13 ThenCall XPButton1_ClickEnd IfEnd SubPrivate Sub Text2_KeyPress(KeyAscii As Integer)If KeyAscii = 13 ThenCall XPButton1_ClickEnd IfEnd Sub3.3 主窗体界面与代码Private Sub abou_Click()frmAbout.ShowEnd SubPrivate Sub classma_Click()If admin = False Then MsgBox 你没有管理本功能的权限,请与管理员联系! Exit Sub End IfIf mdi = True ThenForm5.ShowElseMsgBox 每次只能打开一个窗口,请关闭正在打开的窗口!, vbInformation, 不允许当前操作!End IfEnd SubPrivate Sub cmai_Click()If admin = False Then MsgBox 你没有管理本功能的权限,请与管理员联系! Exit Sub End IfIf mdi = True ThenForm10.ShowElseMsgBox 每次只能打开一个窗口,请关闭正在打开的窗口!, vbInformation, 不允许当前操作!End IfEnd SubPrivate Sub cs_Click()If mdi = True ThenForm11.ShowElseMsgBox 每次只能打开一个窗口,请关闭正在打开的窗口!, vbInformation, 不允许当前操作!End IfEnd SubPrivate Sub exit_Click()If mdi = False ThenMsgBox 请保存数据!, vbInformation, 不允许当前操作!ElseEndEnd IfEnd SubPrivate Sub kecheng_Click()If mdi = True ThenForm7.ShowElseMsgBox 每次只能打开一个窗口,请关闭正在打开的窗口!, vbInformation, 不允许当前操作!End IfEnd SubPrivate Sub MDIForm_Load()StatusBar1.SimpleText = 今天是 & Year(Date) & 年 & Month(Date) & 月 & Day(Date) & 日 , 欢迎您使用学生成绩管理系统 ! & 当前操作者: & user111 & 权限: & supEnd SubPrivate Sub relog_Click()If mdi = False ThenMsgBox 请关闭打开的窗口!, vbInformation, 不允许当前操作!ElseUnload MeForm1.ShowEnd IfEnd SubPrivate Sub sturea_Click()If mdi = True ThenForm4.ShowElseMsgBox 每次只能打开一个窗口,请关闭正在打开的窗口!, vbInformation, 不允许当前操作!End IfEnd SubPrivate Sub stureg_Click()If admin = False Then MsgBox 你没有管理本功能的权限,请与管理员联系! Exit Sub End IfIf mdi = True ThenForm3.ShowElseMsgBox 每次只能打开一个窗口,请关闭正在打开的窗口!, vbInformation, 不允许当前操作!End IfEnd SubPrivate Sub stuxuan_Click()If admin = False Then MsgBox 你没有管理本功能的权限,请与管理员联系! Exit Sub End IfIf mdi = True ThenForm8.ShowElseMsgBox 每次只能打开一个窗口,请关闭正在打开的窗口!, vbInformation, 不允许当前操作!End IfEnd SubPrivate Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)Select Case Button.IndexCase 1 If admin = False Then MsgBox 你没有管理本功能的权限,请与管理员联系! Exit Sub End If If mdi = True Then Form2.Show Else MsgBox 每次只能打开一个窗口,请关闭正在打开的窗口!, vbInformation, 不允许当前操作! End IfCase 2If admin = False Then MsgBox 你没有管理本功能的权限,请与管理员联系! Exit Sub End IfIf mdi = True ThenForm5.ShowElseMsgBox 每次只能打开一个窗口,请关闭正在打开的窗口!, vbInformation, 不允许当前操作!End IfCase 3If admin = False Then MsgBox 你没有管理本功能的权限,请与管理员联系! Exit Sub End IfIf mdi = True ThenForm3.ShowElseMsgBox 每次只能打开一个窗口,请关闭正在打开的窗口!, vbInformation, 不允许当前操作!End IfCase 4If admin = False Then MsgBox 你没有管理本功能的权限,请与管理员联系! Exit Sub End IfIf mdi = True ThenForm6.ShowElseMsgBox 每次只能打开一个窗口,请关闭正在打开的窗口!, vbInformation, 不允许当前操作!End IfCase 5If admin = False Then MsgBox 你没有管理本功能的权限,请与管理员联系! Exit Sub End IfIf mdi = True ThenForm10.ShowElseMsgBox 每次只能打开一个窗口,请关闭正在打开的窗口!, vbInformation, 不允许当前操作!End IfCase 6If mdi = True ThenForm4.ShowElseMsgBox 每次只能打开一个窗口,请关闭正在打开的窗口!, vbInformation, 不允许当前操作!End IfCase 7frmAbout.ShowCase 8If mdi = False ThenMsgBox 请保存数据!, vbInformation, 不允许当前操作!ElseEndEnd IfEnd SelectEnd SubPrivate Sub user_Click() If admin = False Then MsgBox 你没有管理本功能的权限,请与管理员联系! Exit Sub End If If mdi = True Then Form2.Show Else MsgBox 每次只能打开一个窗口,请关闭正在打开的窗口!, vbInformation, 不允许当前操作! End IfEnd SubPrivate Sub xuankecha_Click()If mdi = True Then Form9.Show Else MsgBox 每次只能打开一个窗口,请关闭正在打开的窗口!, vbInformation, 不允许当前操作! End IfEnd SubPrivate Sub zhuxiu_Click()If admin = False Then MsgBox 你没有管理本功能的权限,请与管理员联系! Exit Sub End IfIf mdi = True ThenForm6.ShowElseMsgBox 每次只能打开一个窗口,请关闭正在打开的窗口!, vbInformation, 不允许当前操作!End IfEnd Sub3.4 用户管理界面与代码Dim gridsave As BooleanDim gridedit As BooleanDim griddelete As BooleanPrivate Sub Form_Load()On Error GoTo finishGrid1.SetRegisterInformation CNwinndy, WvyY-nonvk-unty-Zbl_e-hms 进行注册With Grid1 .AllowUserResizing = True .DisplayFocusRect = False .ExtendLastCol = True .Appearance = Flat .FixedRowColStyle = Flat .ScrollBarStyle = Flat .DefaultFont.Name = Tahoma .DefaultFont.Size = 8 .BackColorFixed = RGB(90, 158, 214) .BackColorFixedSel = RGB(110, 180, 230) .BackColorBkg = RGB(90, 158, 214) .BackColorScrollBar = RGB(231, 235, 247) .BackColor1 = RGB(231, 235, 247) .BackColor2 = RGB(239, 243, 255) .GridColor = RGB(148, 190, 231) .AllowUserResizing = True .DisplayFocusRect = False .ExtendLastCol = True .Appearance = Flat .FixedRowColStyle = Flat .ScrollBarStyle = Flat .GridColor = RGB(148, 190, 231) .DefaultFont.Name = Tahoma .DefaultFont.Size = 8 .Column(0).Width = 0 .Column(1).Width = 100 .Column(2).Width = 100 .Column(3).Width = 100 .Column(3).CellType = cellComboBox .ComboBox(3).Clear .ComboBox(3).AddItem 超级管理员 .ComboBox(3).AddItem 一般用户End Withmdbconn.ConnectionString = Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=;Data Source= & App.Path & base.mdbmdbconn.CommandTimeout = 30mdbconn.OpenCall callmainGrid1.Column(1).Locked = Truegridsave = Falsegridedit = Truegriddelete = Truemdi = FalseExit Subfinish:MsgBox Err.DescriptionEnd SubPrivate Sub callmain()On Error GoTo finishgridsave = Falsegridedit = Truegriddelete = TrueSet mdbrs = mdbconn.Execute(select * from 登陆)Grid1.Rows = 1i = 3Grid1.Cols = i + 1For i = 0 To 2Grid1.Cell(0, i + 1).Text = mdbrs.Fields(i).NameNexti = 1Do While Not mdbrs.EOF Grid1.Rows = Grid1.Rows + 1 For j = 1 To 3 设定读取列 If mdbrs.Fields(j - 1) = Null Then 空值的处理 Grid1.Cell(i, j).Text = Else Grid1.Cell(i, j).Text = mdbrs.Fields(j - 1) End If Next i = i + 1 mdbrs.MoveNext 读取下一记录LoopGrid1.Column(1).Locked = TrueExit Subfinish:MsgBox Err.DescriptionEnd SubPrivate Sub Form_LostFocus()Form2.ShowEnd SubPrivate Sub Form_Unload(Cancel As Integer)mdi = TrueEnd SubPrivate Sub XPButton1_Click()On Error GoTo finishgridsave = Truegridedit = Falsegriddelete = FalseSet mdbrs = mdbconn.Execute(select * from 登陆)Grid1.Rows = 1Grid1.Rows = 2Grid1.Column(1).Locked = FalseGrid1.Cell(1, 1).SetFocusExit Subfinish:MsgBox Err.DescriptionEnd SubPrivate Sub XPButton2_Click()On Error GoTo finishIf gridsave = False ThenMsgBox 不支持保存操作!, vbInformation, 当前不支持Exit SubEnd IfIf Grid1.Cell(1, 1).Text And Grid1.Cell(1, 2).Text ThenSet mdbrs = mdbconn.Execute(select * from 登陆 where 用户名= & Grid1.Cell(1, 1).Text & ) If mdbrs.EOF = True Then Set mdbrs = mdbconn.Execute(insert into 登陆 values( & Grid1.Cell(1, 1).Text & , & Grid1.Cell(1, 2).Text & , & Grid1.Cell(1, 3).Text & ) MsgBox 提交成功!, vbInformation, Call callmain Else MsgBox 该管理员己存在!, vbInformation, 不可重名 Exit Sub End IfElseMsgBox 用户名和密码都不可以是空格!, vbInformation, 错误提示End IfExit Subfinish:MsgBox Err.DescriptionEnd SubPrivate Sub XPButton3_Click()On Error GoTo finishIf gridedit = False ThenMsgBox 当前修改操作不被允许!, vbInformation, 非使用对象Exit SubEnd IfFor i = 1 To Grid1.Rows - 1 Set mdbrs = mdbconn.Execute(update 登陆 set 密码= & Grid1.Cell(i, 2).Text & ,权限= & Grid1.Cell(i, 3).Text & where 用户名= & Grid1.Cell(i, 1).Text & ) Next MsgBox 修改的数据己经完成, vbInformation, 完成操作 Call callmainExit Subfinish:MsgBox Err.DescriptionEnd SubPrivate Sub XPButton4_Click()On Error GoTo finishIf griddelete = False ThenMsgBox 当前删除操作不被允许!, vbInformation, 非使用对象Exit SubEnd IfIf hang = 0 ThenMsgBox 没有选择用户或者没有用户可以删除!, vbInformation, 非使用对象 Exit SubEnd IfSet mdbrs = mdbconn.Execute(delete from 登陆 where 用户名= & Grid1.Cell(hang, 1).Text & )MsgBox 目标己删除,请刷新数据!, vbInformation, 删除成功Call callmainExit Subfinish:MsgBox Err.DescriptionEnd SubPrivate Sub XPButton5_Click()Unload MeEnd SubPrivate Sub Grid1_RowColChange(ByVal Row As Long, ByVal Col As Long)hang = RowEnd Sub3.5学生管理源代码Dim gridedit1 As BooleanDim gridsave1 As BooleanDim griddelete1 As BooleanPrivate Sub Form_Load()On Error GoTo finishmdi = FalseGrid1.SetRegisterInformation CNwinndy, WvyY-nonvk-unty-Zbl_e-hms 进行注册Set mdbrs1 = mdbconn.Execute(select 班级名称 from 班级)Grid1.Cols = 14Grid1.Column(1).Width = 120Grid1.Column(2).Width = 100Grid1.Column(3).Width = 80Grid1.Column(4).Width = 40Grid1.Column(5).Width = 80Grid1.Column(6).Width = 30Grid1.Column(7).Width = 50Grid1.Column(8).Width = 80Grid1.Column(9).Width = 60Grid1.Column(10).Width = 80Grid1.Column(11).Width = 100Grid1.Column(12).Width = 100Grid1.Column(13).Width = 100With Grid1 .AllowUserResizing = True .DisplayFocusRect = False .ExtendLastCol = True .Appearance = Flat .FixedRowColStyle = Flat .ScrollBarStyle = Flat .DefaultFont.Name = Tahoma .DefaultFont.Size = 8 .BackColorFixed = RGB(84, 201, 134) .BackColorFixedSel = RGB(167, 111, 177) .BackColorBkg = RGB(198, 229, 211) .BackColorScrollBar = RGB(167, 111, 177) .BackColor1 = RGB(231, 235, 247) .BackColor2 = RGB(198, 229, 211) .GridColor = RGB(148, 190, 231) .Column(0).Width = 0 .Column(4).CellType = cellComboBox .ComboBox(4).Clear .ComboBox(4).AddItem 男 .ComboBox(4).AddItem 女 .Column(9).CellType = cellComboBox .ComboBox(9).Clear .ComboBox(9).AddItem 党员 .ComboBox(9).AddItem 团员 .ComboBox(9).AddItem 无 .Column(2).CellType = cellComboBox .ComboBox(2).Clear Do While Not mdbrs1.EOF .ComboBox(2).AddItem mdbrs1.Fields(0) mdbrs1.MoveNext LoopEnd WithCall callmainGrid1.Column(1).Locked = Truegridsave1 = Falsegridedit1 = Truegriddelete1 = Truemdi = FalseExit Subfinish:MsgBox Err.DescriptionEnd SubPrivate Sub Form_Unload(Cancel As Integer)mdi = TrueEnd SubPrivate Sub XPButton1_Click()On Error GoTo finishgridsave1 = Truegridedit1 = Falsegriddelete1 = FalseSet mdbrs = mdbconn.Execute(select * from 学生信息)Grid1.Rows = 1Grid1.Rows = 2Grid1.Column(1).Locked = FalseGrid1.Cell(1, 1).SetFocusExit Subfinish:MsgBox Err.DescriptionEnd SubPrivate Sub XPButton2_Click()gridsave = TrueOn Error GoTo finishIf gridsave1 = False ThenMsgBox 不支持保存操作!, vbInformation, 当前不支持Exit SubEnd IfIf Grid1.Cell(1, 1).Text = ThenMsgBox 学号不可以是空格!, vbInformation, 错误提示Exit SubEnd IfIf Grid1.Cell(1, 2).Text = ThenMsgBox 请选择班级!, vbInformation, 错误提示Exit SubEnd IfIf Grid1.Cell(1, 3).Text = ThenMsgBox 姓名不可以是空格!, vbInformation, 错误提示Exit SubEnd IfIf Grid1.Cell(1, 4).Text = ThenMsgBox 请选择性别!, vbInformation, 错误提示Exit Sub End IfIf Grid1.Cell(1, 6).Text = ThenMsgBox 请输入民族!, vbInformation, 错误提示Exit Sub End IfIf Grid1.Cell(1, 7).Text = ThenMsgBox 请输入籍贯!, vbInformation, 错误提示Exit Sub End IfIf Grid1.Cell(1, 8).Text = ThenMsgBox 请输入宿舍编号!, vbInformation, 错误提示Exit Sub End IfIf Grid1.Cell(1, 9).Text = ThenMsgBox 请选择政治面貌!, vbInformation, 错误提示Exit Sub End IfIf Grid1.Cell(1, 10).Text = ThenMsgBox 请输入电话号码!, vbInformation, 错误提示Exit Sub End IfIf Grid1.Cell(1, 11).Text = ThenMsgBox 请输入院系!, vbInformation, 错误提示Exit Sub End IfIf Grid1.Cell(1, 12).Text = ThenMsgBox 请输入专业!, vbInformation, 错误提示Exit Sub End IfIf Grid1.Cell(1, 13).Text = ThenMsgBox 请输入身份证号!, vbInformation, 错误提示Exit Sub End IfSet mdbrs = mdbconn.Execute(select * from 学生信息 where 学号= & Grid1.Cell(1, 1).Text & ) If mdbrs.EOF = True Then Set mdbrs = mdbconn.Execute(insert into 学生信息 values( & Grid1.Cell(1, 1).Text & , & Grid1.Cell(1, 2).Text & , & Grid1.Cell(1, 3).Text & , & Grid1.Cell(1, 4).Text & , & 1985-1-4 & , & Grid1.Cell(1, 6).Text & , & Grid1.Cell(1, 7).Text & , & Grid1.Cell(1, 8).Text & , & Grid1.Cell(1, 9).Text & , & Grid1.Cell(1, 10).Text & , & Grid1.Cell(1, 11).Text & , & Grid1.Cell(1, 12).Text & , & Grid1.Cell(1, 13).Text & ) MsgBox 提交成功!, vbInformation, Call callmain Else MsgBox 该学生己存在!, vbInformation, 不可重名 Exit Sub End IfExit Subfinish:MsgBox Err.DescriptionEnd SubPrivate Sub XPButton3_Click()On Error GoTo finishIf gridedit1 = False ThenMsgBox 当前修改操作不被允许!, vbInformation, 非使用对象Exit SubEnd IfFor i = 1 To Grid1.Rows - 1 Set mdbrs = mdbconn.Execute(update 学生信息 set 名字= & Grid1.Cell(i, 3).Text & ,班级= & Grid1.Cell(i, 2).Text & ,性别= & Grid1.Cell(i, 4).Text & ,出生日期= & Grid1.Cell(i, 5).Text & ,民族= & Grid1.Cell(i, 6).Text & ,籍贯= & Grid1.Cell(i, 7).Text & ,宿舍= & Grid1.Cell(i, 8).Text & ,政治面貌= & Grid1.Cell(i, 9).Text & ,电话号码= & Grid1.Cell(i, 10).Text & ,院系= & Grid1.Cell(i, 11).Text & ,专业= & Grid1.Cell(i, 12).Text & ,身份证号= & Grid1.Cell(i, 13).Text & where 学号= & Grid1.Cell(i, 1).Text & )NextMsgBox 修改的数据己经完成, vbInformation, 完成操作Call callmainExit Subfinish: MsgBox Err.DescriptionEnd SubPrivate Sub XPButton4_Click()On Error GoTo finishDim i As IntegerIf griddelete1 = False ThenMsgBox 当前修改操作不被允许!, vbInformation, 非使用对象Exit SubEnd IfIf hang = 0 ThenMsgBox 没有选择学生或者没有学生可以删除!, vbInformation, 非使用对象 Exit SubEnd IfSet mdbrs = mdbconn.Execute(select * from 学生信息 where 学号= & Grid1.Cell(hang, 1).Text & )i = MsgBox(确认删除学号为: & mdbrs.Fields(0).Value & 姓名为: & mdbrs.Fields(2) & 的学生吗?, 4, 删除学生)If i = 6 ThenSet mdbrs = mdbconn.Execute(delete from 学生信息 where 学号= & Grid1.Cell(hang, 1).Text & )MsgBox 目标己删除,请刷新数据!, vbInformation, 删除成功Call callmainElseMsgBox 目标没有删除!, vbInformation, 删除失败End IfExit Subfinish:MsgBox Err.DescriptionEnd SubPrivate Sub XPButton5_Click()Unload MeEnd SubPrivate Sub callmain()On Error GoTo finishgridsave1 = Falsegridedit1 = Truegriddelete1 = TrueSet mdbrs = mdbconn.Execute(select * from 学生信息)Grid1.Rows = 1i = 13Grid1.Cols = i + 1For i = 0 To 12Grid1.Cell(0, i + 1).Text = mdbrs.Fields(i).NameNexti = 1Do While Not mdbrs.EOF Grid1.Rows = Grid1.Rows + 1 For j = 1 To 13 设定读取列 If mdbrs.Fields(j - 1) = Null Then 空值的处理 Grid1.Cell(i, j).Text = Else Grid1.Cell(i, j).Text = mdbrs.Fields(j - 1) End If Next i = i + 1 mdbrs.MoveNext 读取下一记录LoopGrid1.Column(1).Locked = TrueExit Subfinish:MsgBox Err.DescriptionEnd SubPrivate Sub Grid1_RowColChange(ByVal Row As Long, ByVal Col As Long)hang = RowEnd Sub3.6 学生查询源代码Dim str As StringPrivate Sub Form_Load()On Error GoTo finishmdi = FalseXPButton2.Enabled = Falsestr = select * from 学生信息Grid1.SetRegisterInformation CNwinndy, WvyY-nonvk-unty-Zbl_e-hms 进行注册Grid1.Cols = 14Grid1.Column(1).Width = 120Grid1.Column(2).Width = 100Grid1.Column(3).Width = 80Grid1.Column(4).Width = 40Grid1.Column(5).Width = 80Grid1.Column(6).Width = 30Grid1.Column(7).Width = 50Grid1.Column(8).Width = 80Grid1.Column(9).Width = 60Grid1.Column(10).Width = 80Grid1.Column(11).Width = 100Grid1.Column(12).Width = 100Grid1.Column(13).Width = 100With Grid1 .AllowUserResizing = True .DisplayFocusRect = False .ExtendLastCol = True .Appearance = Flat .FixedRowColStyle = Flat .ScrollBarStyle = Flat .DefaultFont.Name = Tahoma .DefaultFont.Size = 8 .BackColorFixed = RGB(84, 201, 134) .BackColorFixedSel = RGB(167, 111, 177) .BackColorBkg = RGB(198, 229, 211) .BackColorScrollBar = RGB(167, 111, 177) .BackColor1 = RGB(231, 235, 247) .BackColor2 = RGB(198, 229, 211) .GridColor = RGB(148, 190, 231) .Column(0).Width = 0 End WithExit Subfinish:MsgBox Err.DescriptionEnd SubPrivate Sub Form_Unload(Cancel As Integer)mdi = TrueEnd SubPrivate Sub callmain()On Error GoTo finishGrid1.Rows = 1i = 13Grid1.Cols = i + 1For i = 0 To 12Grid1.Cell(0, i + 1).Text = mdbrs.Fields(i).NameNexti = 1Do While Not mdbrs.EOF Grid1.Rows = Grid1.Rows + 1 For j = 1 To 13 设定读取列 If mdbrs.Fields(j - 1) = Null Then 空值的处理 Grid1.Cell(i, j).Text = Else Grid1.Cell(i, j).Text = mdbrs.Fields(j - 1) End If Next i = i + 1 mdbrs.MoveNext 读取下一记录LoopFor i = 1 To 13Grid1.Column(i).Locked = TrueNextExit Subfinish:MsgBox Err.DescriptionEnd SubPrivate Sub XPButton1_Click()On Error GoTo finishIf Text1.Text = Thenstr = select * from 学生信息 where & Text1.TextLabel2.Caption = strElsestr = select * from 学生信息Label2.Caption = strEnd IfXPButton2.Enabled = TrueExit Subfinish:MsgBox Err.DescriptionEnd SubPrivate Sub XPButton2_Click()On Error GoTo finishSet mdbrs = mdbconn.Execute(str)Call callmainExit Subfinish:MsgBox Err.DescriptionText1.Text = =End SubPrivate Sub XPButton3_Click()Unload MeEnd Sub3.7 学生选课源代码Private gridsave4 As BooleanPrivate gridedit4 As BooleanPrivate griddelete4 As BooleanPrivate str As StringPrivate Sub Form_Load()On Error GoTo finishmdi = FalseGrid1.SetRegisterInformation CNwinndy, WvyY-nonvk-unty-Zbl_e-hms 进行注册Grid1.Cols = 7Grid1.Column(1).Width = 80Grid1.Column(2).Width = 180Grid1.Column(3).Width = 80Grid1.Column(4).Width = 120Grid1.Column(5).Width = 80Grid1.Column(6).Width = 10With Grid1 .AllowUserResizing = True .DisplayFocusRect = False .ExtendLastCol = True .Appearance = Flat .FixedRowColStyle = Flat .ScrollBarStyle = Flat .DefaultFont.Name = Tahoma .DefaultFont.Size = 8 .BackColorFixed = RGB(84, 201, 134) .BackColorFixedSel = RGB(167, 111, 177) .BackColorBkg = RGB(198, 229, 211) .BackColorScrollBar = RGB(167, 111, 177) .BackColor1 = RGB(231, 235, 247) .BackColor2 = RGB(198, 229, 211) .GridColor = RGB(148, 190, 231) .Column(0).Width = 0End WithSet mdbrs1 = mdbconn.Execute(select * from 学生信息)Grid1.Column(4).CellType = cellComboBoxGrid1.ComboBox(4).ClearDo While Not mdbrs1.EOFGrid1.ComboBox(4).AddItem mdbrs1.Fields(0).Value & - & mdbrs1.Fields(2).Valuemdbrs1.MoveNextLoopSet mdbrs2 = mdbconn.Execute(select * from 课程11)Grid1.Column(2).CellType = cellComboBoxGrid1.ComboBox(2).ClearDo While Not mdbrs2.EOFGrid1.ComboBox(2).AddItem mdbrs2.Fields(0).Value & - & mdbrs2.Fields(1).Valuemdbrs2.MoveNextLoopGrid1.Column(5).CellType = cellComboBoxGrid1.ComboBox(5).ClearGrid1.ComboBox(5).AddItem 主修Grid1.ComboBox(5).AddItem 选修Call callmainExit Subfinish: MsgBox Err.DescriptionEnd SubPrivate Sub Form_Unload(Cancel As Integer)mdi = TrueEnd SubPrivate Sub callmain()On Error GoTo finishgridsave4 = Falsegridedit4 = Truegriddelete4 = TrueSet mdbrs = mdbconn.Execute(select 课程号,课程名称,学号,姓名,课程类型,id from 学生与课程)Grid1.Rows = 1i = 6Grid1.Cols = i + 1For i = 0 To 5Grid1.Cell(0, i + 1).Text = mdbrs.Fields(i).NameNexti = 1Do While Not mdbrs.EOF Grid1.Rows = Grid1.Rows + 1 For j = 1 To 6 设定读取列 If mdbrs.Fields(j - 1) = Null Then 空值的处理 Grid1.Cell(i, j).Text = Else Grid1.Cell(i, j).Text = mdbrs.Fields(j - 1) End If Next i = i + 1 mdbrs.MoveNext 读取下一记录LoopGrid1.Column(1).Locked = TrueGrid1.Column(3).Locked = TrueGrid1.Column(6).Locked = TrueExit Subfinish: MsgBox Err.DescriptionEnd SubPrivate Sub Grid1_CellChange(ByVal Row As Long, ByVal Col
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。