学生信息管理系统(材料)由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“学学生信息管理系统”。
文 摘 要
学生信息,它的工作量可能是其它信息工作量的几倍,班级的增加、班级的查找、班级的修改;学生档案;课程管理;成绩管理;缴费管理;统计等等,每个信息的数据都在不断地变化着,如果采用人工的方式进行操作,那么,一天的工作量,足以让人觉得比较繁琐,吃不消。针对这样的情况,采用让数据的查询变得简单化,数据变的更让每个人都在任何时刻都可以了解到。所以信息管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段
学生信息管理系统是为本校开发的,经过我们仔细分析,系统所采用的语言是Visual Basic,用Microsoft Acce 2000数据库完成。该系统总体有三部分组成,包括系统登录、学生信息查询、数据库的录入。通过本系统,把本校内部查询学生信息、教务信息、学生选课各个环节进行有效地计划、组织和控制。通过本校内部的信息,依据统一数据信息进行管理,把任何一块信息所产生的数据变动及时地反映给其它相关信息,做到数据共享。
关键词:学生信息管理系统 Visual Basic ACCESS数据库
Abstract Student information, it may be the workload of the workload of the other information several times, the increase in cla, the cla of search, Cla changes;Student files;Course management;performance management;Payment management;Statistics etc., Each of data are constantly changing, if artificial way to operate, then the workload of the day, enough to make people think that the more cumbersome, hard to swallow.In such a case, the data used for inquiries become simplistic, What changed the data every one at any time can be learned.Therefore, the information management system is a unit of education as an indispensable part, its contents for the policy makers and school administrators are of great importance.So student information management system should be able to provide users with sufficient information and efficient means of inquiries Student Information Management System for the development of the University, after careful analysis, the system used by the language is Visual Basic, Microsoft Acce 2000 database completed.The whole system has three components, including the system registry, student information inquiries, database input.Through the system, the University Student Information internal inquiry, the Senate information, students claes in all aspects effectively plan, organization and control.By the University of internal information, in accordance with unified data information management, any information from a data reflect changes in a timely manner to other relevant information, so data-sharing
Keywords: Student Information Management System database Visual Basic ACCESS
目录 论 文 摘 要
I ABSTRACT II 目录
III 第1章 绪 论1.1本论文的实际讨论意义第二章 管理信息的基础知识2.1 管理信息系统的概念2.1.1 MIS的结构、特征及相关学科 4 2.2 管理信息系统的产生第三章 系统开发工具——VISUAL BASIC 6.0简介及应用3.1系统功能简介:VISUAL BASIC主要功能特点包括: 3.2开发工具及相关技术简介第四章 数据库ACCESS的基础及应用4.1数据库的概念第五章程序及其分析5.1 程序框图5.2 主界面图:5.3信息查询图表及代码5.4成绩统计表及程序如下:
总结
致
谢
参 考 文 献
8 第1章 绪 论
学生信息管理是每一所高校都必须面对的工作,特别是近几年来,国家政策的调整,我国高等院校大规模的扩招,给高等院校的教学管理、学生管理、后勤管理等方面都带来不少的冲击。特别是对于学校的决策者和管理者来说学生信息管理工作是至关重要的,但一直以来人们使用传统的人工方式管理文件档案,这种管理方式存在许多缺点,如:效率低、保密性差,学生数量的增加,这必然增加了学生档案管理者的工作量和劳动强度,同时将产生大量的文件和数据,这给学生信息的查找、更新和维护都带来了不少困难。据调查,目前我国各类高等院校中还有相当一部分学生档案管理还停留在纸介质的基础上,尤其是中、小学对学生档案的管理更是落后,这样的管理机制已经不能适应时代发展的要求,其管理方法将浪费许多人力和物力。随着科学技术的不断提高,计算机科学与技术日渐成熟,计算机应用的普及已进入人类社会生活的各个领域,并发挥着越来越重要的作用。这种传统的手工管理模式必然被以计算机为物质基础的信息管理方法所取代。
作为计算机应用的一部分,使用计算机对学生档案进行管理,有着手工管理所无法比拟的优点,如:检索迅速、查找方便、可靠性高、存储量大、保密性好、受命长、成本低等。这些优点能够极大地提高学生档案管理的效率,也是学校向科学化、正规化管理发展的必要条件,更是各个高等院校与世界接轨的重要条件。
因此,开发一套能够为用户提供充足的信息和快捷的查询手段的学生信息管理系统,将是非常必要的,也是十分及时的。借此毕业之际利用自己已掌握的各种专业知识,结合实际应用,开发一个学生信息管理系统来帮助学校进行有效的信息,并将其作为自己的毕业设计课题主要完成一些信息的统计和查询等一些重要的功能
经过分析,我们使用MICROSOFT公司的VISUAL BASIC开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。
随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。面对庞大的信息量需要有学生管理系统来提高学生管理工作的效率。通过这样的系统可以做到信息的规范管理、科学统计和快速查询、修改、增加、删除等,从而减少管理方面的工作量。
本系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如查询、修改、增加、删除,另外还考虑到学生选课,针对这些要求设计了学生信息管理系统本系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如查询、修改、增加、删除,另外还考虑到学生选课,针对这些要求设计了学生信息管理系统。
本系统主要包括学生信息查询、教务信息维护和学生选课三部分。其功能主要有:
⒈有关学籍等信息的输入,包括输入学生基本信息、所在班级、所学课程和成绩等。
⒉学生信息的查询,包括查询学生基本信息、所在班级、已学课程和成绩等。
⒊学生信息的修改。⒋班级管理信息的输入,包括输入班级设置、年级信息等。
⒌班级管理信息的查询。
⒍班级管理信息的修改。
⒎学生课程的设置和修改。
1.1本论文的实际讨论意义
当今社会,计算机已经成为我们学习和工作的得力助手,计算机的价格已经十分低廉,性能却有了长足的进步。它已经被应用于许多领域,计算机之所以如此流行的原因主要有以下几个方面: 首先,计算机可以代替人工进行许多繁杂的劳动;其次,计算机可以节省许多资源;第三,计算机可以大大的提高人们的工作效率;第四,计算机可以使敏感文档更加安全,等等。
在学校中用计算机管理学生档案的意义:现在我国的学校中档案的管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。
作为一个非计算机应用专业的学生,希望可以在次方面可以好好的学习到一些实际的意义。改革的总设计师邓小平同志说过“科学技术是第一生产力”,我希望能用我在学校所学的编制出一个实用的程序来帮助学校进行更有效的学生档案管理及实际应用信息。
1.2实际研究论文的目的由于现在高校的学生档案的管理趋向于复杂化和多元化,随着计算机的广泛应用,越来越多的高校均采用了计算机化的管理模式。查询、修改、录入、删除等基本操作都采用了计算机的数据库技术。比起以前使用卡片的方法有了很大的进步,方便管理,易于更新,极大的方便了学生档案的管理工作。因此为提高工作效率,减轻校方人员的工作负担,决定开发学生档案管理系统软件。
开发此学生基本信息管理系统软件,以供行政管理人员使用计算机对学生档案信息进行管理,此系统具有着手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生档案管理的效率,在设计皮系统的同时,也能够为我们提高我们软件开发的能力,学习VB语言编程的技巧,通过本次软件的开发,包括与导师的交流,从中学习了知识、吸取了经验。
第二章 管理信息的基础知识
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对单位的各项事务进行科学化的管理有着无法比拟的优点。例如:查找方便、迅速、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高公司的工作效率,也是公司管理科学化、正规化并与世界接轨的重要条件。2.1 管理信息系统的概念
管理信息系统(Management Information Systems,简称MIS),是一个不断发展的新型学科,MIS的定义随着计算机技术和通信技术的进步也在不断更新,在现阶段普遍认为MIS 是人为或计算机设备以及其他信息处理手段组成并用于管理信息的系统。包括以下几个基本概念:(1)MIS的对象就是信息。信息是经过加工的对决策者有价值的数据。信息的主要特征是来源分散,数量庞大。信息来源于生产第一线、社会环境、市场以及行政管理等部门。信息具有时间性。
(2)系统是由相互联系、相互作用的若干要素按一定的规则组成并具有一定功能的整体。系统由输入、处理、输出、反馈、控制等五个基本要素组成。
(3)管理信息由信息的采集、信息的传递、信息的储存、信息的加工、信息的维护和信息的使用等五个方面组成。
MIS包括计算机、网络通信设备等硬件成分,也包括操作系统、应用软件包等软件成分,并随着计算机技术和通信技术的迅速发展还会出现更多的内容。2.1.1 MIS的结构、特征及相关学科
1.MIS的结构
MIS由信源、信宿、信息处理、信息用户和信息管理者等五个部分组成。2.MIS的特征
完善的MIS具有以下四个标准:确定的信息需求、信息的可采集性与可加工性、可以通过程序为管理人员提供信息、可以对信息进行管理。MIS具有以下特征:
具有统一规划的数据库是MIS成熟的重要标志,它象征着MIS是软件工程的产物。
通过MIS实现信息增值,用数学模型统计分析数据,实现辅助决策。
MIS是发展变化的,MIS有生命周期。
MIS的开发必须具有一定的科学管理工作基础。只有在合理的管理体制、完善的规章制度、稳定的生产秩序、科学的管理方法和准确的原始数据的基础上,才能进行MIS的开发。因此,为适应MIS的开发需求,企业管理工作必须逐步完善以下工作:
管理工作的程序化,各部门都有相应的作业流程。
管理业务的标准化,各部门都有相应的作业规范。
报表文件的统一化,固定的内容、周期、格式。
数据资料的完善化和代码化。
3.MIS的相关学科
MIS是一个交叉性的综合性学科,组成部分有:计算机学科(网络通信、数据库、计算机语言等)、数学(统计学、运筹学、线性规划等)、管理学、仿真等多学科。随着科学技术的高速发展,MIS涉及的范围还要扩大。
2.2 管理信息系统的产生
生产技术的进步,社会活动的复杂化,特别是电子信息技术的迅速发展与广泛应用,使得各种管理工作越来越依赖于对信息的管理。信息作为一种资源,使得人们的工作、生活以及思维方式发生了重大的变革,为企业的生产与经营提供了日益完善的手段。信息的采集、传输、加工和利用成为人们特别是信息工作者的主要活动。企业经理的百分之八十的时间用于信息的传输与处理,一些西方发达国家从事信息处理工作的人数多,在二十世纪八十年代就已经占职工总数的百分之五十以上,而美国1993年政府报告“国家信息基础结构:行动计划”中指出“2/3的美国劳动者从事与信息有关的工作,其余1/3工作在高度依赖于信息的产业部门,”这种职工可以成为“知识工作者”,他们主要就是收集、传输和加工信息,包括编辑文件、写报告、分析信息、作计划等。所以现在各行各业对信息的管理要求越来越大。
显然,计算机在问世之初,只是为了想让它来辅助人们进行科学研究中复杂数值方面的计算,以减少劳动强度,提高工作效率。然而,随着计算机科学的不断发展和进步,是它跨越了数值计算领域,进入管理领域,成为信息处理的重要工具。使用计算机进行信息处理始于1954年,开始是计算机处理工资,现在是计算机在处理各种工作,如旅馆结帐、飞机定票、银行存款、电子购物、电话计费等,已经相当普遍。利用计算机的信息管理、处理能力还可以扩大组织拥有信息的用途。当前所未有的挑战是使用计算机神秘般的能力开始信息管理工作,包括高层管理活动和决策等。
2.3管理信息系统的发展及学生信息系统的简介
信息工作的迅速增长,使计算机的应用范围越来越广泛,应用的功能由一般的数据处理走向支持决策。这就导致了管理信息系统的产生。管理信息系统从产生到现在已经经历了电子数据处理系统(如统计系统、工资系统、数据更新系统等),信息报告系统(如生产报告系统、服务状态报告系统、研究状态报告系统等),支持决策系统,综合服务系统(如综合业务数字网络系统、国际互联网等)等几个阶段。但在我国,由于各种原因,管理信息系统的发展处于初级的数据处理阶段,尽管如此,充分利用我们现有的资源和力量,开发一些适合于本企业或本行业的管理信息系统。也非常重要。随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息也成倍增长。面对庞大的信息量,有必要开发学生信息管理系统来提高学生管理工作的效率。通过这样的系统,可以做到信息的规范管理、科学统计和快速查询,从而减少管理方面的工作量。
本学生信息管理系统包括学籍信息管理、班级信息管理、课程信息管理、成绩信息管理四大模块。管理员可以拥有完全的权限管理系统,而学生用户只拥有查询学籍信息和查询成绩信息的权限。学籍管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学籍管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对学籍信息进行管理,具有着手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生学籍管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样一套学籍管理软件成为很有必要的事情。在下面的各章中我将以开发学籍管理系统为例,谈谈其开发过程和所涉及到的问题及解决方法。
而学籍信息是学校的一项重要的数据资源,学籍管理也是学校的一项常规性的重要工作。而长期以来,学籍管理都是以来人工进行的,面对如此众多的学籍信息,起工作量可想而知。不仅仅浪费了大量的人力物力,而且由于人工管理存在着大量的不可控因素,造成了学籍管理的某些不规范,使得学籍管理陷入“事倍功半”的地步。学生学籍管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生档案管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据
第三章 系统开发工具——Visual Basic 6.0简介及应用 3.1系统功能简介:Visual Basic主要功能特点包括: 3.1.1 提供了面向对象(OOP)的可视化编程工具
把程序和数据封装在一起而视为一个对象。设计程序时只需从现有工具箱中拖出所需的对象,如按钮、滚动条等,在屏幕上设计出用户所要求的布局,VB自动产生界面设计代码,程序设计人员只需编写实现程序功能所需的代码即可,因而程序设计的效率大大提高。3.1.2 事件驱动的编程机制
VB中通过事件来执行对对象的操作,一个对象可以有许多事件过程,不同的事件过程对应不同过程代码。VB开发的应用程序,没有明显的开始和结束标志。3.1.3结构化的程序设计语言
具有丰富的数据类型,众多的内部函数,是一种模块化、结构化的程序设计语言,结构清晰、简单易学。
3.1.4交互式开发
传统的应用开发过程由编码、编译和调试代码3个步骤组成。而Visual Basic使用交互式方法开发应用程序,3个步骤之间没有明显的界限。3.1.5Windows资源共享
VB提供的动态数据交换DDE编程技术,可以在应用程序中实现与Windows应用程序建立动态数据交换、在不同的应用程序之间通行功能。3.1.6开放的数据库功能与网络支持
VB具有很强的数据库管理功能。利用数据控件和数据库管理窗口,可以直接建立和编辑MS Acce 格式的数据库,并提供了强大的数据存储和检索功能,同时还能直接编辑和访问其他外部数据库,如Dbase、FoxPro、Paradox等。3.1.7 得心应手的应用程序向导
VB中使用了许多应用程序向导,可为用户自动创建多种类型和不同功能的应用程序的初始轮廓,另外还有安装向导、数据窗体向导、IIS应用程序DHTML等,使用起来得心应手,省去了一些烦琐的工作。
3.1.8 完善的联机帮助功能
强大的联机帮助功能和示范代码,设计任何时候,只需按下F1键,就会显示必要的提示,运行时,也会对出现的错误给出一定的提示。
在系统中,充分利用了Acce 数据库和Visual Basic 6.0的强大功能,通过实践,也使自己对这些方面有了较深入的了解。在设计过程中力求完善系统功能,使界面友好,具有一定的容错能力,在使用过程中不会出现难以纠正的错误和毛病。
该系统主要提供了六部分,功能分别为导入学生数据,增加删除学生,住宿分配,住宿调整,退房管理,走读管理,学生情况查询,房源使用情况,空床统计情况,分类统计情况,卫生成绩录入,卫生查询与统计,公寓违纪录入,公寓违纪查询,添加用户,修改密码,退出系统,这些功能基本上覆盖了学生公寓管理的主要部分。3.2开发工具及相关技术简介
Visual Basic 6.0 开发语言及环境简介 Visual Basic 6.0是在原有的Basic语言的基础上的进一步发展,他包含了数百条语句。函数及关键词,其中很多与Windows GUI有直接的关系。Visual Basic 语言简单易学,只要稍有语言基础就可以很快的掌握并进而精通。可视化的用户界面设计功能,把程序设计人员从繁琐复杂的截面设计中解脱出来;可视化编程环境的“所见即所得(WYSIWYG)”功能,是界面设计如积木游戏一般,编程变成了一种享受;强大的多媒体功能可轻而易举地开发出集声音,动画,影像和图片于一体的多媒体应用程序;新增的网络功能提供了编写Internet程序的能力。Visual Basic 6.0 还支持用户自己开发ActiveX控件和制作ActiveX文档。
作为高质量的开发软件,Visual Basic 6.0有如下特点:
1.语句生成器和快速提示帮助使用户不必记忆成千上万的属性和方法,在较短的时间内就能开发出功能强大的应用程序。
2.在Visual Basic 6.0中,Internet应用程序的开发功能更加强大和容易。在应用程序内可以通过Internet 或Intranet访问其他计算机中的文档和应用程序;可以创建Internet服务器应用程序,包括IIS应用程序;支持HTML技术(DHTML)的应用程序;具有Web应用程序发布功能等。
3.种类繁多、功能强大的多媒体控件,能帮助用户在较短时间内用较少的语句编写出图文声像并茂的多媒体程序。
4.Visual Basic 6.0在数据库处理功能上有较大增强,能对多种数据库进行读写操作。另外他所提供的[可视化数据管理器]能帮助用户构造多种类型的数据库,同时提供了能自动生成SQL语句的功能和新的ActiveX数据对象ADO。
5.新的语言特征包括:用户自定义类型可以作为参数或作为公共属性和方法的返回值;函数可以返回数组变量;动态数组可以赋值;文件系统对象;按名调用(Call By Name);增强的创建对象函数(CreateObject Function Enhancements);增强的StrConv函数。
6.[应用程序安装向导]能帮助用户自动生成具有一定功能的应用程序,大大加快了程序的开发速度。增强的向导有:安装程序向导、数据窗体向导、应用程序向导和类生成工具。新的向导有:数据对象生成向导和工具条向导。3.3 Visual Basic 语言的特点
Visual Basic 语言用其设计应用程序时具有两个基本特点:可视化设计和事件驱动编程。(1)可视化设计:表现在VB在设计应用于程序界面时有“所见即所得”的处理功能。(2)事件驱动编程:在设计应用程序时,把对象添加到窗体中,在用户与程序进行交互时,用户基本上是通过鼠标、键盘与应用程序进行交互的,那些对象就必须对鼠标和键盘操作所引发的事件做出响应,来执行一段应用程序。
3.4Visual Basic 系统几个在程序应用中的常用名词
Visual Basic 系统除了一般高级语言所具有的一些名词术语外,还有几个系统常用的名词。其基本含义如下:(1)视窗(Form)
视窗是进行人机交互的界面或接口,也叫窗体。VB系统的人机交互界面或接口,无论是在设计时或是在运行时,都是Windows 系统的标准视窗。(2)对象(Object)对象是VB系统内部提供给设计者可以直接使用的处理输出的控制工具。本程序所应用到的对象类型有标签框(Label Box),文本框(Text Box),命令按扭(Command Button),网格(Data Grid),ADO控件(Adodc1)等。当把这些工具放置到用户界面对应的窗体上时,被称为对象或控件。用户可以通过设置对象的“属性”和“方法”,便于对象适应自己所设计应用程序的输入输出内容,对象的生成过程及结构都被封装起来。正确使用对象可以减少程序和开发时间,提高程序设计者的工作效率。(3)属性(Properties)属性是VB系统提供的有关对象的参数或数据接口。用户通过适当地设置或改变对象的属性来确定对象的外观及性能特征,从而有效地使用系统提供的对象。比如,对象的名称、在屏幕上显示的位置、大小、颜色、接收或容纳的数据内容及数据的表现格式等。(4)事件(Events)事件是指用户或操作者对计算机进行的某一操作(如击键、单击或移动鼠标等)的行为或系统状态发生的变化。VB系统常用事件来引导计算机执行一段程序。程序所用的键盘事件有KeyPre(按键)事件,KeyDown事件和KeyUp事件;鼠标事件有Click(单击鼠标)事件,DbDlicd(双击鼠标)。(5)方法(Method)方法主要是指对一个对象使用某种作用的过程。它是在程序执行的过程中要计算机执行的某种操作。其程序的方法有Show(显示)方法,Hide(隐藏)方法,Refresh(刷新)方法。(6)过程(Procedure)过程是指经过定义或说明的,或基于某一对象对应的事件所引发的程序段。(7)模块(Module)模块是指一些运算量或过程进行声明或定义的一个集合。系统程序大体可分成四个模块:数据输入、根据查询、数据打印和通讯。
3.5 面对对象的编程
面向对象的设计方法(OOP, Objected Programming)从应用领域内的问题着手,以直观自然的方式描述客观世界的实体。Visual Basic 作为一种面向对象的编程方法,把程序和数据封装起来作为一个对象,并为每个对象赋予相应的属性。在设计对象时,不必编写建立和描述每个对象的程序代码,而是用工具画在界面上,由 Visual Basic 自动生成对象的程序代码并封装起来。Visual Basic 应用程序基本的构建块是用户所创建的对象,每一个对象都具有一些特性和行为(属性、事件和方法)。开发人员可以最有效利用所创建的每一个对象。使用应用程序具有可通用性可说扩展性和强有力的功能。
Visual Basic 应用由一系列对象组成,包括有函数、菜单、函数、结构和数据窗口、用户对象、用户事件等等,对象中又包含若干控件如命令按钮、单行编辑器等这些对象和控件都可在许多应用中重复使用。3.5.1 实现菜单选项
菜单是程序最重要的特性之一,大多数程序都依赖一个定义良好的菜单使程序易于使用和维护,Visual Basic 也提供了强大的创建菜单功能是程序更加标准。
本系统使用 Visual Basic 的菜单编辑器建立菜单或者修改已经存在的菜单,您也可以使用Visual Basic 的Application Wizard 来操作。3.5.2 实现工具栏
CoolBar控件与Office2000 中看到的CoolBar是类似的。CoolBar就是一个可以在窗体上浮动的工具,同时也是其他ActiveX的容器。通过在CoolBar中迁入其他空间你也可以向用户提供更好的灵活性和义用性。
选择“工程”下拉菜单中的“部件”选项,显示“部件”对话框。在“控件”选项卡列表中选择“Microsoft Windows Common Controls 6.0”后工具相中增加改控件。
本系统就用了Cool工具中的Statubar控件,在系统这一界面中,添加了状态栏,在第一个栏中,在样式这一栏中选择了文本,在第二个栏中,选择了系统日期,第三个栏中选择了系统时间,这样,任何时候操作本系统,都可以看到当前的时间和日期。第四章 数据库Acce的基础及应用 4.1数据库的概念 数据库是一种存储数据并对数据进行操作的工具。数据库的作用在于组织和表达信息,简而言之,数据库就是信息的集合。计算机的数据库可以分为两类:非关系数据库(flat-file)和关系数据库(relational)。关系数据库中包含了多个数据表的信息,数据库含有各个不同部分的术语,象记录、域等。
新建一个数据库,创建任何一个数据库的第一步是仔细的规划数据库,设计必须是灵活的、有逻辑的。创建一个数据库结构的过程被认为是数据模型设计。1. 标识需要的数据;
2. 收集被标识的字段到表中; 3. 标识主关键字字段; 4. 绘制一个简单的数据图表; 5. 规范数据;
6. 标识指定字段的信息; 7. 创建物理表。修改已建的数据库
数据库的修改分为:添加、编辑和删除记录。这三种操作均可由Visual Basic 创建的程序来完成,下面的章节将详细描述实现的具体方法。实现数据库之间的联系
数据库之间的关系指明两个库之间共享一个共同的关键字值。一个连接是指一种虚拟的表,这种表是在当用户要求从相互关联的各个不同的表中获取信息时建立的,关键字段用于在相互连接的不同表中查找匹配的记录。一个更高级的连接形式称为自连接。这种连接是指一个表被连接到它自己的一个字段,或在不同的纪录中由重复数据的组合字段。数据库中有三种不同类型的关键字:主关键字、组合关键字和外关键字。在表中使用的关键字类型用于描述库表示什么以及在数据库中如何与其它的库建立关系。
第五章程序及其分析 5.1 程序框图
5.2 主界面图:
5.3信息查询图表及代码 Dim i, j, n As Integer Dim sql As String Private Declare Function GetKeyState Lib “user32” _(ByVal nVirtKey As Long)As Integer Public je As Integer '记忆菜单上次数值,实现数据传送
Private Sub acg_Click()Call asPopup7_Click(False)End Sub
Private Sub addcg_Click()Call asPopup6_Click(False)End Sub
Private Sub addstudent_Click()Call asPopup2_Click(False)End Sub
Private Sub asPopup1_Click(Cancel As Boolean)Grid1.Visible = True Grid2.Visible = False tkbase = “学生信息” fnumber = 13 sql = “select * from ” & tkbase & “ order by 学号 desc” grid1pz '执行grid1的分配空间任务 datagrid '按要求读取数据空间 End Sub Private Sub grid1pz()'处理grid1的操作 Grid1.Cols = fnumber + 1 Grid1.Column(1).Width = 120 Grid1.Column(2).Width = 100 Grid1.Column(3).Width = 80 Grid1.Column(4).Width = 40 Grid1.Column(5).Width = 80 Grid1.Column(6).Width = 30 Grid1.Column(7).Width = 50 Grid1.Column(8).Width = 80 Grid1.Column(9).Width = 60 Grid1.Column(10).Width = 80 Grid1.Column(11).Width = 100 Grid1.Column(12).Width = 100 Grid1.Column(13).Width = 100 Grid1.Column(4).CellType = cellComboBox Grid1.ComboBox(4).Clear Grid1.ComboBox(4).AddItem “男” Grid1.ComboBox(4).AddItem “女” Grid1.Column(5).CellType = cellCalendar Grid1.Column(2).CellType = cellComboBox Grid1.ComboBox(2).Clear Set qy2 = cnn.Execute(“select 班级名称 from 班级”)Do While Not qy2.EOF
Grid1.ComboBox(2).AddItem qy2.Fields(0)qy2.MoveNext Loop Grid1.Column(9).CellType = cellComboBox Grid1.ComboBox(9).Clear Grid1.ComboBox(9).AddItem “团员” Grid1.ComboBox(9).AddItem “党员” Grid1.ComboBox(9).AddItem “无” Grid1.Column(1).Locked = True End Sub
Private Sub asPopup10_Click(Cancel As Boolean)Dim fo2 As CTranslucentForm Set fo2 = New CTranslucentForm fo2.hWnd = Form6.hWnd fo2.Alpha = 90 / 100 * 255 Me.WindowState = vbMinimized Load Form6 Form6.Show 1 End Sub
Private Sub asPopup2_Click(Cancel As Boolean)Grid1.Visible = True Grid2.Visible = False tkbase = “学生信息” fnumber = 13 Set qy1 = cnn.Execute(“select * from ” & tkbase)grid1pz For i = 1 To fnumber Grid1.Cell(0, i).Text = qy1.Fields(i1).Name Next Grid2.Rows = 1 Grid2.Rows = 21 gridsave = True gridedit = False griddel = False Grid2.Column(1).Locked = False Grid2.Column(2).Locked = True Grid2.Column(3).Locked = False Grid2.Column(4).Locked = True End Sub
Private Sub asPopup7_Click(Cancel As Boolean)Grid1.Visible = False Grid2.Visible = True tkbase = “学生与课程” fnumber = 6 sql = “select * from ” & tkbase & “ order by 学号 asc” gridpz2 datagrid gridsave = False gridedit = True griddel = True Grid2.Column(1).Locked = True Grid2.Column(2).Locked = True Grid2.Column(3).Locked = True Grid2.Column(4).Locked = True End Sub Private Sub gridpz2()Grid2.Cols = 8 Grid2.Column(1).Width = 120 Grid2.Column(3).Width = 120 Grid2.Column(1).CellType = cellComboBox Set qy1 = cnn.Execute(“select * from 课程”)Grid2.ComboBox(1).Clear Do While Not qy1.EOF
Grid2.ComboBox(1).AddItem qy1.Fields(0)& “-” & qy1.Fields(1)qy1.MoveNext Loop Grid2.Column(3).CellType = cellComboBox Set qy1 = cnn.Execute(“select 学号,名字 from 学生信息”)Grid2.ComboBox(3).Clear Do While Not qy1.EOF
Grid2.ComboBox(3).AddItem qy1.Fields(0)& “-” & qy1.Fields(1)qy1.MoveNext Loop End Sub
Private Sub asPopup8_Click(Cancel As Boolean)Dim fo2 As CTranslucentForm Set fo2 = New CTranslucentForm fo2.hWnd = Form7.hWnd fo2.Alpha = 85 / 100 * 255 Load Form7 Form7.Show 1 End Sub
Private Sub asPopup9_Click(Cancel As Boolean)End End Sub
Private Sub c1_Click(Index As Integer)'提交内容到函数执行,4为当前菜单(0-4),index是按钮数组名称 cmove 4, Index End Sub Private Sub cmove(s As Integer, i As Integer)'菜单智能移动函数代码S代表菜单的总数,i代表当前移动的是数组名称 Dim j As Integer Dim X, Y, z, x1, y1 As Integer X = s '将x,y,z,x1赋于菜单总数,x存放frame1的固定值 Y = s 'y存放的是移动后的按钮的固定值 z = s 'Z没用上 x1 = s 'X1没用上 j = 0 'j计算按钮的宽度
Do While s > 0 ' 这里是通过重复计算来计算按钮所需移动的总高度
If je > i Then
Do While X > i
Do While Y >= X
j = j + 360 '360是每个按钮的高度
Y = Yj
X = X360
j = 0
Next
End If s = sFre2(y1).Top
Else
Fre2(y1).Height = Fre1.Heightc1(y1).Height
End If
Else
Fre2(y1).Visible = False
End If Next Loop je = i '这里是记忆上次移动的按钮数组编号 End Sub
Private Sub cgdel_Click()Call XPButton6_Click End Sub
Private Sub cgedit_Click()Call XPButton4_Click End Sub
Private Sub delstudent_Click()Call XPButton6_Click End Sub
Private Sub editstudent_Click()Call XPButton4_Click End Sub
Private Sub findcg_Click()If hang = 0 Then Exit Sub End If Grid1.Visible = False Grid2.Visible = True tkbase = “学生与课程” fnumber = 5 sql = “select * from 学生与课程 where 学号='” & Grid1.Cell(hang, 1).Text & “'” gridpz2 datagrid gridsave = False gridedit = True griddel = True Grid2.Column(1).Locked = True Grid2.Column(2).Locked = True Grid2.Column(3).Locked = True End Sub
Private Sub Frame2_DragDrop(Source As Control, X As Single, Y As Single)
End Sub
Private Sub Grid1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)If Button = 2 Then If gridsave = True Then savestudent.Enabled = True Else savestudent.Enabled = False End If If gridedit = True Then editstudent.Enabled = True Else editstudent.Enabled = False End If If griddel = True Then delstudent.Enabled = True Else delstudent.Enabled = False End If If admin = False Then addstudent.Enabled = False savestudent.Enabled = False editstudent.Enabled = False delstudent.Enabled = False End If PopupMenu student End If End Sub
Private Sub Grid1_RowColChange(ByVal Row As Long, ByVal Col As Long)hang = Row If gridsave = True And Col = 5 Then '确认默认年龄在20岁左右
If Row 0 Then Grid1.Cell(Row, 5).Text = Date1 Then
Grid1.Range(nActiveRow, nActiveCol + 1, _
nActiveRow, nActiveCol + 1).Selected
End If
Cancel = True
End If End Sub Private Sub Form_Load()On Error GoTo finish Grid1.SetRegisterInformation “CNwinndy”, “W]vyY-nonvk-unty-Zbl_e-`hms^” '进行注册
Grid2.SetRegisterInformation “CNwinndy”, “W]vyY-nonvk-unty-Zbl_e-`hms^” '进行注册
Label2.Caption = “今天是” & Year(Date)& “年” & Month(Date)& “月” & Day(Date)& “日,欢迎您进入!” Frame2.Visible = False
form1.BackColor = RGB(167, 111, 177)'-------------管理员验证 If admin = False Then c1(3).Enabled = False
asPopup2.Enabled = False '增加学生 asPopup4.Enabled = False '课程管理 asPopup6.Enabled = False '输入成绩 XPButton4.Enabled = False XPButton5.Enabled = False XPButton6.Enabled = False End If With 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 With With Grid2.AllowUserResizing = True.DisplayFocusRect = False.ExtendLastCol = True.Appearance = Flat.FixedRowColStyle = Flat.ScrollBarStyle = Flat.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 With je = 4 Dim fr As Integer Fre1.BackColor = RGB(168, 217, 189)For fr = 0 To 4 Fre2(fr).Visible = False Fre2(fr).BackColor = RGB(106, 137, 188)Next Grid2.Visible = False Call c1_Click(0)Exit Sub finish: MsgBox Err.Description End Sub
Private Sub Grid2_CellChange(ByVal Row As Long, ByVal Col As Long)'使用智能输入 If Grid2.Cell(Row, 1).Text “” And Row 0 Then Dim length1, length2 As Integer length1 = Len(Grid2.Cell(Row, 1).Text)Do While length2
length2 = length2 + 1
If Right(Left(Grid2.Cell(Row, 1).Text, length2), 1)= “-” Then
Grid2.Cell(Row, 2).Text = Mid(Grid2.Cell(Row, 1).Text, length2 + 1, length1)
Grid2.Cell(Row, 1).Text = Mid(Grid2.Cell(Row, 1).Text, 1, length21)
Exit Do
End If Loop End If End Sub Private Sub Grid2_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)If Button = 2 Then If admin = False Then cgedit.Enabled = False cgdel.Enabled = False
addcg.Enabled = False End If PopupMenu cg End If End Sub
Private Sub Grid2_RowColChange(ByVal Row As Long, ByVal Col As Long)hang = Row End Sub
Private Sub datagrid()griddelete = True '允许删除 gridedit = True If tkbase = “学生信息” Then If qy1.State = adStateOpen Then '表状态 qy1.Close End If qy1.Open sql, cnn, adOpenStatic, adLockReadOnly, adCmdText For i = 1 To fnumber Grid1.Cell(0, i).Text = qy1.Fields(i1)Is Nothing Then '空值的处理
Grid1.Cell(i, j).Text = qy1.Fields(j1).Name Next qy1.PageSize = 20 nnum = qy1.PageCount If qy1.PageCount = 0 Then nnum = 1 End If numpage = 1 Label1.Caption = “共” & nnum & “页 第” & numpage & “页” Grid2.Rows = 1 Grid2.Rows = 21 If qy1.RecordCount = 0 Then Exit Sub End If qy1.AbsolutePage = numpage For i = 1 To qy1.PageSize '设定读取行 For j = 1 To fnumber '设定读取列
If qy1.EOF = True Then Exit Sub End If If Not qy1.Fields(j1)Else Grid2.Cell(i, j).Text = “” End If Next If qy1.EOF = False Then qy1.MoveNext '读取下一记录 Else Exit Sub End If Next End If End Sub
Private Sub Grid2_Validate(Cancel As Boolean)
Dim nActiveRow As Long, nActiveCol As Long
Const VK_TAB = 9
If GetKeyState(VK_TAB)
nActiveRow = Grid1.ActiveCell.Row
nActiveCol = Grid1.ActiveCell.Col
If nActiveCol
If qy1.Fields(j1)End If Next qy1.MoveNext '读取上一记录 Next End If Label1.Caption = “共” & nnum & “页 第” & numpage & “页” ElseIf tkbase = “学生与课程” Then If numpage > 1 Then numpage = numpage1)= Null Then '空值的处理 Grid2.Cell(i, j).Text = “” Else Grid2.Cell(i, j).Text = qy1.Fields(j1)= Null Then '空值的处理 Grid1.Cell(i, j).Text = “” Else Grid1.Cell(i, j).Text = qy1.Fields(j1)= Null Then '空值的处理 Grid2.Cell(i, j).Text = “” Else Grid2.Cell(i, j).Text = qy1.Fields(j1 If Grid1.Cell(hang, 1).Text = “” Then MsgBox “己完成修改操作!”, , “提示” Exit Sub End If sql = “update ” & tkbase & “ set ”
For j = 2 To fnumber1).Name & “='” & Grid1.Cell(hang, j).Text & “',”
Next sql = sql & qy1.Fields(j1 If Grid2.Cell(hang, 1).Text = “” Then MsgBox “己完成修改操作!”, , “提示” Exit Sub End If sql = “update ” & tkbase & “ set ”
For j = 2 To fnumber1).Name & “='” & Grid2.Cell(hang, j).Text & “',”
Next sql = sql & qy1.Fields(j1
sql = sql & Grid1.Cell(i, j).Text & “','”
Next sql = sql & Grid1.Cell(i, fnumber).Text & “')” Set qy1 = cnn.Execute(sql)End If Next MsgBox “命令执行完毕!”, vbInformation, “完成” Grid1.Rows = 1 Grid1.Rows = 21 Case “学生与课程” MsgBox “未授权版本,学生与课程的保存代码未执行” End Select gridsave = False griddelete = False '拒绝删除 gridedit = False
Exit Sub tkFinish:
MsgBox Err.Description End Sub Private Sub XPButton6_Click()On Error GoTo tkFinish MsgBox “未授权版本,不支持目标删除操作!”, , “提示” Exit Sub tkFinish:
MsgBox Err.Description End Sub
Private Sub XPButton8_Click(Index As Integer)Call findcg_Click End Sub
5.4成绩统计表及程序如下:
相关程序代码如下:
Private Sub Form_Load()XPFrame1.Visible = False
Set qy2 = cnn.Execute(“select 班级名称 from 班级”)Do While Not qy2.EOF
Combo1.AddItem qy2.Fields(0)qy2.MoveNext Loop Set qy2 = cnn.Execute(“select 课程名称 from 课程”)Do While Not qy2.EOF
Combo2.AddItem qy2.Fields(0)qy2.MoveNext Loop End Sub
Private Sub XPButton1_Click()If XPRadioButton1.Value = True Then XPFrame1.Visible = False
If Combo1.Text “” And Combo2.Text “” Then tbsql1 = “select 姓名,avg(成绩)as 平均成绩,max(成绩)as 最高分,min(成绩)as 最低分 from 学生与课程,学生信息 where 学生与课程.学号=学生与课程.学号 and 学生信息.学号=学生与课程.学号 and 班级='” & Combo1.Text & “' and 课程名称='” & Combo2.Text & “' Group by 姓名 order by avg(成绩)desc” tbbm1 = Combo1.Text & Combo2.Text & “ 成绩统计表” tbsql2 = “select 成绩 from 学生与课程,学生信息 where 学生与课程.学号=学生信息.学号 and 班级='” & Combo1.Text & “' and 课程名称='” & Combo2.Text & “'” ElseIf Combo1.Text “” Then tbsql1 = “select 姓名,avg(成绩)as 平均成绩,max(成绩)as 最高分,min(成绩)as 最低分 from 学生与课程,学生信息 where 学生与课程.学号=学生与课程.学号 and 学生信息.学号=学生与课程.学号 and 班级='” & Combo1.Text & “' Group by 姓名 order by avg(成绩)desc” tbbm1 = Combo1.Text & “所有成绩统计表” tbsql2 = “select 成绩 from 学生与课程,学生信息 where 学生与课程.学号=学生信息.学号 and 班级='” & Combo1.Text & “'” Else tbsql1 = “select 姓名,avg(成绩)as 平均成绩,max(成绩)as 最高分,min(成绩)as 最低分 from 学生与课程,学生信息 where 学生与课程.学号=学生与课程.学号 and 学生信息.学号=学生与课程.学号 Group by 姓名 order by avg(成绩)desc” tbbm1 = “所有学生成绩统计表” tbsql2 = “select 成绩 from 学生与课程,学生信息 where 学生与课程.学号=学生信息.学号” End If Unload Me Form5.Show 1 Else If Combo1.Text “” Then Cla = Combo1.Text tbbm1 = Combo1.Text & “ 成绩统计表” Else MsgBox “未选择班级!” XPFrame1.Visible = False Exit Sub End If Unload Me Form8.Show 1 End If End Sub
登陆界面
成绩查询图表如下:
相关程序代码如下: Private Sub Form_Load()XPFrame1.Visible = False
Set qy2 = cnn.Execute(“select 班级名称 from 班级”)Do While Not qy2.EOF
Combo1.AddItem qy2.Fields(0)qy2.MoveNext Loop Set qy2 = cnn.Execute(“select 课程名称 from 课程”)Do While Not qy2.EOF
Combo2.AddItem qy2.Fields(0)qy2.MoveNext Loop End Sub
Private Sub XPButton1_Click()If XPRadioButton1.Value = True Then XPFrame1.Visible = False
If Combo1.Text “” And Combo2.Text “” Then tbsql1 = “select 姓名,avg(成绩)as 平均成绩,max(成绩)as 最高分,min(成绩)as 最低分 from 学生与课程,学生信息 where 学生与课程.学号=学生与课程.学号 and 学生信息.学号=学生与课程.学号 and 班级='” & Combo1.Text & “' and 课程名称='” & Combo2.Text & “' Group by 姓名 order by avg(成绩)desc” tbbm1 = Combo1.Text & Combo2.Text & “ 成绩统计表” tbsql2 = “select 成绩 from 学生与课程,学生信息 where 学生与课程.学号=学生信息.学号 and 班级='” & Combo1.Text & “' and 课程名称='” & Combo2.Text & “'” ElseIf Combo1.Text “” Then tbsql1 = “select 姓名,avg(成绩)as 平均成绩,max(成绩)as 最高分,min(成绩)as 最低分 from 学生与课程,学生信息 where 学生与课程.学号=学生与课程.学号 and 学生信息.学号=学生与课程.学号 and 班级='” & Combo1.Text & “' Group by 姓名 order by avg(成绩)desc” tbbm1 = Combo1.Text & “所有成绩统计表” tbsql2 = “select 成绩 from 学生与课程,学生信息 where 学生与课程.学号=学生信息.学号 and 班级='” & Combo1.Text & “'” Else tbsql1 = “select 姓名,avg(成绩)as 平均成绩,max(成绩)as 最高分,min(成绩)as 最低分 from 学生与课程,学生信息 where 学生与课程.学号=学生与课程.学号 and 学生信息.学号=学生与课程.学号 Group by 姓名 order by avg(成绩)desc” tbbm1 = “所有学生成绩统计表” tbsql2 = “select 成绩 from 学生与课程,学生信息 where 学生与课程.学号=学生信息.学号” End If Unload Me Form5.Show 1 Else If Combo1.Text “” Then Cla = Combo1.Text tbbm1 = Combo1.Text & “ 成绩统计表” Else MsgBox “未选择班级!” XPFrame1.Visible = False Exit Sub End If Unload Me Form8.Show 1 End If End Sub 成绩统计;
Private mblnChanged As Boolean Private Sub Form_Load()On Error GoTo finish Grid1.SetRegisterInformation “CNwinndy”, “W]vyY-nonvk-unty-Zbl_e-`hms^” '进行注册
Dim i As Long
Dim ac1, ac2, ac3, ac4, ac5 As Integer
Grid1.AutoRedraw = False
Grid1.CellBorderColorFixed = vbButtonShadow
Grid1.FixedRowColStyle = Flat
Grid1.Rows = 40
Grid1.Cols = 5
Grid1.RowHeight(1)= 30 For i = 1 To 1 Grid1.Column(i).Width = 70
Next
'设置单元格文字
Grid1.Cell(1, 1).Text = tbbm1 '图表的表名称
Grid1.Cell(2, 1).Text = “姓 名”
Grid1.Cell(3, 1).Text = “平均分”
Grid1.Cell(4, 1).Text = “最高分”
Grid1.Cell(5, 1).Text = “最低分”
Set qy1 = cnn.Execute(tbsql1)
If qy1.EOF = True Then
MsgBox “无任何对应数据!”
Exit Sub
End If
Do While Not qy1.EOF
Grid1.Cols = Grid1.Cols + 1
Grid1.Cell(2, Grid1.Cols1).Text = Mid(qy1.Fields(1), 1, 4)
Grid1.Cell(4, Grid1.Cols1).Text = Mid(qy1.Fields(3), 1, 4)
qy1.MoveNext
Loop For i = 1 To Grid1.Cols1).Merge
Grid1.Range(1, 1, 5, 1).Alignment = cellCenterCenter
Grid1.Range(2, 1, 2, Grid1.Cols1).Alignment = cellRightCenter
Grid1.Range(2, 1, 2, Grid1.Cols1)
.Borders(cellEdgeLeft)= cellThin
.Borders(cellEdgeRight)= cellThin
.Borders(cellEdgeTop)= cellThin
.Borders(cellEdgeBottom)= cellThin
.Borders(cellInsideHorizontal)= cellThin
.Borders(cellInsideVertical)= cellThin
End With
'添加一个3D柱形图表,并设置细边框
With Grid1.Range(7, 1, 15, Grid1.Cols1
.ChartType = cell3DColumnClustered
.ScaleFont = False
End With
Set qy2 = cnn.Execute(tbsql2)Dim cg As Double
'对成绩进行图表显示
Do While Not qy2.EOF
cg = qy2.Fields(0)
Select Case cg
Case 90 To 150
ac1 = ac1 + 1
Case 80 To 89
ac2 = ac2 + 1
Case 70 To 79
ac3 = ac3 + 1
Case 60 To 69
ac4 = ac4 + 1
Case 0 To 59
ac5 = ac5 + 1
End Select
qy2.MoveNext Loop
Grid1.Cols = Grid1.Cols + 5
Grid1.Cell(17, 1).Text = “比例统计”
Grid1.Cell(18, 1).Text = “优”
Grid1.Cell(18, 2).Text = “良”
Grid1.Cell(18, 3).Text = “中”
Grid1.Cell(18, 4).Text = “及格”
Grid1.Cell(18, 5).Text = “不及格”
Grid1.Cell(19, 1).Text = ac1
Grid1.Cell(19, 2).Text = ac2
Grid1.Cell(19, 3).Text = ac3
Grid1.Cell(19, 4).Text = ac4
Grid1.Cell(19, 5).Text = ac5
'设置单元格格式
Grid1.Cell(17, 1).Font.Size = 11
Grid1.Range(17, 1, 17, 5).Merge
Grid1.Range(17, 1, 17, 5).Alignment = cellCenterCenter
Grid1.Range(18, 1, 19, 5).Alignment = cellCenterCenter
Grid1.Range(18, 1, 18, 5).BackColor = vbYellow
With Grid1.Range(18, 1, 18, 5)
.Borders(cellEdgeLeft)= cellThin
.Borders(cellEdgeRight)= cellThin
.Borders(cellEdgeTop)= cellThin
.Borders(cellEdgeBottom)= cellThin
.Borders(cellInsideHorizontal)= cellThin
.Borders(cellInsideVertical)= cellThin
End With
'添加一个饼图
With Grid1.Range(22, 1, 32, 5)
.Merge
.Borders(cellEdgeLeft)= cellThin
.Borders(cellEdgeRight)= cellThin
.Borders(cellEdgeTop)= cellThin
.Borders(cellEdgeBottom)= cellThin
End With
Grid1.AddChart 22, 1
With Grid1.Chart(22, 1)
.SetDataSource 18, 1, 19, 5
.ChartType = cell3DPie
.DisplayDataLabels = True
.ScaleFont = False
End With
Grid1.PageSetup.CenterHorizontally = True
'设置打印区域
Grid1.PageSetup.PrintRows = 37
Grid1.PageSetup.PrintColumns = 4
Grid1.AutoRedraw = True
Grid1.Refresh Exit Sub finish:
MsgBox Err.Description 'MsgBox “无此对象或其它参数错误!” End Sub
Private Sub Form_Resize()If Me.WindowState 1 Then
Grid1.Left = 240
Grid1.Width = Me.Width960 End If End Sub
总结
通过近三个月的毕业设计,经过资料的收集、方案的选择比较和论证,到分析计算,再到程序的编制以及毕业设计论文的撰写等各个环节,我对大学三年专科阶段的知识有了一个整体的深层次的理解,同时对程序的理解更加深刻和准确。因此,通过毕业设计实现了预期目标
致
谢
我由衷的感谢我的指导老师杜涛对我的学习、工作、以及课题的研究和论文撰写过程中面临的问题所给的细心指导和无私帮助感谢和我一起做毕业设计的何爱云 常旭存同学给我的帮主和启迪 使我们正确按时地完成了此次毕业设计的全部内容,也感谢机电工程系教研室全体老师、支持我的其他老师和同学对我的热心帮助。谨向审评本文的各位专家、老师致意!
参 考 文 献
[1].刘新民,蔡琼,白康生编著《Visual Basic 6.0程序设计》清华大学出版社2004
[2].郭胜,夏邦贵编著《Visual Basic数据库开发入门与范例解析》机械工业出版社2004.1
[3].王彬华,李建华编著《Visual Basic实例教程》电子科技大学出版社2004.4
[4].刘韬,骆娟,何旭洪编著《Visual Basic数据库系统开发实例导航(第二版)》人民邮电出版社2003.8
[5].孙越编著《Visual Basic数据库开发自学教程》人民邮电出版社2003.7
[6].郭晓烹编著《Visual Basic高级编程及其项目应用开发》中国水利水电出版社
[7].曹青 郭志强编著的《Visual Basic程序设计教程》机械工业出版社