首页 毕业设计(论文)-VB+ACCESS学生信息管理系统----系统主界面设计、系统登陆及系统调试 

毕业设计(论文)-VB+ACCESS学生信息管理系统----系统主界面设计、系统登陆及系统调试 

举报
开通vip

毕业设计(论文)-VB+ACCESS学生信息管理系统----系统主界面设计、系统登陆及系统调试 毕业设计(论文)-VB+ACCESS学生信息管理系统----系统主界面设计、系统登陆及系统调试  题 目: 学生信息管理系统----系统主界面设 计、系统登陆及系统调试 专 业: 班 级: 04423 学 号: 24 姓 名: 指导老师: 成都电子机械高等专科学校 二〇〇七年六月 成都电子机械高等专科学校毕业设计(论文) 论 文 摘 要 学生信息管理系统是为本校开发的,经过我们仔细分析,系统所采用的语言是Visual Basic,用Microsoft Access 2000数据库完成。该系统总体有三...

毕业设计(论文)-VB+ACCESS学生信息管理系统----系统主界面设计、系统登陆及系统调试 
毕业设计(论文)-VB+ACCESS学生信息管理系统----系统主界面设计、系统登陆及系统调试  快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 目: 学生信息管理系统----系统主界面设 计、系统登陆及系统调试 专 业: 班 级: 04423 学 号: 24 姓 名: 指导老师: 成都电子机械高等专科学校 二〇〇七年六月 成都电子机械高等专科学校毕业设计(论文) 论 文 摘 要 学生信息管理系统是为本校开发的,经过我们仔细分析,系统所采用的语言是Visual Basic,用Microsoft Access 2000数据库完成。该系统总体有三部分组成,包括系统登录、学生信息查询、数据库的录入。通过本系统,把本校内部查询学生信息、教务信息、各个环节进行有效地计划、组织和控制。统计等等,每个信息的数据都在不断地变化着,如果采用人工的方式进行操作,那么,一天的工作量,足以让人觉得比较繁琐,吃不消。针对这样的情况,采用让数据的查询变得简单化,数据变的更让每个人都在任何时刻都可以了解到。所以信息管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段,通过本校内部的信息,依据统一数据信息进行管理,把任何一块信息所产生的数据变动及时地反映给其它相关信息,做到数据共享。 控件、窗体、域、ACCESS数据库 、Visual Basic 关键词: I 成都电子机械高等专科学校毕业设计(论文) Abstract Student information, it may be the workload of the workload of the other information several times, the increase in class, the class of search, Class 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 So student information management system should be able to provide users with sufficient information and efficient means of inquiries Student Informati 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:ActiveXcontrol、Form、orderedfield、Access、 Visual Basic II 成都电子机械高等专科学校毕业设计(论文) 目 录 论 文 摘 要 ......................................................................................................... I ABSTRACT .............................................................................................................. II 目 录 ............................................................................................................. III 第一章绪 论 .........................................................................................................1 1.1学生管理系统的概述 .................................................................................1 1(1(1 学生管理系统的发展及意义 ..........................................................1 1.1.2 学生管理系统的应用及意义 ..............................................................2 1.2学生管理系统论文的实际意义 ..................................................................3 第二章 管理信息的基础知识 ..............................................................................4 2.1 管理信息系统的概念 ...............................................................................4 2.1.1 MIS的结构、特征及相关学科 .........................................................5 2.2 管理信息系统的发展及学生信息系统的简介 ..........................................5 第三章 系统开发工具——VISUAL BASIC 6.0简介及应用 .............................8 3.1系统功能简介:VISUAL BASIC主要功能特点包括: ...................................8 3.2开发工具及相关技术简介 ..........................................................................9 第四章 数据库ACCESS的基础及应用 ........................................................... 13 4.1数据库的概念 ........................................................................................... 13 结束语 ................................................................................................................ 15 致谢 .................................................................................................................... 16 参考文献: ........................................................................................................ 17 总结 .................................................................................................................... 50 III 成都电子机械高等专科学校毕业设计(论文) 第一章绪 论 1.1学生管理系统的概述 1(1(1 学生管理系统的发展及意义 学生信息管理是每一所高校都必须面对的工作作为计算机应用的一部分,使用计算机对学生档案进行管理,有着手工管理所无法比拟的优点,如:检索迅速、查找方便、可靠性高、存储量大、保密性好、受命长、成本低等。这些优点能够极大地提高学生档案管理的效率,也是学校向科学化、正规化管理发展的必要条件,更是各个高等院校与世界接轨的重要条件。 因此,开发一套能够为用户提供充足的信息和快捷的查询手段的学生信息管理系统,将是非常必要的,也是十分及时的。借此毕业之际利用自己已掌握的各种专业知识,结合实际应用,开发一个学生信息管理系统来帮助学校进行有效的信息,并将其作为自己的毕业设计课题主要完成一些信息的统计和查询等一些重要的功能。 特别是近几年来,国家政策的调整,我国高等院校大规模的扩招,给高等院校的教学管理、学生管理、后勤管理等方面都带来不少的冲击。特别是对于学校的决策者和管理者来说学生信息管理工作是至关重要的,学生信息管理是每一所高校都必须面对的工作,但一直以来人们使用传统的人工方式管理文件档案,这种管理方式存在许多缺点,如:效率低、保密性差,学生数量的增加,这必然增加了学生档案管理者的工作量和劳动强度,同时将产生大量的文件和数据,这给学生信息的查找、更新和维护都带来了不少困难。据调查,目前我国各类高等院校中还有相当一部分学生档案管理还停留在纸介质的基础上,尤其是中、小学对学生档案的管理更是落后,这样的管理机制已经不能适应时代发展的要求,其管理方法将浪费许多人力和物力。随着科学技术的不断提高,计算机科学与技术日渐 1 成都电子机械高等专科学校毕业设计(论文) 成熟,计算机应用的普及已进入人类社会生活的各个领域,并发挥着越来越重要的作用。这种传统的手工管理模式必然被以计算机为物质基础的信息管理方法所取代。 经过分析,我们使用MICROSOFT公司的VISUAL BASIC开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。 随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。面对庞大的信息量需要有学生管理系统来提高学生管理工作的效率。通过这样的系统可以做到信息的 规范 编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载 管理、科学统计和快速查询、修改、增加、删除等,从而减少管理方面的工作量。 1.1.2 学生管理系统的应用及意义 本系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如查询、修改、增加、删除,另外还考虑到学生选课,针对这些要求设计了学生信息管理系统本系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如查询、修改、增加、删除,另外还考虑到学生选课,针对这些要求设计了学生信息管理系统。 本系统主要包括学生信息查询、教务信息维护和学生选课三部分。其功能主要有: ?有关学籍等信息的输入,包括输入学生基本信息、所在班级、所学课程和成绩等。 ?学生信息的查询,包括查询学生基本信息、所在班级、已学课程和成绩等。 ?学生信息的修改。 ?班级管理信息的输入,包括输入班级设置、年级信息等。 ?班级管理信息的查询。 ?班级管理信息的修改。 2 成都电子机械高等专科学校毕业设计(论文) ?学生课程的设置和修改。 1.2学生管理系统论文的实际意义 当今社会,计算机已经成为我们学习和工作的得力助手,计算机的价格已经十分低廉,性能却有了长足的进步。它已经被应用于许多领域,计算机之所以如此流行的原因主要有以下几个方面: 首先,计算机可以代替人工进行许多繁杂的劳动;其次,计算机可以节省许多资源;第三,计算机可以大大的提高人们的工作效率;第四,计算机可以使敏感文档更加安全,等等。 在学校中用计算机管理学生档案的意义:现在我国的学校中档案的管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。 作为一个非计算机应用专业的学生,希望可以在次方面可以好好的学习到一些实际的意义。改革的总设计师邓小平同志说过“科学技术是第一生产力”,我希望能用我在学校所学的编制出一个实用的程序来帮助学校进行更有效的学生档案管理及实际应用信息。 1.2.1论文的目的及要求 由于现在高校的学生档案的管理趋向于复杂化和多元化,随着计算机的广泛应用,越来越多的高校均采用了计算机化的管理模式。查询、修改、录入、删除等基本操作都采用了计算机的数据库技术。比起以前使用卡片的方法有了很大的进步,方便管理,易于更新,极大的方便了学生档案的管理工作。因此为提高工作效率,减轻校方人员的工作负担,决定开发学生档案管理系统软件。 开发此学生基本信息管理系统软件,以供行政管理人员使用计算机对学生档案信息进行管理,此系统具有着手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生档案管理的效率,在设计皮系统的同时,也能够为我们提高我们软件开发的能力,学习VB语言编程的技巧,通过本次软件的开发,包括与导师的交流,从中学习了知识、吸取了经验。 3 成都电子机械高等专科学校毕业设计(论文) 第二章 管理信息的基础知识 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对单位的各项事务进行科学化的管理有着无法比拟的优点。例如:查找方便、迅速、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高公司的工作效率,也是公司管理科学化、正规化并与世界接轨的重要条件。 2.1 管理信息系统的概念 管理信息系统(Management Information Systems,简称MIS),是一个不断发展的新型学科,MIS的定义随着计算机技术和通信技术的进步也在不断更新,在现阶段普遍认为MIS 是人为或计算机设备以及其他信息处理手段组成并用于管理信息的系统。包括以下几个基本概念: (1) MIS的对象就是信息。信息是经过加工的对决策者有价值的数据。信息的主要特征是来源分散,数量庞大。信息来源于生产第一线、社会环境、市场以及行政管理等部门。信息具有时间性。 (2) 系统是由相互联系、相互作用的若干要素按一定的规则组成并具有一定功能的整体。 系统由输入、处理、输出、反馈、控制等五个基本要素组成。 (3) 管理信息由信息的采集、信息的传递、信息的储存、信息的加工、信息的维护和信息的使用等五个方面组成。 MIS包括计算机、网络通信设备等硬件成分,也包括操作系统、应用软件包等软件成分,并随着计算机技术和通信技术的迅速发展还会出现更多的内容。 4 成都电子机械高等专科学校毕业设计(论文) 2.1.1 MIS的结构、特征及相关学科 1(MIS的结构 MIS由信源、信宿、信息处理、信息用户和信息管理者等五个部分组成。 2(MIS的特征 完善的MIS具有以下四个 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 :确定的信息需求、信息的可采集性与可加工性、可以通过程序为管理人员提供信息、可以对信息进行管理。 MIS具有以下特征: , 具有统一规划的数据库是MIS成熟的重要标志,它象征着MIS是软件工程的产物。 , 通过MIS实现信息增值,用数学模型统计分析数据,实现辅助决策。 MIS是发展变化的,MIS有生命周期。 , , MIS的开发必须具有一定的科学管理工作基础。只有在合理的管理体制、完善的规章 制度 关于办公室下班关闭电源制度矿山事故隐患举报和奖励制度制度下载人事管理制度doc盘点制度下载 、稳定的生产秩序、科学的管理方法和准确的原始数据的基础上,才能进行MIS的开发。 因此,为适应MIS的开发需求,企业管理工作必须逐步完善以下工作: , 管理工作的程序化,各部门都有相应的作业流程。 , 管理业务的标准化,各部门都有相应的作业规范。 , 报表文件的统一化,固定的内容、周期、格式。 , 数据资料的完善化和代码化。 3(MIS的相关学科 MIS是一个交叉性的综合性学科,组成部分有:计算机学科(网络通信、数据库、计算机语言等)、数学(统计学、运筹学、线性规划等)、管理学、仿真等多学科。随着科学技术的高速发展,MIS涉及的范围还要扩大。 2.2 管理信息系统的发展及学生信息系统的简介 生产技术的进步,社会活动的复杂化,特别是电子信息技术的迅速发展与广泛应用,使得各种管理工作越来越依赖于对信息的管理。信息作为一种资源,使得人们的工作、生活以及思维方式发生了重大的变革,为企业的生产与经营提供了日益完善的手段。信息的采集、传输、加工和利用成为人们特别是信息工作者的主要活动。企业经理的百分之八十的时间用于信息的传输与处理,一些西方发 5 成都电子机械高等专科学校毕业设计(论文) 达国家从事信息处理工作的人数多,在二十世纪八十年代就已经占职工总数的百分之五十以上,而美国1993年政府报告“国家信息基础结构:行动计划”中指出“2/3的美国劳动者从事与信息有关的工作,其余1/3工作在高度依赖于信息的产业部门,”这种职工可以成为“知识工作者”,他们主要就是收集、传输和加工信息,包括编辑文件、写报告、分析信息、作计划等。所以现在各行各业对信息的管理要求越来越大。 信息工作的迅速增长,使计算机的应用范围越来越广泛,应用的功能由一般的数据处理走向支持决策。这就导致了管理信息系统的产生。管理信息系统从产生到现在已经经历了电子数据处理系统(如统计系统、工资系统、数据更新系统等),信息报告系统(如生产报告系统、服务状态报告系统、研究状态报告系统等),支持决策系统,综合服务系统(如综合业务数字网络系统、国际互联网等)等几个阶段。但在我国,由于各种原因,管理信息系统的发展处于初级的数据处理阶段,尽管如此,充分利用我们现有的资源和力量,开发一些适合于本企业或本行业的管理信息系统。也非常重要。随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息也成倍增长。面对庞大的信息量,有必要开发学生信息管理系统来提高学生管理工作的效率。通过这样的系统,可以做到信息的规范管理、科学统计和快速查询,从而减少管理方面的工作量。 本学生信息管理系统包括学籍信息管理、班级信息管理、课程信息管理、成绩信息管理四大模块。管理员可以拥有完全的权限管理系统,而学生用户只拥有查询学籍信息和查询成绩信息的权限。学籍管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学籍管理系统应该能够为用户提供充足的信息和快捷的查询手段。 而学籍信息是学校的一项重要的数据资源,学籍管理也是学校的一项常规性的重要工作。而长期以来,学籍管理都是以来人工进行的,面对如此众多的学籍信息,起工作量可想而知。不仅仅浪费了大量的人力物力,而且由于人工管理存在着大量的不可控因素,造成了学籍管理的某些不规范,使得学籍管理陷入“事倍功半”的地步。学生学籍管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生档案管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理 6 成都电子机械高等专科学校毕业设计(论文) 文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据 7 成都电子机械高等专科学校毕业设计(论文) 第三章 系统开发工具——Visual Basic 6.0简介及 应用 3.1系统功能简介:Visual Basic主要功能特点包括: 提供了面向对象(OOP)的可视化编程工具 3.1.1 把程序和数据封装在一起而视为一个对象。设计程序时只需从现有工具箱中拖出所需的对象,如按钮、滚动条等,在屏幕上设计出用户所要求的布局,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 Access 格式的数据库,并提供了强大的数据存储和检索功能,同时还能直接编辑和访问其他外部数据库,如Dbase、FoxPro、Paradox等。 3.1.7 得心应手的应用程序向导 8 成都电子机械高等专科学校毕业设计(论文) VB中使用了许多应用程序向导,可为用户自动创建多种类型和不同功能的应用程序的初始轮廓,另外还有安装向导、数据窗体向导、IIS应用程序DHTML等,使用起来得心应手,省去了一些烦琐的工作。 3.1.8 完善的联机帮助功能 强大的联机帮助功能和示范代码,设计任何时候,只需按下F1键,就会显示必要的提示,运行时,也会对出现的错误给出一定的提示。 在系统中,充分利用了Access 数据库和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应用程序的开发功能更加强大和容易。 9 成都电子机械高等专科学校毕业设计(论文) 在应用程序内可以通过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 系统的标准视窗。 10 成都电子机械高等专科学校毕业设计(论文) (2) 对象 (Object) 对象是VB系统内部提供给设计者可以直接使用的处理输出的控制工具。本程序所应用到的对象类型有标签框 (Label Box),文本框 (Text Box),命令按扭 (Command Button),网格 (Data Grid),ADO控件 (Adodc1)等。当把这些工具放置到用户界面对应的窗体上时,被称为对象或控件。用户可以通过设置对象的“属性”和“方法”,便于对象适应自己所设计应用程序的输入输出内容,对象的生成过程及结构都被封装起来。正确使用对象可以减少程序和开发时间,提高程序设计者的工作效率。 (3) 属性 (Properties) 属性是VB系统提供的有关对象的参数或数据接口。用户通过适当地设置或改变对象的属性来确定对象的外观及性能特征,从而有效地使用系统提供的对象。比如,对象的名称、在屏幕上显示的位置、大小、颜色、接收或容纳的数据内容及数据的表现格式等。 (4) 事件 (Events) 事件是指用户或操作者对计算机进行的某一操作(如击键、单击或移动鼠标等)的行为或系统状态发生的变化。VB系统常用事件来引导计算机执行一段程序。程序所用的键盘事件有KeyPress(按键)事件,KeyDown事件和KeyUp事件;鼠标事件有Click(单击鼠标)事件,DbDlicd(双击鼠标)。 (5) 方法 (Method) 方法主要是指对一个对象使用某种作用的过程。它是在程序执行的过程中要计算机执行的某种操作。其程序的方法有Show(显示)方法,Hide(隐藏)方法,Refresh(刷新)方法。 (6) 过程 (Procedure) 过程是指经过定义或说明的,或基于某一对象对应的事件所引发的程序段。 (7) 模块 (Module) 模块是指一些运算量或过程进行声明或定义的一个集合。系统程序大体可分成四个模块:数据输入、根据查询、数据打印和通讯。 3.5 面对对象的编程 面向对象的设计方法 (OOP, Objected Programming) 从应用领域内的问题着手, 11 成都电子机械高等专科学校毕业设计(论文) 以直观自然的方式描述客观世界的实体。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控件,在系统这一界面中,添加了状态栏,在第一个栏中,在样式这一栏中选择了文本,在第二个栏中,选择了系统日期,第三个栏中选择了系统时间,这样,任何时候操作本系统,都可以看到当前的时间和日期。 12 成都电子机械高等专科学校毕业设计(论文) 第四章 数据库Access的基础及应用 4.1数据库的概念 数据库是一种存储数据并对数据进行操作的工具。数据库的作用在于组织和表达信息,简而言之,数据库就是信息的集合。计算机的数据库可以分为两类:非关系数据库(flat-file)和关系数据库(relational)。关系数据库中包含了多个数据表的信息,数据库含有各个不同部分的术语,象 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 、域等。 新建一个数据库,创建任何一个数据库的第一步是仔细的规划数据库,设计必须是灵活的、有逻辑的。创建一个数据库结构的过程被认为是数据模型设计。 1( 标识需要的数据; 2( 收集被标识的字段到表中; 3( 标识主关键字字段; 4( 绘制一个简单的数据图表; 5( 规范数据; 6( 标识指定字段的信息; 7( 创建物理表。 修改已建的数据库 数据库的修改分为:添加、编辑和删除记录。这三种操作均可由Visual Basic 创建的程序来完成,下面的章节将详细描述实现的具体方法。 实现数据库之间的联系 数据库之间的关系指明两个库之间共享一个共同的关键字值。一个连接是指一种虚拟的表,这种表是在当用户要求从相互关联的各个不同的表中获取信息时建立的,关键字段用于在相互连接的不同表中查找匹配的记录。一个更高级的连接形式称为自连接。这种连接是指一个表被连接到它自己的一个字段,或在不同的纪录中由重复数据的组合字段。数据库中有三种不同类型的 13 成都电子机械高等专科学校毕业设计(论文) 关键字:主关键字、组合关键字和外关键字。在表中使用的关键字类型用于描述库表示什么以及在数据库中如何与其它的库建立关系。 14 成都电子机械高等专科学校毕业设计(论文) 结束语 作为一个非计算机应用专业的学生,希望可以在次方面可以好好的学习到一些实际的意义。改革的总设计师邓小平同志说过“科学技术是第一生产力”,我希望能用我在学校所学的编制出一个实用的程序来帮助学校进行更有效的学生档案管理及实际应用信息。 信息工作的迅速增长,使计算机的应用范围越来越广泛,应用的功能由一般的数据处理走向支持决策。这就导致了管理信息系统的产生。管理信息系统从产生到现在已经经历了电子数据处理系统(如统计系统、工资系统、数据更新系统等),信息报告系统(如生产报告系统、服务状态报告系统、研究状态报告系统等),支持决策系统,综合服务系统(如综合业务数字网络系统、国际互联网等)等几个阶段。但在我国,由于各种原因,管理信息系统的发展处于初级的数据处理阶段,尽管如此,充分利用我们现有的资源和力量,开发一些适合于本企业或本行业的管理信息系统。也非常重要。随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息也成倍增长。面对庞大的信息量,有必要开发学生信息管理系统来提高学生管理工作的效率。通过这样的系统,可以做到信息的规范管理、科学统计和快速查询,从而减少管理方面的工作量。 15 成都电子机械高等专科学校毕业设计(论文) 致谢 在系统的开发过程中,我碰到了很多的难题,多亏有老师和同学的帮助,在这里,特别要向我的指导老师杜涛老师的指导和常旭存等同学的帮助表示衷心的感谢~ 但是由于是第一次面向对象开发数据库管理系统,肯定会有经验上的不足,失误之处在所难免,敬请各位老师,领导批评的指正。 何爱赟 2007-6-11 16 成都电子机械高等专科学校毕业设计(论文) 参考文献: [1].王彬华,李建华编著《Visual Basic实例教程》电子科技大学出版社2004.4 [2].郭晓烹编著《Visual Basic高级编程及其项目应用开发》中国水利水电出版社 [3].刘新民,蔡琼,白康生编著《Visual Basic 6.0程序设计》清华大学出版社2004 [4].曹青 郭志强编著的《Visual Basic程序设计教程》机械工业出版社 [5].郭胜,夏邦贵编著《Visual Basic数据库开发入门与范例解析》机械工业 出版社2004.1 17 成都电子机械高等专科学校毕业设计(论文) 附录 登陆界面 Private backFile As String Private qs As String Private buff As String Dim pnum As Integer Private Sub Command1_Click() Call Image1_Click End Sub Private Sub Command2_Click() Call Image1_Click End Sub Private Sub Form_Load() Text1.BackColor = RGB(98, 162, 207) Text2.BackColor = RGB(98, 162, 207) addtrans App.Path '连接数据库 End Sub 18 成都电子机械高等专科学校毕业设计(论文) Private Sub Image1_Click() On Error GoTo finish Set qy1 = cnn.Execute("select * from 登陆 where 用户名='" & Text1.Text & "' and 密码='" & Text2.Text & "'") If qy1.EOF = True Then If pnum < 2 Then pnum = pnum + 1 MsgBox "用户名或密码错误!", vbInformation, "错误次数:" & pnum Text1.Text = "" Text2.Text = "" Text1.SetFocus Exit Sub Else MsgBox "用户名或密码错误超过三次,系统会自动退出", vbInformation, "提示" End End If Else If qy1.Fields(2) = "超级管理员" Then admin = True Else admin = False End If Unload Me form1.Show End If Exit Sub finish: MsgBox Err.Description End Sub Private Sub Image2_Click() End 19 成都电子机械高等专科学校毕业设计(论文) End Sub Private Sub Label3_Click() End Sub Private Sub Text2_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Call Image1_Click End If End Sub Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Call Image1_Click End If End Sub Public Sub addtrans(tkFileName As String) buff = String(255, 0) backFile = Date + 5 Dim backfila As String backfila = Date End Sub 20 成都电子机械高等专科学校毕业设计(论文) 主界面图及相应的程序代码: 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() 21 成都电子机械高等专科学校毕业设计(论文) 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 "男" 22 成都电子机械高等专科学校毕业设计(论文) Grid1.ComboBox(4).AddItem "女" Grid1.Column(5).CellType = cellCalendar Grid1.Column(2).CellType = cellComboBox Grid1.ComboBox(2).Clear from 班级") Set qy2 = cnn.Execute("select 班级名称 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 23 成都电子机械高等专科学校毕业设计(论文) For i = 1 To fnumber Grid1.Cell(0, i).Text = qy1.Fields(i - 1).Name Next Grid1.Column(1).Locked = False Grid1.Rows = 1 Grid1.Rows = 21 gridsave = True '允许保存 griddelete = False '拒绝删除 gridedit = False End Sub Private Sub asPopup3_Click(Cancel As Boolean) Dim fo2 As CTranslucentForm Set fo2 = New CTranslucentForm fo2.hWnd = Form2.hWnd fo2.Alpha = 90 / 100 * 255 Me.WindowState = vbMinimized Load Form2 Form2.Show 1 End Sub Private Sub asPopup4_Click(Cancel As Boolean) Dim fo2 As CTranslucentForm Set fo2 = New CTranslucentForm fo2.hWnd = Form4.hWnd fo2.Alpha = 90 / 100 * 255 Me.WindowState = vbMinimized Load Form4 Form4.Show 1 End Sub Private Sub asPopup5_Click(Cancel As Boolean) Frame2.Visible = True End Sub 24 成都电子机械高等专科学校毕业设计(论文) Private Sub asPopup6_Click(Cancel As Boolean) Grid1.Visible = False Grid2.Visible = True tkbase = "学生与课程" fnumber = 6 gridpz2 Set qy1 = cnn.Execute("select * from " & tkbase) For i = 1 To fnumber Grid2.Cell(0, i).Text = qy1.Fields(i - 1).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 25 成都电子机械高等专科学校毕业设计(论文) 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) 26 成都电子机械高等专科学校毕业设计(论文) 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 = y - 1 Loop c1(x).Top = Fre1.Height - j x = x - 1 Loop Else '-----------------向上代码 For x = 0 To i For y = 0 To x j = j + 360 Next c1(x).Top = j - 360 j = 0 27 成都电子机械高等专科学校毕业设计(论文) Next End If s = s - 1 For y1 = 0 To x1 If y1 = i Then Fre2(y1).Visible = True Fre2(y1).Top = c1(y1).Top + c1(y1).Height If y1 <> z Then Fre2(y1).Height = c1(y1 + 1).Top - Fre2(y1).Top Else Fre2(y1).Height = Fre1.Height - c1(y1).Top - c1(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 28 成都电子机械高等专科学校毕业设计(论文) 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 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 29 成都电子机械高等专科学校毕业设计(论文) 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 = Date - 7300 End If End If End Sub Private Sub Grid1_Validate(Cancel As Boolean) '设定TAB键切换 Dim nActiveRow As Long, nActiveCol As Long Const VK_TAB = 9 If GetKeyState(VK_TAB) < 0 Then nActiveRow = Grid1.ActiveCell.Row nActiveCol = Grid1.ActiveCell.Col If nActiveCol < Grid1.Cols - 1 Then 30 成都电子机械高等专科学校毕业设计(论文) 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-u\nty-Zbl_e-`hms^" '进行注册 Grid2.SetRegisterInformation "CNwinndy", "W]vyY-nonvk-u\nty-Zbl_e-`hms^" '进行注册 Label2.Caption = "今天是" & Year(Date) & "年" & Month(Date) & "月" & Day(Date) & "日,欢迎您进入04423班!" 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 = True '输入成绩 XPButton4.Enabled = False XPButton5.Enabled = False XPButton6.Enabled = True End If With Grid1 .AllowUserResizing = True .DisplayFocusRect = False .ExtendLastCol = True .Appearance = Flat .FixedRowColStyle = Flat .ScrollBarStyle = Flat 31 成都电子机械高等专科学校毕业设计(论文) .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 32 成都电子机械高等专科学校毕业设计(论文) 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 < length1 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, length2 - 1) Exit Do End If Loop End If If Grid2.Cell(Row, 3).Text <> "" And Row <> 0 Then Dim length3, length4 As Integer length3 = Len(Grid2.Cell(Row, 3).Text) 33 成都电子机械高等专科学校毕业设计(论文) Do While length4 < length3 length4 = length4 + 1 If Right(Left(Grid2.Cell(Row, 3).Text, length4), 1) = "-" Then Grid2.Cell(Row, 4).Text = Mid(Grid2.Cell(Row, 3).Text, length4 + 1, length4) Grid2.Cell(Row, 3).Text = Mid(Grid2.Cell(Row, 3).Text, 1, length4 - 1) 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 34 成都电子机械高等专科学校毕业设计(论文) End If qy1.Open sql, cnn, adOpenStatic, adLockReadOnly, adCmdText For i = 1 To fnumber Grid1.Cell(0, i).Text = qy1.Fields(i - 1).Name Next qy1.PageSize = 20 nnum = qy1.PageCount If qy1.PageCount = 0 Then nnum = 1 End If numpage = 1 Label1.Caption = "共" & nnum & "页 第" & numpage & "页" Grid1.Rows = 1 Grid1.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(j - 1) Is Nothing Then '空值的处理 Grid1.Cell(i, j).Text = qy1.Fields(j - 1) Else Grid1.Cell(i, j).Text = "" End If Next If qy1.EOF = False Then qy1.MoveNext '读取下一记录 Else Exit Sub End If 35 成都电子机械高等专科学校毕业设计(论文) Next ElseIf tkbase = "学生与课程" Then If qy1.State = adStateOpen Then '表状态 qy1.Close End If qy1.Open sql, cnn, adOpenStatic, adLockReadOnly, adCmdText For i = 1 To fnumber Grid2.Cell(0, i).Text = qy1.Fields(i - 1).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(j - 1) Is Nothing Then '空值的处理 Grid2.Cell(i, j).Text = qy1.Fields(j - 1) Else Grid2.Cell(i, j).Text = "" End If Next If qy1.EOF = False Then 36 成都电子机械高等专科学校毕业设计(论文) 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) < 0 Then nActiveRow = Grid1.ActiveCell.Row nActiveCol = Grid1.ActiveCell.Col If nActiveCol < Grid1.Cols - 1 Then Grid1.Range(nActiveRow, nActiveCol + 1, _ nActiveRow, nActiveCol + 1).Selected End If Cancel = True End If End Sub Private Sub Label7_Click() If tkbase = "学生信息" Then If numpage > 1 Then numpage = numpage - 1 qy1.AbsolutePage = numpage Grid1.Rows = 1 Grid1.Rows = 21 For i = 1 To 20 '设定读取行 For j = 1 To fnumber '设定读取列 If qy1.Fields(j - 1) = Null Then '空值的处理 Grid1.Cell(i, j).Text = "" 37 成都电子机械高等专科学校毕业设计(论文) Else Grid1.Cell(i, j).Text = qy1.Fields(j - 1) End If Next qy1.MoveNext '读取上一记录 Next End If Label1.Caption = "共" & nnum & "页 第" & numpage & "页" ElseIf tkbase = "学生与课程" Then If numpage > 1 Then numpage = numpage - 1 qy1.AbsolutePage = numpage Grid2.Rows = 1 Grid2.Rows = 21 For i = 1 To 20 '设定读取行 For j = 1 To fnumber '设定读取列 If qy1.Fields(j - 1) = Null Then '空值的处理 Grid2.Cell(i, j).Text = "" Else Grid2.Cell(i, j).Text = qy1.Fields(j - 1) End If Next qy1.MoveNext '读取上一记录 Next End If Label1.Caption = "共" & nnum & "页 第" & numpage & "页" End If End Sub Private Sub Label8_Click() If tkbase = "学生信息" Then If numpage < nnum Then numpage = numpage + 1 qy1.AbsolutePage = numpage 38 成都电子机械高等专科学校毕业设计(论文) Grid1.Rows = 1 Grid1.Rows = 21 For i = 1 To 20 '设定读取行 For j = 1 To fnumber '设定读取列 If qy1.EOF = True Then Label1.Caption = "共" & nnum & "页 第" & numpage & "页" Exit Sub End If If qy1.Fields(j - 1) = Null Then '空值的处理 Grid1.Cell(i, j).Text = "" Else Grid1.Cell(i, j).Text = qy1.Fields(j - 1) End If Next If qy1.EOF = False Then qy1.MoveNext '读取下一记录 Else Label1.Caption = "共" & nnum & "页 第" & numpage & "页" Exit Sub End If Next End If Label1.Caption = "共" & nnum & "页 第" & numpage & "页" ElseIf tkbase = "学生与课程" Then If numpage < nnum Then numpage = numpage + 1 qy1.AbsolutePage = numpage Grid2.Rows = 1 Grid2.Rows = 21 For i = 1 To 20 '设定读取行 For j = 1 To fnumber '设定读取列 If qy1.EOF = True Then Label1.Caption = "共" & nnum & "页 第" & numpage & "页" Exit Sub 39 成都电子机械高等专科学校毕业设计(论文) End If If qy1.Fields(j - 1) = Null Then '空值的处理 Grid2.Cell(i, j).Text = "" Else Grid2.Cell(i, j).Text = qy1.Fields(j - 1) End If Next If qy1.EOF = False Then qy1.MoveNext '读取下一记录 Else Label1.Caption = "共" & nnum & "页 第" & numpage & "页" Exit Sub End If Next End If Label1.Caption = "共" & nnum & "页 第" & numpage & "页" End If End Sub Private Sub pcg_Click() If hang <> 0 Then If Grid2.Cell(hang, 2).Text <> "" Then sql = "select sum(成绩)/count(成绩) from 学生与课程 where 学号='" & Grid2.Cell(hang, 3).Text & "'" Set qy2 = cnn.Execute(sql) MsgBox "学号为" & Grid2.Cell(hang, 3).Text & "的成绩平均为" & qy2.Fields(0) & "分" End If End If End Sub Private Sub renovate_Click() Call asPopup1_Click(False) End Sub 40 成都电子机械高等专科学校毕业设计(论文) Private Sub returncg_Click() Grid1.Visible = True Grid2.Visible = False End Sub Private Sub savestudent_Click() Call XPButton5_Click End Sub Private Sub sclass_Click() If hang <> 0 Then Set qy2 = cnn.Execute("select 班级 from 学生信息 where 学号='" & Grid2.Cell(hang, 3).Text & "'") If qy2.EOF = False Then MsgBox "学生" & Grid2.Cell(hang, 4).Text & "所属班级是" & qy2.Fields(0) End If End If End Sub Private Sub XPButton1_Click() DataReport1.Show End Sub Private Sub XPButton13_Click() Call XPButton3_Click Select Case tkbase Case "学生信息" Grid1.Visible = True Grid2.Visible = False fnumber = 13 grid1pz '执行grid1的分配空间任务 datagrid '按要求读取数据空间 41 成都电子机械高等专科学校毕业设计(论文) Case "学生与课程" Grid1.Visible = False Grid2.Visible = True fnumber = 6 gridpz2 datagrid gridsave = False gridedit = True griddel = True Grid2.Column(1).Locked = True Grid2.Column(2).Locked = True Grid2.Column(3).Locked = True End Select Frame2.Visible = False End Sub Private Sub XPButton14_Click() Frame2.Visible = False End Sub Private Sub XPButton3_Click() tkbase = Combo1.Text If Combo1.Text = "" Then MsgBox "未选择对象!", vbInformation, "提示" Exit Sub ElseIf Text1.Text = "" Then sql = "select * from " & Combo1.Text ElseIf Text1.Text <> "" Then sql = "select * from " & Combo1.Text & " where " & Text1.Text End If Label5.Caption = sql End Sub Private Sub XPButton4_Click() On Error GoTo tkFinish 42 成都电子机械高等专科学校毕业设计(论文) If gridedit = False Then MsgBox "当前修改操作不被允许!", vbInformation, "非使用对象" Exit Sub End If Dim delok As String Select Case tkbase Case "学生信息" delok = MsgBox("确认修改刚才修改的所有数据吗,,", vbQuestion + vbOKCancel, "提示") If delok = vbOK Then hang = 1 Do While hang < Grid1.Rows - 1 If Grid1.Cell(hang, 1).Text = "" Then MsgBox "己完成修改操作!", , "提示" Exit Sub End If sql = "update " & tkbase & " set " For j = 2 To fnumber - 1 sql = sql & qy1.Fields(j - 1).Name & "='" & Grid1.Cell(hang, j).Text & "'," Next sql = sql & qy1.Fields(j - 1).Name & "='" & Grid1.Cell(hang, j).Text & "' where " & qy1.Fields(0).Name & "='" & Grid1.Cell(hang, 1).Text & "'" Set qy2 = cnn.Execute(sql) '用qy2更新数据集,这样可实现批量更新 hang = hang + 1 Loop MsgBox "己完成修改操作!", , "提示" End If Case "学生与课程" delok = MsgBox("确认提交当前成绩的修改吗,,", vbQuestion + vbOKCancel, "提示") If delok = vbOK Then hang = 1 43 成都电子机械高等专科学校毕业设计(论文) Do While hang < Grid2.Rows - 1 If Grid2.Cell(hang, 1).Text = "" Then MsgBox "己完成修改操作!", , "提示" Exit Sub End If sql = "update " & tkbase & " set " For j = 2 To fnumber - 1 sql = sql & qy1.Fields(j - 1).Name & "='" & Grid2.Cell(hang, j).Text & "'," Next sql = sql & qy1.Fields(j - 1).Name & "='" & Grid2.Cell(hang, j).Text & "' where " & qy1.Fields(0).Name & "='" & Grid2.Cell(hang, 1).Text & "' and " & qy1.Fields(1).Name & "='" & Grid2.Cell(hang, 2).Text & "'" Set qy2 = cnn.Execute(sql) hang = hang + 1 Loop MsgBox "己完成修改操作!", , "提示" End If End Select Exit Sub tkFinish: MsgBox Err.Description End Sub Private Sub XPButton5_Click() On Error GoTo tkFinish If tkbase = "" Then MsgBox "表指向不明,请确认", vbInformation, "提示" Exit Sub End If If gridsave = False Then MsgBox "当前不允许保存~", vbInformation, "提示" Exit Sub 44 成都电子机械高等专科学校毕业设计(论文) End If Select Case tkbase Case "学生信息" For i = 1 To 20 '处理重名数据 If Grid1.Cell(i, 1).Text <> "" Then Set qy1 = cnn.Execute("select 学号 from 学生信息 where 学号='" & Grid1.Cell(i, 1).Text & "'") If qy1.EOF = False Then MsgBox "第" & i & "行的学号在数据库里出现重复,请检查", vbInformation, "错误" Grid1.Cell(i, 1).SetFocus Exit Sub End If End If Next For i = 1 To 20 For n = 1 To fnumber Select Case n Case 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 '检查数据是否为空 If Grid1.Cell(i, 1).Text <> "" Then If Grid1.Cell(i, n).Text = "" Then MsgBox "第" & i & "行的--[" & Grid1.Cell(0, n).Text & "]-- 字段不允许为空!", vbInformation, "提示" Grid1.Cell(i, n).SetFocus Exit Sub End If End If End Select Next If Grid1.Cell(i, 1).Text <> "" Then '执行插入语句 sql = "insert into " & tkbase & " values('" For j = 1 To fnumber - 1 sql = sql & Grid1.Cell(i, j).Text & "','" Next 45 成都电子机械高等专科学校毕业设计(论文) 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 成绩查询表及程序代码: 46 成都电子机械高等专科学校毕业设计(论文) 相关程序代码如下: 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 47 成都电子机械高等专科学校毕业设计(论文) 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 48 成都电子机械高等专科学校毕业设计(论文) Else If Combo1.Text <> "" Then Class = Combo1.Text tbbm1 = Combo1.Text & " 成绩统计表" Else MsgBox "未选择班级!" XPFrame1.Visible = True Exit Sub End If Unload Me Form8.Show 1 End If End Sub 49 成都电子机械高等专科学校毕业设计(论文) 总结 在做这次的毕业设计和写论文的过程中,使我学到了当初在课堂上没有好好学的非常有用的东西 ,比如说 VB的界面是通过什么样的形式连接到数据库的呢, ,通过对书本及资料的认识,我明白了DATA控件连接界面和数据库.DATA控件是一个数据控制中心,使用微软公司的Jet数据库引擎实现数据访问.使用DATA控件访问数据库,用户无须编写任何代码就可以创建数据应用程序,DATA控件很适合对桌面数据库进行访问,如Access. 现介绍如何来添加和设置DATA控件来连接和读取Access数据库: 用鼠标单击工具箱中的Data控件,这时鼠标变为十字形,在窗体中单击并拖动鼠标,当大小和形状适合时释放鼠标,则在窗体中添加了一个Data控件,其缺省名为Data1. 选中Data1控件,然后在Data1的属性窗口中找到connect属性值,connect属性表示 连接的数据库类型,在这里我选择"Access". 在Data1的属性窗口中找到DatabaseName属性,在属性窗口中输入要连接的数据库名称及其所在的路径. 在Data1的属性窗口中找到RecordSource属性,在属性窗口中输入要访问的表名. 进入系统后,将会出现一个主窗体,选择系统管理模块下的添加用户,就可以进入添加用户窗体,可以通过该窗体增加新的用户. 在这个窗体中放置了三个文本框,用来输入用户名和密码;两个按钮用来确定是否添加用户;三个标签用来标示文本框的提示.在系统管理模块下,进入修改密码窗体,用户可根据需要修改自己的密码. 在这个窗体中放置了两个文本框,用来输入密码和确认密码;两个按钮用来确定是否修改密码;两个标签用来标示文本框的内容. . 在本次设计过程中,我采用多次循环测试法,力求在每个阶段结束之前通过严格技术审查,即每完成一个功能,就进行测试,尽可能早的发现并纠正差错,完成模块测试之后再进行系统测试. 在该设计中,我偏重考虑了当用户输入的信息出错时,系统就会出现提示,以便让用户知道出错的原因,并能及时做出修改,所以我站在用户的角度考虑,尽可能设想各种边界条件,如记录为空,输入为空,输入出错等,以此来发现错误,纠正错误,取得了一定的效果. 当然,该学生信息管理系统也存在一些不足之处.在进入成绩信息浏览窗体后,可 看到增加记录,修改记录,查询记录是在一个窗口中进行操作,有些控件在执行一定作时并不需要用到,此时应该使其变为灰色不可用状态.做到使数据安全的输入与存储.也让使用者能清楚的知道哪几个控件是可用的.哪些不必要用到,做到一 50 成都电子机械高等专科学校毕业设计(论文) 目了然.可是由于技术原因,这个设想未能实现,原因找了很久,却发现不了,因为在编绎和连接的过程中都未出错提示.再一点就是关于打印和年级课程信息设置都未能实现,这有待于以后的进一步提高. 在运行的过程中,发现了一些问题,主要是当程序出错时,系统有没有能力给出出错信息,使系统能够安全的运行下去,而不是退出系统.所以,加强系统的安全性是十分重要的,这就使得我要充分的考虑到每一个运行细节,并分析可能出错的情况,在这些边界上,设置出错检测,使系统能自动捕获出错点,给出提示,允许用户重新进行操作. 一个应用系统性能的优劣,效率的高低始终应当由用户来做出判决,应用系统在运 行过程中,用户会提出一些新的需求和建议,我就会根据用户需求的变化,对本系 使其进一步地得到完善和提高. 统做一定的修改, 本次的感受使我终身受益~ 51
本文档为【毕业设计(论文)-VB+ACCESS学生信息管理系统----系统主界面设计、系统登陆及系统调试 】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_686908
暂无简介~
格式:doc
大小:209KB
软件:Word
页数:62
分类:生活休闲
上传时间:2017-10-16
浏览量:72