学生信息管理系统vb版

2022-07-21 版权声明 我要投稿

第1篇:学生信息管理系统vb版

基于VB的学生信息管理系统设计

摘 要:学生信息管理系统是根据学生信息的特点以及学校管理的实际需要而设计,能够有效地对学生信息进行管理,减轻学校工作人员的管理负担,提高大量学生信息管理的效率和科学化,并减少人为操作的错误以及不规范行为,从而提高学校学生信息管理的可靠性。

关键词:控件;窗体;数据库;VB

1 系统介绍及开发的意义

1.1 系统介绍

规范学生信息管理是一项既重要又复杂的工作,为提高管理效率,更好的做好本项工作,服务学校发展和教学过程管理,根据学校实际情况,基于VB设计一套学生信息管理系统。

1.2 系统开发的意义

随着教育信息化的不断进步,计算机日益成为我们工作密不可分的工具。学校学生信息管理是一项常规工作,对学校管理的规范化、科学化有着重要意义。因此,开发一个简单易用的学生信息管理系统对学校信息管理科学化的提升有着明显的实用价值。

1.3 研究方法、发展趋势

本系统是采用功能分析法进行设计和叙述的一个系统。现代信息技术,特别是网络和多媒体技术的发展,对各行各业的工作和生活带来了深远的影响。办公信息化、管理信息化已成发展趋。

本系统采用简单单机模式,在某些方面还有待进一步开发。未来有关学生信息管理的架构应采用多层系统,成为适应学校全面信息化发展方向的校园网络应用平台,并整合Internet功能、远程控制与访问功能,采用更加先进的CS和BS模式,支持学校日常教学、教务管理、信息交流等方面工作的应用。构建为一个基于学校内部联网,支撑不同类型学校管理需求的综合服务平台和开发平台,并以校园信息共享为基点,搭建起顺畅的信息交流通道。提高教育信息化综合应用水平,提升学校管理效率。

2 系统分析与设计

2.1 系统功能分析

学校学生具有很强的流动性,每年都有离校、入校和学籍变化。在校学生的各种信息也随时在发生改变。要对这些庞大的信息量进行准确管理并提高工作效率,就必须建立一套有效的管理系统。系统应具备基础管理、信息查询、增加减少、删除修改等功能,从而减少学生信息管理的工作量。

2.2 系统构架

本系统主要包括用户管理、学生信息管理、学生成绩管理、密码修改等四大模块,各个模块的操作流程如图1所示。

2.3 系统E-R图

①用户(包括管理员和普通用户)基本信息如图2所示。

②学生基本信息如图3所示。

2.4 学生信息数据库的设计

学生信息管理系统的建立,首先必须要构建一个科学的数据库。本数据库基于Access2003构建,包括3个基表,分别是用户信息关联表(admin)、学生信息关联表(student)和学生成绩关联表(grade)。

①用户信息表(admin)结构见表1。

②学生信息表(student)结构见表2。

③学生成绩表(grade)结构见表3。

3 系统具体实现

3.1 登录窗体设计

设计一个登录窗体(form1)。窗体主要功能是对用户真实性进行验证,对登录次数进行限制,窗体结构如图4所示。

3.2 主界面设计

设计一个主界面窗体(form2)。窗体要提供按钮控件和菜单编辑器。窗体在登录后显示,基本结构如图5所示。

3.2.1 Toolbar

在主窗体上设定一个工具栏控件,添加6个按钮,按钮属性见表4。

3.2.2 菜单编辑器

在主窗体上设定一行菜单编辑器。编辑器的结构和属性见表5。

3.3 用户信息管理

用户信息管理主要包括用户注册、密码修改和账号删除管理。

3.3.1 用户注册窗体

设定一个用户注册窗体(form3),窗体主要提供用户注册功能。运行情况如图6所示。

3.3.2 密码修改窗体设计

添加一个窗体(form4)、一个ADO控件。要把控件属性设定为链接“学生信息系统.mdb”数据库,把记录源链接为数据库里的“学生信息表”。把窗体上的文本框的数据源设定为adodc1,把数据字段设定为与数据库相对应的字段。

该窗体主要用于用户密码修改的功能,窗体运行情况如图7所示。

3.3.3 删除账号窗体设计

添加一个窗体(form5)、一个ADO控件。把ADO控件的属性设定为链接至“学生信息系统.mdb”数据库,把记录源链接至数据库中的“用户账户表”,再把窗体上文本框的数据源链接到adodc1,分别把数据字段设定为与数据库相对应的字段。

该窗体主要用于用户密码修改的功能,窗体运行情况如图8所示。

3.4 学生基本信息录入窗体设计

设定一个窗体(form6)和一个ADO控件。将ADO控件属性设定为链接到“学生信息系统.mdb”数据库,将记录源链接到数据库里面的“学生信息表”,将窗体上的文本框和下拉框的数据源设定为adodc1,将数据字段对应设定为数据库中的字段。

该窗体主要针对学生基本信息的录入操作,窗体设计如图9所示。

3.5 学生基本信息维护窗体设计

设定一个窗体(form7)和一个ADO控件,一个DataGrid控件。在设计中添加一个数据环境,将ADO控件属性设计为链接到“学生信息系统.mdb”,将记录源链接到数据库中的“学生信息表”,再将DataGrid控件的数据源设定为DataEnvironment1、把DateMember设定为Command1。该窗体主要功能是对学生基本信息进行维护,并将数据导出为Excel文件等。窗体设计如图10所示。

3.5.1 数据环境

把数据环境的链接属性设定为链接到Access2003中的“学生信息系统.mdb”中的student表,将命令Command1添加到在建立好的链接下,并在属性页设定数据源为student表,将记录集管理的锁定类型设定为开发式,同时在Command1中添加子命令Command2,将其属性页设定数据源为“学生信息表”,并在关联定义中增加“学号”to“学号”的关联。其数据环境结构如图所11示。

注:在建立数据库时添加了较多字段备用,实际使用中,部分字段并未使用。

3.5.2 DateReport1的设计

在系统中设计Data Report,并添加一个数据报表,报名名称为默认的Data Report1,并将其数据源设定为DataEnvironme-

nt1,DateMember设定为Command1,报表窗体设计如图12所示。

报表的运行界面如图13所示。

3.5.3 成绩查询

添加一个窗体(form8)、一个ADO控件和一个DataGrid控件。将ADO控件属性设定为链接到“学生信息系统.mdb”,该部分主要功能完成班级选择。窗体运行情况如图14所示。

3.6 成绩信息录入窗体设计

设定一个窗体(form9)和一个DataGrid控件。将控件的数据源设定为DataEnvironment1,将DateMember设定为Command2。将窗体上的文本框和下拉框的数据源设定为DataEnvironment1,将DateMember设定为Command1,数据字段与数据环境里的字段对应。该窗体主要功能是为学生添加成绩,对成绩进行打印。窗体运行情况如图15所示。

3.6.1 DateReport2的设计

在系统中添加Data Report,设置一个数据报表,报表名使用默认的Data Report1。报表的数据源设定为DataEnvironment1,DateMember设定为Command1。报表界面如图16所示。

报表的运行界面如图17所示。

4 结 语

本文结合学校实际,对学生信息进行系统管理进行了设计,并实现了设计,对于这个系统,由于各方面条件的限制,许多系统功能还有待进一步精确化,本系统实现了基本功能,但仍需修改完善,使之功能更加广泛和完备。

参考文献:

[1] 林陈雷.Visual Basic6.0[M].北京:人民邮电出版社,2005.

[2] 潭浩.学用Visual Basic编程[M].西安:西安电子科技大学出版社,2001.

[3] 龚沛曾.面向对象程序设计系列教材[M].北京:高等教育出版社,2003.

[4] 温贤发.Visual Basic6.0数据库程序设计高手[M].北京:科学出版社,2001.

[5] 敬铮,于英杰.Visual Basic6.0数据库开发与专业应用[M].北京:国防工业出版社,2002.

作者:周宝珍

第2篇:基于VB的学生信息管理系统设计

摘要:随着中国高等教育招生规模的日益扩大,基于网络的大学生信息管理系统己经成为适应我国高等教育扩大规模,培养高等人才跨世纪工程的关键环节,也是高等教育得以顺利发展的基础条件。以下将分析基于VB的学生信息管理系统的设计。

关键词:学生;信息管理;VB

中图分类號:TP311.5 文献标识码:A

VB-based Student Information Management System Design

Yang Hui,Tong Lu

(Inner Mongolia Xinganmeng Xingan Vocational College,Xing'an137400,China)

一、学生信息管理系统的设计思想

(一)适应新体制下大学生管理模式的要求。系统要求具有较高的跨平台性,不同的职能部门,具体的业务逻辑往往不同,学生信息管理系统必须适应管理逻辑变化的要求。

(二)按用户的使用合理划分系统模块。学生信息管理系统按照用户第一的原则,采用面向对象的思想,按照系统使用用户设计系统模块。整个系统的使用用户分为三种角色:系统管理员、教师和学生。不同角色的用户具有不同的使用需求、不同的操作对象、不同的权限和不同的操作功能。

(三)较高的数据安全性。由于数据信息集中存储在数据库服务器上,其中包含学生课程成绩、选课纪录等许多十分重要的信息,因此一方面要严格限制非授权用户访问学生信息管理系统,对各类合法用户建立完善的用户权限管理体制,另一方面要保障系统本身运行的安全性和稳定性,防止由于系统故障而导致的数据丢失。

(四)采用最新软件开发技术。随着信息技术的高速发展,系统数据量和用户数量的不断增加,采用新的编程技术进行开发能够确保系统拥有较长的生命周期。本系统采用基于软件构建的开发技术。采用Windows作为应用服务器操作系统,SQL SERVER作为数据库服务器,采用全新的Eclipse+My eclipse+Tomcat作为开发平台和开发工具,确保了技术的先进性和开发的高效性。

二、系统的功能设计

根据系统的开发目标,现将系统的功能分为系统管理、学位管理、行政办公管理、招生就业管理、学科管理、排课系统管理和学生管理七大模块:

(一)系统管理模块。系统管理模块主要完成一些基本信息的录入与维护,如学生信息、公共信息、用户管理、课程信息等。因为这部分内容是其他各个管理模块的基础,所以我们进行详细的介绍。

1.学生基本信息管理:主要是针对学生表的操作,其中主要包括学生的学号、姓名、院系、研究方向、大学期间信息、学位情况、毕业论文、在读期间发表论文以及所获各种成果奖励等信息的录入和更新工作;

2.公共信息管理:主要针对各种基础类别表信息的维护工作。比如性别代码表、民族代码表、国别代码表、政治面貌代码表、学院代码表、大学生类别代码表等等。对于公共信息管理只有管理员才能进行维护,其他用户无权访问。

3.用户管理:主要是针对本系统三种不同种类的用户而设置的,每一种用户有不同的访问权限。学生用户可以查询自己的基本信息、选课信息、成绩信息以及其他的培养信息等。教师用户可以查询自己的基本信息、学生信息以及学生成绩提交等。管理员用户则有更高级别的权限,他还可以更新一些基础信息。

(二)行政办公管理。行政办公管理主要涉及到学生的档案管理、学费标准的制定、学生的缴费信息、学生经费管理、学生证书管理以及学生的离校审查等。这部分管理主要是由学校的职能部门来完成的。学生在校的档案管理一般由大学生处管理人员完成的。收费标准是由学校的相关招生部门根据每年不同的具体情况为不同类别的学生制定出不同的收费标准,然后再由学校的财务部门反馈给学生。

(三)学科及教师管理。学科信息管理包括学科专业基本情况录入、教师情况录入等。学科基础建设主要包括学科人员配备信息,学术梯队信息,科研情况信息,学生培养情况信息等。

(四)排课系统管理。能够及时、有效、方便的进行学生的排课管理,是提高学生培养质量的一个重要前提。它主要包括以下几个方面:教室管理、授课教师管理、排课管理、课表查询及打印等功能。

(五)学生培养管理。学生培养管理是进行学生教育的一个重要环节,其他所有的工作都是紧紧围绕着这个工作来展开的。主要包括学籍管理、培养方案、学生选课管理、成绩管理、导师资格管理、教师成绩上传管理、学生实验实训管理等。

三、部分代码实现

大学生信息管理系统是一种融合管理科学、信息科学、系统科学、现代通信技术和电子计算机技术为一体的综合性先进管理手段。近年来,随着信息技术、计算机技术及管理技术的进步,大学生信息管理系统在理论上和开发方式上取得了巨大发展,其应用领域也越来越广泛,这为大学生信息的实时跟踪、信息集成、信息共享提供了保障,促进了管理效率的提高。部分代码如下:

Dim FileNum As Integer

If Len(FileName) > 0 Then

'有输入文件名

FileNum = FreeFile() '获得可用文件号

Open FileName For Output As FileNum '打开输出文件

'如果无指定文件,则创建新文件

Print #FileNum, Text1.Text '输出文本

Close FileNum '关闭文件

End If

Text1.Text = ""

FileName = ""

End Sub

参考文献:

[1]Bob Reselman,Richard Peasley.Wayne Pruchniak.Visual Basic 6.0使用指南[M].电子工业出版社,2009,8

[2]孙凡士,田小勇.教育信息化资源开发与利用[M].北京:科学出版社,2008,8

作者:杨辉 佟璐

第3篇:基于VB的物流管理信息系统设计

摘要:为了顺利完成目标和战略任务,物流运输、保存、供应、采购、外包和自动化一体化的单一功能保证了各个环节的优化。与传统物流相比,现代物流具有辅助流量控制的功能,它已经成为基础设施建设的主要手段,但信息技术的应用,使现有的基础设施、信息、交通需求共享和运输运营更快。现代信息技术的核心,是信息技术、物流的原始链接在一起,显示了现代物流一体的特征.信息技术,实现了空间的原始位移,同时将货物运输、仓库、包装、装卸、加工、和配送等几项统合在了一起,满足了社会的物流需求。

关键词:VB;信息管理;物流管理

基于VB的物资管理信息系统的设计方法。物资管理信息系统为企业物资管理的定性和定量分析创造有利条件并提供数据依据,是实现生产过程物资配备合理化、整体化控制的惟一途径。一方面系统能提供各种数据分析报表,使库存状况直观显示在企业物资管理人员的面前,另一方面,系统能收集数据进行统计分析辅助管理人员决策对采购状况的分析和生产装备形势的预测,及时发现工作中存在的问题,提前预防控制,改变物资管理工作的现状,形成科学的、动态的物资信息管理系统,为企业安全生产和资源管理提供助力。以围绕着数据结构设计和数据共享性为核心,建立物资管理的数据共享基础库,为系统进一步的深化和延伸打下坚实的基础。在应用功能上利用计算机网络及时、完整、准确地反映整个物流过程,同时提供物资的收料、发料、库存和资金情况,随时让有关人员掌握物资信息,实现各类物资管理信息操作、维护、查询、统计、汇总、分析等功能。

一、系统需求分析

1.登陆需求。⑴根据用户名和密码的匹配性判断用户是否可以登陆系统。⑵根据用户名的类型决定进入系统后所拥有的权限。

2.物资管理需求。在实际应用中,由于物资信息是可变的,经常会有一些新的材料信息需要录入,也有一些原有信息需要进行修改、删除等操作,基于此,该过程应该具有对材料信息进行管理的功能(包括对材料信息的添加、修改、删除)。

3.仓储管理需求。物资信息从仓库中取出,或将其加入到仓库中都涉及到材料信息的变更,包括添加、修改等操作,基于此,系统应该具有对材料入库信息、材料出库信息进行管理的功能。

4.物资管理信息查询需求。由于物资信息较多,并且比较复杂,管理者经常需要根据需求对某些材料进行信息检索,包括仓库中还有哪些材料,仓库中材料的价格如何,基于此,系统应具有对仓库中的材料信息进行各种查询的功能。

5.数据统计需求。为了清晰掌握仓库中的材料的销售、维护等信息,管理者需要经常对仓库中的材料的各种信息进行统计、汇总,基于此,该过程应具有对仓库中材料信息、设备修理成本、设备改造成本及工程成本进行统计和管理的功能。

二、VB的物流管理信息系统设计与实现

1.系统可行性分析。项目的可行性分析也被称为可行性研究系统的调查,此为基础,探讨新系统开发的必要性和可能性。通过对新系统的开发技术在经济、社会上的分析和研究,以防投资失误,确保新系统的开发成功。可行性研究的目的是用最少的代价尽早确定解决问题。(1)经济的可行:主要是评价项目的经济效益,该系是毕业设计、不需要开发经费,在该系统的还可以实现显著提高企业经营的效率。因此经济可行。(2)技术的可行:系统的使用、Visual Basic接口方便迅速发展平台,正确的系统接口;开发数据库SQL服务器再利用,创建具有合理的逻辑的数据库;服务的最终用途。利用信息技术车收据、ADO交互方式建立和后台参考数据库的连接,包括统计数据,删除,转换等等。计算机设备和信息技术设备、必须保证装备齐全并能完全滿足系统。(3)管理上的可行:主要管理人员的批准和认同。该系统开发目标,十分明确。技术和经济方面完全可以,而且投资少,但是,效果非常快。所以系统开发是完全可行的。

2.模块结构设计。“物流管理系统”可以分为主要的几个模块:文件管理模块、合同管理模块、工资管理模块,工作指令管理、仓库管理模块。根据系统的结构设计方法对系统进行拆解后,分解出相对立的模块,基于模块的设计和模块之间的关系得到软件的功能和系统功能模块结构。

3.概念模型设计。概念模型被视为在现实世界的机器的世界的中产阶层的过渡,占全体的数据库的设计的关键。概念结构的设计概念模型的结果,客观的对象,在现实世界中第一个抽象是过于依赖特定机械结构的信息,数据分析后词典,系统模型之间的关系是可以使用实物一关系图(E—R图)方法是数据结构分析得到了概念模型。为充分满足顾客的各种实物之间的关系,成功的逻辑构造的设计打下基础。这些实物含有各种具体信息的相互作用形成数据的流动。该系统的设计实现了对汽车信息实体和货物信息的系统统计。

4.数据库设计。系统中设计了两个数据库,一个是对登陆信息进行管理,另一个是对系统数据进行管理。⑴登陆信息库包括姓名与密码。⑵系统的物资信息管理数据库包括以下数据:1)物资信息管理,包括所有物资的基本信息。2)入库信息管理,包括入库单号号码、入库发票号码、入库日期等信息。3)入库材料信息管理,包括入库材料的入库单号、材料编号、价格、数量等信心。4)余2额信息管理,包括材料的编码、价格、数量等信息。5)出库信息管理,包括出库单号码、出库发票号码、出库日期等信息。6)出库材料信息管理,包括出库材料的出库单号、材料编码、价格、数量等信息。

5.系统实现。漂亮清晰的界面,容易理解,操作简单,具有指导功能,操作者会觉得简易,从而提高效率。由于系统基于Windows操作系统,因此接口遵循传统风格的窗户,标题栏,菜单栏,对话框组件。符合人机界面的Windows操作系统,只要操作者有Windows操作基础,能快速适应这种管理系统操作,因此可以大大降低培训成本,提高系统推广性。

总之,设计的物资管理信息系统,对生产现场物资配备、管理的快速反馈、动态监管、受控,提高对生产现场成本的受控能力,同时对物资管理的台账进行统计、汇总都由物资管理信息系统辅助完成,更加可靠的保证最佳物资储备和最佳的管理绩效,同时实现管理过程信息化的处理。

参考文献

[1]刘晓伟.浅谈基于VB的物流管理信息系统设计.2017.

[2]梁海平.浅析基于VB的物流管理信息系统设计与实现.2018.

作者:于芬

第4篇:VB课程设计--学生信息管理系统

11111111111111111111111111111111111111111111

要………………………………………………………………………5 前

言………………………………………………………………………6 第一章 为什么要开发一个学生档案管理系统……………………………7 1.1 在教育中用计算机管理学生档案的意义.………………………7 1.2为将来学校上网做好准备……………………..…………………7 1.3 学生档案的设计分析……………………………………………7 第二章 编程环境的选择.…………………………………………………9 2.1开发工具的介绍.…………………………………………………9 2.3关系型数据库……………………………………………………11 2.4 数据库的概念……………………………………………………12 2.5新建一个数据库.…………………………………………………12 第三章 需求分析………….………………………………………………14 3.1 可行性研究………………………………………………………14 3.2 需求分析…………………………………………………………15 第四章 系统总体规划..……………………………………………………17 4.1软件模块结构设计………………………………………………17 4.2数据库设计...……………………………………………………18 第五章 系统具体实………………………………………………………19 5.1 主界面………………………………………………………………19 5.2数据库的实现…………………………………………………………21 5.3 ACCESS与VB的连接………………………………………………22 第六章 测试 …………………………………………………………………24 6.1程序运行界面 如下图………………………………………………24 6.2输入用户名和密码界面………………………………………………26

1 11111111111111111111111111111111111111111111 6.3系统所具备的功能显示界面…………………………………………26 6.4系统管理功能…………………………………………………………27 6.5班级系统………………………………………………………………30 6.6 档案管理……………………………..………………………………32 6.7课程管理………………………………………………………………33 6.8成绩管理………………………………………………………………34 结束语…………………………………………………………………………36 致

谢……………………………………………………………………….37 参考文献………………………………………………………………………38

摘 要

学生档案管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。

经过分析,我们使用 MICROSOFT公司的 VISUAL BASIC开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。

关键字:控件、窗体、域。

摘要:随着中国教育事业的迅速发展,学生的数量日益增加,学生的信息管理也变得日益繁重和复杂。如果想要提高学生信息管理的效率和质量,以适应教育事业的发展,我们就必须对学校内部进行改革和加强学校管理。借助现代信息技术的管理方法,建立学生信息管理系统势在必行。本文通过对一个学生信息管理系统的开发实例,对基于Visual Basic 6.0和SQL 2000的学生信息管理系统进行了分析和研究。

文章首先分析了管理信息系统的概念和特点,介绍了开发工具Visual Basic 6.0和SQL

2 11111111111111111111111111111111111111111111 2000,然后对学生信息管理信息系统进行了需求分析、概要设计和详细设计,在概要设计中进行了数据库的设计,在详细设计中讨论了系统的实现方法和编码。之后对系统测试进行了分析和讨论,功能模块的测试中把登录服务器模块的测试和其他功能模块的测试分开进行,介绍了一种实用的测试方法。最后是介绍系统的总体测试和系统发布。 本文所论述的学生信息管理系统对实现初中、高中和大中专院校的学生信息管理的现代化、

科学化具有重要意义。

关键词:学生信息管理系统;Visual Basic 6.0;SQL 2000 ;C/S模式

Information Management system of student

Based on C/S model

Abstrac: With the quick development of Chinese education, the student’s quantity increasingly increaseses, the student’s status management also becomes increasingly heavy and complicated. If want to improve the efficiency and quality of the student’s status management and adapt the development of the education business, we must to reform the inner school and enhance the school management. So ask for the management method of the modern information technique and eatablish the student’s status management system is imperative. This text analysis and study the student’s status management information system which based on Visual Basic 6.0 and SQL 2000 across an example of student’s status management imformation system.Firstly, the article analyzed the management information system’s concept and characteristics and introduced the development tools Visual Basic 6.0 and SQL 2000 .Then it carried through the need analysis, general design and detailed design for the student’s student status information system.It designed the database in the general design and discussed the realize methord and coding of the system in the detailed design. Then it analysised and dicussed to the system test.It classified the test of registering server mold and the test of other founction mold in the function mold test and introduced a practical test method.Finally it introduced the total test and release of the system. The student’s student status management this text discussing have important meaning to realize the student’s student status manage of junior and senior high school. Keywords: Students status management system;Visual Basic 6.0;SQL 2000;C/S model

目 录 前言 1 1 系统开发环境及其工具介绍 2

3 11111111111111111111111111111111111111111111

1.1 系统简介 2 1.1.1 管理信息系统的概述 2 1.1.4 学生学籍管理信息系统概述 2 1.2 系统开发工具及开发环境概述 3 1.2.1 Visual Basic 6.0 的介绍 3 1.2.2 ADO数据访问技术 3 1.2.3 Microsoft SQL Server简介 8

2 需求分析 11 2.1 系统需求 11 2.1.1 编写目的 11 2.1.2 背景及范围 11 2.2 任务概要 11 2.2.1 目标 11 2.2.2 运行环境 11 2.2.3 条件与限制 11 3 系统总体分析与设计 12

3.1 系统分析 12 3.1.1 系统功能的分析 12 3.1.2 系统功能模块设计 12

3.2 数据库设计 13 3.2.1 数据库需求分析 13 3.2.2 数据库概念结构设计 13 3.2.3 数据库逻辑结构设计 15

4 详细设计 18 4.1 学生管理系统主窗体的创建 18 4.1.1 创建工程项目——Student_MIS 18 4.1.2 创建学生信息管理系统的主窗体 18

4.1.3 创建主窗体的菜单 20 4.1.4 创建公用模块 20 4.2 系统用户管理模块的创建 21 4.2.1 用户登录窗体的创建 21 4.2.2 添加用户窗体的创建 23 4.2.3 修改用户密码窗体的创建 24 4.3 学籍管理模块的创建 25

4 11111111111111111111111111111111111111111111 4.3.1 添加学籍信息窗体的创建 25 4.3.2 修改学籍信息窗体的创建 27 4.3.3 查询学籍信息窗体的创建 29 4.4 班级管理模块的创建 30 4.4.1 添加班级信息窗体的创建 30 4.4.2 修改班级信息窗体的创建 32 4.5 课程设置模块的创建 32 4.5.1 添加课程信息窗体的创建 32 4.5.2 修改课程信息窗体的创建 33 4.5.3 设置年级课程窗体的创建 34 4.6 成绩管理模块的创建 35 4.6.1 添加成绩信息窗体的创建 36 4.6.2 修改成绩信息窗体的创建 37 4.6.3 查询成绩信息窗体的创建 37

5 运行与测试 39 5.1 登录服务器模块测试 39 5.2 其他模块的测试 39 5.3 帮助文档的设计 39 5.4 系统测试和打包发行 40

结束语 41 参考文献 42 致谢 43 附录 44

前言

管理信息系统就是我们常说的MIS(Management Information System),在强调管理,强调信息的现代社会中它变得越来越普及。MIS是一门新的学科,它跨越了若干个领域,比如管理科学、系统科学,运筹学、统计学以及计算机科学。[1]在这些学科的基础上,形成信息收集和加工的方法,从而形成一个纵横交织的系统。

管理信息系统起初应用于最基础的工作,如打印报表、计算工资、人事管理等,进而发展到企业财务管理、库存管理等单项业务管理,这属于电子数据处理(EDP,Electronic Data Processing)系统。当建立了企业数据库,有了计算机网络从而达到数据共享后,从系统观点出发,实施全局规划和设计信息系统时,就达到管理信息系统的阶段。随着计算机技术的进步和人们对系统的需求进一步提高,人们更加强调管理信息系统能否支持企业高层

5 11111111111111111111111111111111111111111111 领导的决策这一功能,更侧重于企业外部信息的收集、综合数据库、模型库、方法库和其他人工智能工具能否直接面向决策者,这是决策支持系统(DSS,Decision Support System)

的任务。

我国20世纪70年代末有少数企业开始MIS的局部应用。“六五”期间,选择一些大型企业进行MIS的开发试点,其中首都钢铁公司、北京第一棉纺厂、湖北第二汽车制造厂、宁江机床厂等取得了经验。20世纪80年代中后期,在全国性的计算机应用热潮中,许多企业纷纷从财务管理、人事管理等单项应用入手,尝试建立MIS。许多企业,如北京内燃机厂、北京电视机厂、沈阳鼓风机厂、天津渤海无线电厂的MIS初具规模,建立了覆盖全厂的计算机网络。“八五”期间,企业逐步走向市场,MIS建设的目标和需求日益明确。一些企业的系统,如北京第一机床厂、山西经纬纺织机械厂、成都飞机制造公司等都达到了很高的水平,与企业中其他系统集成,形成了CIMS。目前,我国MIS已经有了相当的普及率,几乎覆盖了各个行业及各个部门。

在学校,尤其是在各大高校,对于学生的管理是相当重要,而且也是相当麻烦的,它是学校管理中最基本的一项常规性工作。而长期以来,学校管理都是依赖人工来进行的,面对如此众多的学生信息,其工作量是相当相当巨大的。这样不仅仅浪费了大量的人力物力,而且由于人工管理存在着大量的不可预知性,造成学生信息管理的一些不规范,使得信息

管理陷入“事倍功半”的地步。

开发本系统就是为了解决学校在管理中的一些不规范,使学生信息的管理向着规范化、简

单化、有效化的方向发展。[2] 根据学生信息管理系统的基本流程和高校学生信息管理的实际要求,本系统需要实现以下

功能:

(1) 学生基本信息的录入,基本信息包括学生的基本情况、所在班级、所学课程和成绩等;

(2) 要求在系统中能够对学生信息精心灵活的浏览和查询; (3) 要求在系统中能够对班级信息进行输入、查询和修改等; (4) 要求能够对学校基本课程信息录入、修改和设置等; (5) 要求能够对学生成绩信息进行输入、修改和查询等; (6) 本系统可以提供给管理员或者学生本人使用。对学生类用

6 11111111111111111111111111111111111111111111

6.3系统所具备的功能显示界面

如图

7 11111111111111111111111111111111111111111111

6.4系统管理功能

如图

8 11111111111111111111111111111111111111111111

6.5班级系统

.

6.5.1 班级添加

9 11111111111111111111111111111111111111111111

6.6 档案管理

10 11111111111111111111111111111111111111111111

6.6.1 档案添加

6.6.2 档案查询

11 11111111111111111111111111111111111111111111

6.7课程管理

6.7.1课程设置

12 11111111111111111111111111111111111111111111

6.7.2 课程添加

13 11111111111111111111111111111111111111111111

四、设计结果分析

(1)系统所具备的功能显示界面

14 11111111111111111111111111111111111111111111

15 11111111111111111111111111111111111111111111

16 11111111111111111111111111111111111111111111 (2)结果分析

1、第一步能很好的运行,初始密码就是用户名,只有密码正确才会进入系统。

2、点击在用户界面可以加入新的用户和删除以前的用户,也可以对密码进行修改。

3、在班级管理系统中各个功能都可以实现,可以显示当前系统中所有的班级信息。

4、课程设计一栏中可以添加系统中已经存储的课程和手动的输入课程,可以对课程的信息进行相应的操作。

5、成绩管理功能可以正常的运行,每一个功能都是单独的实现,不会产生混淆。

6、学籍管理是比较难的一部分,在运行了几次才让各个功能更能很好的实现,能够很好的将学生的信息存到数据库中。而且可以对其中的数据镜像相应的操作

17 11111111111111111111111111111111111111111111

五、个人小结

虽然Vb课结束了,但是自己感觉好像没有学到太多的东西,可能是上机的时间比较少吧,还有就是对待这么课的心态不同和老师要求的不严的缘故。

通过写完这个学生管理系统,感到收获很多,不动手就不知道自己的在哪里不懂,在这次作业的完成中遇到了许多自己无法调试的错误,只能请教已经学过了的同学,感觉到自己的知识的缺乏。虽然最后自己把所有的功能都按照预期的编好了,也可以很好的运行,但是其中也有许多的不足,对图像的不理解和不会很好的使用是自己的程序让人感到很呆板,这是需要改进的一大部分。

跟着老师学习了一个学期,自己感觉到学会一些简单的程序编写,至少认识了vb的作用性,这次的大作业,我只能把每一功能当做一个小的程序来编写,不会很好的联系所用的功能,在编写较长的运算时,不能够写好,只能对着书本一个的一个算法尝试,不能脱离课本,有时看着课本也不知道怎么写。

当自己写到难的时候,有点想放弃,感觉太难了,就把自己的程序给别人修改,加工。对其中的控件和文件的概念不是很熟

18 11111111111111111111111111111111111111111111 悉,还有就是数据库,以前没有接触,虽然老师在最后一节课的时候是一步一步的在课堂上讲解的,但是自己操作时,有时不知道在哪个地方编辑。

编完这个程序最大的收获就是将自己不同的和学到的知识重新的联系起来了,又重新的复习了所学的内容,对不同的算法有了新的了解。常用控件和系统对象有了初步的认识,学会利用数据库来存储信息,对上课不知道的多文档界面,在试着编写的过程中有了较大的认识。

总的来说,这一个学期并没有浪费,可以在别人的帮助下做完这个学生管理系统,感到有种成就感,虽然不是很完美,至少自己能够让这个系统完整的运行,其中不足之处,就只好留在自

19

第5篇:VB0002学生信息管理系统论文2

摘 要

随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。

本文介绍了在Visual Basic6.0环境下采用“自上而下地总体规划,自下而上地应用开发”的策略开发一个管理信息系统的过程。通过分析某一学校学生管理的不足,创建了一套行之有效的计算机管理学生的方案。文章介绍了学生管理信息系统的系统分析部分,包括可行性分析、业务流程分析等;系统设计部分主要介绍了系统功能设计和数据库设计及代码设计;系统实现部分说明了几个主要模块的算法,

本系统界面友好,操作简单,比较实用。

【关键字】:管理信息系统、学生管理、Visual Basic应用

目 录

摘 要 ................................................................... 1 Abstract ............................................... 错误!未定义书签。 第1章 绪论 ........................................... 错误!未定义书签。 2.系统概述 ............................................. 错误!未定义书签。

2.1现有系统分析 ............................................................................. 错误!未定义书签。 2.2可行性分析 ................................................................................. 错误!未定义书签。 2.3 开发工具简介 ............................................................................ 错误!未定义书签。

2.3.1 Visual Basic 6.0 简介 ....................................................... 错误!未定义书签。 2.3.2 Microsoft SQL 2000 简介 ................................................ 错误!未定义书签。 2.4 系统的功能简介 ........................................................................ 错误!未定义书签。

1 2.5系统开发的目标 ......................................................................... 错误!未定义书签。 3. 系统分析 ............................................ 错误!未定义书签。

3.1业务流程分析 ............................................................................. 错误!未定义书签。 3.2 数据流程分析 ............................................................................ 错误!未定义书签。 3.3数据存储分析 ............................................................................. 错误!未定义书签。 4.系统设计 ............................................. 错误!未定义书签。

4.1软件模块结构设计 ..................................................................... 错误!未定义书签。

4.1.1 系统方案确定 .................................................................. 错误!未定义书签。 4.1.2 软件结构设计 .................................................................. 错误!未定义书签。 4.2 数据库设计 .................................................................................................................. 2 4.2.1 系统E-R图 ..................................................................................................... 2 4.2.2 各表的物理结构 ............................................................ 错误!未定义书签。

5.系统的实现 ........................................... 错误!未定义书签。

5.1 系统登陆界面 ............................................................................ 错误!未定义书签。 5.2系统主界面 ................................................................................. 错误!未定义书签。 5.3用户管理模块 ............................................................................. 错误!未定义书签。 5.4学生缴费管理模块 .................................................................... 错误!未定义书签。 结 论 .................................................. 错误!未定义书签。 致 谢 ................................................. 错误!未定义书签。 参考文献 ............................................... 错误!未定义书签。

4.2 数据库设计

数据库采用了Microsoft推出的SQL Server数据库,使用SQL Server的好处还在于,如果你的系统扩展到Client/Server模式的时候,可以使用Microsoft的数据库服务器软件SQL Server,此时,程序只需要简单的修改一下链接(ADO的数据源)就可以,这样,为程序的平滑扩展提供了非常有力的条件。 4.2.1 系统E-R图

本系统中所涉及到的主要实体共有8个数据表

allkecheng表:{课程名称,教材}

2 cj表:{学号,学期,类型,课程名称,分数} class表:{年级,班级,教室,年制,专业,班主任,备注} classkecheng表:{年级,专业,年制,学期,课程名称} jf表:{学号,学期,交费,欠费,日期,操作员} kaoshileixing表:{类型} use表:{username,password,admin,readonly,qx1,qx2,qx3,qx4} xj表:{学号,姓名,性别,班级,出生年月,家庭住址,邮政编码,联系电话,入学时间,备注} suefei表:{年级,专业,年制,学期,学费}

本系统主要可以实现以下的管理功能:班级管理、学生档案管理、学生交费管理、课程管理、成绩管理等等。

Powered by 计算机毕业论文网http:// 提供 如果需要详细内容请与QQ:4991024联系

第6篇:VB学生信息管理系统毕业论文[1]

要………………………………………………………………………5 前

言………………………………………………………………………6 第一章 为什么要开发一个学生档案管理系统……………………………7 1.1 在教育中用计算机管理学生档案的意义.………………………7 1.2为将来学校上网做好准备……………………..…………………7 1.3 学生档案的设计分析……………………………………………7 第二章 编程环境的选择.…………………………………………………9 2.1开发工具的介绍.…………………………………………………9 2.3关系型数据库……………………………………………………11 2.4 数据库的概念……………………………………………………12 2.5新建一个数据库.…………………………………………………12 第三章 需求分析………….………………………………………………14 3.1 可行性研究………………………………………………………14 3.2 需求分析…………………………………………………………15 第四章 系统总体规划..……………………………………………………17 4.1软件模块结构设计………………………………………………17 4.2数据库设计...……………………………………………………18 第五章 系统具体实………………………………………………………19 5.1 主界面………………………………………………………………19 5.2数据库的实现…………………………………………………………21 5.3 ACCESS与VB的连接………………………………………………22 第六章 测试 …………………………………………………………………24 6.1程序运行界面 如下图………………………………………………24 6.2输入用户名和密码界面………………………………………………26

1

6.3系统所具备的功能显示界面…………………………………………26 6.4系统管理功能…………………………………………………………27 6.5班级系统………………………………………………………………30 6.6 档案管理……………………………..………………………………32 6.7课程管理………………………………………………………………33 6.8成绩管理………………………………………………………………34 结束语…………………………………………………………………………36 致

谢……………………………………………………………………….37 参考文献………………………………………………………………………38

摘 要

学生档案管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。

经过分析,我们使用 MICROSOFT公司的 VISUAL BASIC开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。

关键字:控件、窗体、域。

摘要:随着中国教育事业的迅速发展,学生的数量日益增加,学生的信息管理也变得日益繁重和复杂。如果想要提高学生信息管理的效率和质量,以适应教育事业的发展,我们就必须对学校内部进行改革和加强学校管理。借助现代信息技术的管理方法,建立学生信息管理系统势在必行。本文通过对一个学生信息管理系统的开发实例,对基于Visual Basic 6.0和SQL 2000的学生信息管理系统进行了分析和研究。

文章首先分析了管理信息系统的概念和特点,介绍了开发工具Visual Basic 6.0和SQL

2

2000,然后对学生信息管理信息系统进行了需求分析、概要设计和详细设计,在概要设计中进行了数据库的设计,在详细设计中讨论了系统的实现方法和编码。之后对系统测试进行了分析和讨论,功能模块的测试中把登录服务器模块的测试和其他功能模块的测试分开进行,介绍了一种实用的测试方法。最后是介绍系统的总体测试和系统发布。 本文所论述的学生信息管理系统对实现初中、高中和大中专院校的学生信息管理的现代化、

科学化具有重要意义。

关键词:学生信息管理系统;Visual Basic 6.0;SQL 2000 ;C/S模式

Information Management system of student

Based on C/S model

Abstrac: With the quick development of Chinese education, the student’s quantity increasingly increaseses, the student’s status management also becomes increasingly heavy and complicated. If want to improve the efficiency and quality of the student’s status management and adapt the development of the education business, we must to reform the inner school and enhance the school management. So ask for the management method of the modern information technique and eatablish the student’s status management system is imperative. This text analysis and study the student’s status management information system which based on Visual Basic 6.0 and SQL 2000 across an example of student’s status management imformation system.Firstly, the article analyzed the management information system’s concept and characteristics and introduced the development tools Visual Basic 6.0 and SQL 2000 .Then it carried through the need analysis, general design and detailed design for the student’s student status information system.It designed the database in the general design and discussed the realize methord and coding of the system in the detailed design. Then it analysised and dicussed to the system test.It classified the test of registering server mold and the test of other founction mold in the function mold test and introduced a practical test method.Finally it introduced the total test and release of the system. The student’s student status management this text discussing have important meaning to realize the student’s student status manage of junior and senior high school. Keywords: Students status management system;Visual Basic 6.0;SQL 2000;C/S model

目 录 前言 1 1 系统开发环境及其工具介绍 2

3

1.1 系统简介 2 1.1.1 管理信息系统的概述 2 1.1.4 学生学籍管理信息系统概述 2 1.2 系统开发工具及开发环境概述 3 1.2.1 Visual Basic 6.0 的介绍 3 1.2.2 ADO数据访问技术 3 1.2.3 Microsoft SQL Server简介 8

2 需求分析 11 2.1 系统需求 11 2.1.1 编写目的 11 2.1.2 背景及范围 11 2.2 任务概要 11 2.2.1 目标 11 2.2.2 运行环境 11 2.2.3 条件与限制 11 3 系统总体分析与设计 12

3.1 系统分析 12 3.1.1 系统功能的分析 12 3.1.2 系统功能模块设计 12

3.2 数据库设计 13 3.2.1 数据库需求分析 13 3.2.2 数据库概念结构设计 13 3.2.3 数据库逻辑结构设计 15

4 详细设计 18 4.1 学生管理系统主窗体的创建 18 4.1.1 创建工程项目——Student_MIS 18 4.1.2 创建学生信息管理系统的主窗体 18

4.1.3 创建主窗体的菜单 20 4.1.4 创建公用模块 20 4.2 系统用户管理模块的创建 21 4.2.1 用户登录窗体的创建 21 4.2.2 添加用户窗体的创建 23 4.2.3 修改用户密码窗体的创建 24 4.3 学籍管理模块的创建 25

4

4.3.1 添加学籍信息窗体的创建 25 4.3.2 修改学籍信息窗体的创建 27 4.3.3 查询学籍信息窗体的创建 29 4.4 班级管理模块的创建 30 4.4.1 添加班级信息窗体的创建 30 4.4.2 修改班级信息窗体的创建 32 4.5 课程设置模块的创建 32 4.5.1 添加课程信息窗体的创建 32 4.5.2 修改课程信息窗体的创建 33 4.5.3 设置年级课程窗体的创建 34 4.6 成绩管理模块的创建 35 4.6.1 添加成绩信息窗体的创建 36 4.6.2 修改成绩信息窗体的创建 37 4.6.3 查询成绩信息窗体的创建 37

5 运行与测试 39 5.1 登录服务器模块测试 39 5.2 其他模块的测试 39 5.3 帮助文档的设计 39 5.4 系统测试和打包发行 40

结束语 41 参考文献 42 致谢 43 附录 44

前言

管理信息系统就是我们常说的MIS(Management Information System),在强调管理,强调信息的现代社会中它变得越来越普及。MIS是一门新的学科,它跨越了若干个领域,比如管理科学、系统科学,运筹学、统计学以及计算机科学。[1]在这些学科的基础上,形成信息收集和加工的方法,从而形成一个纵横交织的系统。

管理信息系统起初应用于最基础的工作,如打印报表、计算工资、人事管理等,进而发展到企业财务管理、库存管理等单项业务管理,这属于电子数据处理(EDP,Electronic Data Processing)系统。当建立了企业数据库,有了计算机网络从而达到数据共享后,从系统观点出发,实施全局规划和设计信息系统时,就达到管理信息系统的阶段。随着计算机技术的进步和人们对系统的需求进一步提高,人们更加强调管理信息系统能否支持企业高层

5

领导的决策这一功能,更侧重于企业外部信息的收集、综合数据库、模型库、方法库和其他人工智能工具能否直接面向决策者,这是决策支持系统(DSS,Decision Support System)

的任务。

我国20世纪70年代末有少数企业开始MIS的局部应用。“六五”期间,选择一些大型企业进行MIS的开发试点,其中首都钢铁公司、北京第一棉纺厂、湖北第二汽车制造厂、宁江机床厂等取得了经验。20世纪80年代中后期,在全国性的计算机应用热潮中,许多企业纷纷从财务管理、人事管理等单项应用入手,尝试建立MIS。许多企业,如北京内燃机厂、北京电视机厂、沈阳鼓风机厂、天津渤海无线电厂的MIS初具规模,建立了覆盖全厂的计算机网络。“八五”期间,企业逐步走向市场,MIS建设的目标和需求日益明确。一些企业的系统,如北京第一机床厂、山西经纬纺织机械厂、成都飞机制造公司等都达到了很高的水平,与企业中其他系统集成,形成了CIMS。目前,我国MIS已经有了相当的普及率,几乎覆盖了各个行业及各个部门。

在学校,尤其是在各大高校,对于学生的管理是相当重要,而且也是相当麻烦的,它是学校管理中最基本的一项常规性工作。而长期以来,学校管理都是依赖人工来进行的,面对如此众多的学生信息,其工作量是相当相当巨大的。这样不仅仅浪费了大量的人力物力,而且由于人工管理存在着大量的不可预知性,造成学生信息管理的一些不规范,使得信息

管理陷入“事倍功半”的地步。

开发本系统就是为了解决学校在管理中的一些不规范,使学生信息的管理向着规范化、简

单化、有效化的方向发展。[2] 根据学生信息管理系统的基本流程和高校学生信息管理的实际要求,本系统需要实现以下

功能:

(1) 学生基本信息的录入,基本信息包括学生的基本情况、所在班级、所学课程和成绩等;

(2) 要求在系统中能够对学生信息精心灵活的浏览和查询; (3) 要求在系统中能够对班级信息进行输入、查询和修改等; (4) 要求能够对学校基本课程信息录入、修改和设置等; (5) 要求能够对学生成绩信息进行输入、修改和查询等; (6) 本系统可以提供给管理员或者学生本人使用。对学生类用

6

6.3系统所具备的功能显示界面

如图

7

6.4系统管理功能

如图

6.5班级系统

.

6.5.1 班级添加

6.6 档案管理

10

6.6.1 档案添加

6.6.2 档案查询

6.7课程管理

6.7.1课程设置

12

6.7.2 课程添加

13

Powered by 计算机毕业论文网http:// http://

14

第7篇:Vb课程设计-职工信息系统.

职工信息系统设计报告

一、设计思路 1.要达到的目的

培养学生综合利用VB语言进行程序设计的能力,主要是培养学生综合使用基本控件的、文件读写、数组操作和菜单设计等能力。

2.关键问题的解决 ①设置属性

设计时要注意一些功能需要在其它功能之后才能使用,如“平均工资”、“高于平均”等按钮需要在读入数据后才能使用,设计界面时需要将相应的按钮的Enable属性为false,在读入数据后才设置Enable属性为True。

②编写代码

需要对每一个窗体编写事件处理过程。最主要的工作包含在主窗体中,代码包括事件处理过程和必要的声明。变量声明部分声明本程序所需要的变量和数组,由于单击按钮时,都要对姓名、职称、工资进行操作,因此相应的数组和变量应定义为模块级的。在编写事件处理过程代码时注意以下几点: (1定义动态数组分别用于存放姓名、职称、工资数据。

(2单击“读取数据”按钮,利用通用对话框所提供的打开标准对话框来选择要打开的数据文件,并利

用文件的基本操作将该文件中的的数据依次读入到相应数组中。注意为保留动态数组中存放的内容,在使用ReDim语句中要加上Preserve关键字。

(3计算职工的平均工资,并存放在平均工资变量,此变量应定位模块级的。

(4利用InputBox 函数来输入要追加的学生的信息。 (5利用InputBox 函数来输入要删除的职工的姓名。

利用MsgBox 函数或另一个窗体来显示高于及等于(或低于平均工资和分类汇总的结果。。。。

二、部分程序关键源代码及注释 Dim i As Integer, aver As Single Dim a( As String, b( As String, c( As String Private Sub Command1_Click( Dim str As String CommonDialog1.Filter = "txt (*.txt|*.txt|all file(*.*|*.*" CommonDialog1.FilterIndex = 1 On Error GoTo usercancle CommonDialog1.ShowOpen usercancle: Text1 = "姓名职称工资" fileno = FreeFile Open CommonDialog1.FileName For Input As #fileno i = 1 Do While Not EOF(fileno

ReDim Preserve a(i, b(i, c(i Input #fileno, a(i, b(i, c(i str = a(i & " " & b(i & " " & c(i Text1 = Text1 + vbNewLine + str i = i + 1 Loop Close #fileno i = i1 Print i aver = sum / i s1 = "职工的平均工资为:" & aver s2 = "职工总人数:" & i MsgBox s1 & vbCrLf & s2, , "zh1" Command3.Enabled = True Command4.Enabled = True End Sub Private Sub Command3_Click( Dim x As Integer, l1 As String, m1 As String Form2.Text1 = "姓名职称工资" Form2.Text1 = Form2.Text1 & vbNewLine & "--------------------------" x = 0 Print i For i = 1 To i If c(i >= aver Then x = x + 1

l1 = a(i & " " & b(i & " " & c(i Form2.Text1 = Form2.Text1 & vbNewLine & l1 End If Next i i = i1 Print i Form2.Text1 = Form2.Text1 & vbNewLine & "--------------------------" m2 = "工资小于平均工资的人数" & y Form2.Text1 = Form2.Text1 & vbNewLine & m2 Form2.Caption = "工资小于平均工资的人数" Load Form2 Form2.Show End Sub Private Sub Command5_Click( Dim n1 As Integer, n2 As Integer, n3 As Integer, n4 As Integer Dim str1 As String, str2 As String, str3 As String, str4 As String For i = 1 To i

If a(i = "教授" Then n1 = n1 + 1 ElseIf b(i = "副教授" Then n2 = n2 + 1 ElseIf c(i = "讲师" Then n3 = n3 + 1 Else n4 = n4 + 1 End If Next i i = i1 a(i = a(i + 1 b(i = b(i + 1 c(i = c(i + 1 Next i i = i1 Print i End Sub Private Sub manu1_Click( Dim m1 As Integer, m2 As Integer m1 = InputBox("请输入工资下限" m2 = InputBox("请输入工资上限" Form2.Text1 = "姓名职称工资" r = 1 For i = 1 To i If c(i >= m1 And c(i <= m2 Then r = r + 1 str5 = a(i & " " & b(i & " " & c(i Form2.Text1 = Form2.Text1 & vbCrLf & str5 End If Next i i = i1 For j = i + 1 To g If Val(c(i > Val(c(j Then t = c(i c(i = c(j c(j = t t = a(i a(i = a(j a(j = t t = b(i b(i = b(j

b(j = t End If Next j Next i i = i1 For j = i + 1 To g If Val(c(i < Val(c(j Then

t = c(i c(i = c(j c(j = t t = a(i a(i = a(j a(j = t t = b(i b(i = b(j b(j = t End If Next j Next i i = i - 1 Form2.Text1 = "姓名职称工资" For i = 1 To i str7 = a(i & " " & b(i & " " & c(i Form2.Text1 = Form2.Text1 & vbNewLine & str7 Next i Form2.Caption = "降序排序" Load Form2

Form2.Show End Sub Private Sub manu5_Click( End End Sub

三、设计方案的完善及目前存在的问题 1.设计方案要完善的地方 ①对编程语言的进一步完善 ②对程序的调用 ③程序不够人性化 2. 目前存在的问题 ①编程语言不够流畅。

四、本次设计的收获及心得体会

对VB理解不深刻,知识匮乏,但这是颇有实际用处的,认真学习vb,不断认识自己的不足,并不断改进。认真学习科学知识,在学习中充分实践。把运用与学习结合在一起。

五、对该题目和VB设计的意见和建议 1. 对该题目的意见和建议 该程序应该充分与现实结合。

让程序更容易让顾客进行操作。 更加人性化。

2.对本次设计的意见和建议

设计课程比较实用,但颇有难度,希望以后能给我们较多时间进行设计,并请老师多帮助解决疑难问题,谢谢。

第8篇:VB0066小型企业人事信息管理系统S 2

20世纪,随着全球的紧急的蓬勃发展,企业规模越来越大,人员数量急剧增加,有关人员管理的各种信息也成倍增长。面对庞大的信息量,就需要有人事信息管理系统来提高企业管理工作的效率。通过这样的系统可以做到信息的规范管理、科学统计和快速查询,从而减少管理方面的工作量。

本系统以此为目标,能够初步的完成企业人员的基本信息、考勤信息、工作业绩、工资信息等方面的管理。本系统的开发顺应了现在单位制度的新要求,有利于推动单位人事信息管理工作走向科学化、规范化,大大提高了人事信息管理的效率和质量。该系统具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。实现过程中使用了面向对象技术、图形用户接口、消息响应、数据库技术、可视化开发等现代软件编制技术,并在界面上参照WINDOWS的标准应用程序,使得系统能够跟WINDOWS达到最佳的兼容性,并且使用户也能够快速的熟悉本系统的使用。

本套软件使用Visual Basic 6.0作为开发工具。通过系统规划、系统分析、系统设计、原代码编辑,后期调试等阶段,力争使系统界面标准、统

一、友好、方便。

关键字:记录;数据库;人事信息;管理系统;VB;SQL

1

目录

1.系统设计·····································································5

1.1系统功能分析·······························································5 1.2系统功能模块设计·························································6

2.数据库设计································································7

2.1 数据库需求分析···························································7 2.2 数据库概念结构的设计··················································8 2.3 数据库逻辑结构设计·····················································11

3.数据库结构的实现··················································13

3.1 创建系统用户表格user-Info············································13 3.2 创建员工基本信息表格manrecord··································13 3.3 创建员工考勤信息表格 chechin·······································14 3.4 创建员工工资评价信息表 manappraise·····························15 3.5 创建员工工资信息表pay················································15

4.企业人事信息管理系统主窗体的创建··············16

4.1 创建工程项目------ Presonnel-MIS····································16 4.2 创建企业人事信息管理系统的主窗体································16 4.3创建主窗体的菜单…………………………………………………17 4.4 创建公用模块······························································17

5.系统用户管理模块的创建····································19

5.1 用户登录窗体的创建·····················································19 5.2 添加用户窗体的创建·····················································22 5.3 修改用户密码窗体的创建···············································25

6.员工基本信息模块的创建·····································26

6.1 添加员工基本作息························································26 6.2 修改员工基本信息窗体的创建的······································32 6.3 删除员工信息······························································37 6.4 查询员工信息窗体的创建···············································38

7.员工考勤管理模块的创建·····································41

7.1 添加员工考勤信息窗体的创建·········································41

2 7.2 修改考勤信息······························································46 7.3 查询考勤信息·······························································48

8.员工工作评价管理模块的创建·····························48

8.1添加员工工作评价信息窗体的创建·····································48 8.2员工考勤列表································································49 8.3查询工作评价信息······························································50

9.员工工资信息管理模块的创建·····························51

9.1添加员工工资信息窗体的创建···········································51 9.2修改员工工资信息··························································53 9.3 查询工资信息窗体的创建················································54

10.系统的实现·······························································54

3

的窗体

4

图5-1 用户登录窗体

图5-3 添加用户窗体

图5-5 修改密码窗体

Powered by 计算机毕业论文网http:// 提供 如果需要详细内容请与QQ:4991024联系

5 这

第9篇:VB+Access学生公寓管理系统-论文

中文摘要

随着电脑的普及与使用,现在的管理也提升了一个档次,渐渐实现了无纸化办公,即从原来的人工记录管理模式转变为电脑一体化管理。高校是科研的阵地,后勤的公寓管理也应该一改传统的人工管理,更加信息化,时代化,节省人力物力,提高效率。基于这一点,开发此学生公寓管理软件。 学生公寓管理软件,是以高校的管理方式为实例而设计的一种实用型管理系统。本系统最大的特点是通用性、简单操作性,适用于同行业以及一些同类型的企业管理。随着学校寄宿人员的增多,公寓管理人员的负担越来越重,为了让所有公寓管理人员能从繁重的工作中解脱出来,实现无纸化办公;使工作更有条理,更方便,更有效率而开发出这套公寓管理软件。 软件从对学生的分房开始到最后的公寓管理全部电脑化。它主要包括:公寓、寝室的配置、住宿人员登记、卫生检查、公寓资产、学生违纪、值班老师记录以及对学生住宿情况查询,可以更快地了解到每个学生的住宿情况,使公寓的管理效率更高,做的更好!

关键字:配置、登记、检查 Abstract

With the popularization and use of the computer, present management has been promoted much, more and more jobs have been done by computer. It namely changes the original artificial record management mode into computer's integrating and managing. The university is the position of scientific research, the apartment management should change traditional managing artificially too, for the efficiency. So , develop the management software of student's apartment . Student Apartment Management System is a utility management system based on the managing mode of many universities and colleges.Universal and easy-operating are the greatest features of the system ,which is also applicable for enterprises of the same type.Apartment keepers bear a increasingly heavy burden because of the gradually added number of roomers.In order to free apartment keepers from the heave work,and make the work more convienent and efficient. The apartment management system is developed. The system computerized all the processes concerning the apartment management which include apartment,dormitory distribution,roomer registration,santitation examination,and the query for apartment property,students' violation of discipline,teachers' records and rooming situation.It makes the apartment management more efficient and much better. Key word: dispose 、 register 、 check 目录

引言... 4 第一章系统分析... 5 1.1开发工具简介及系统运行环境... 5 1.2开发的必要性... 6 1.3系统开发的可行性... 7 1.4数据来源... 8 1.5新系统数据流程图... 9 第二章 数据库设计... 12 第三章功能模块设计... 16 3.1新系统功能结构图及运行图如下:... 16 3.2系统设置:. 17 3.3公寓管理... 18 3.4 卫生检查... 19 3.5 公寓资产... 20 3.6 记录查看与记录删除... 20 3.7值班记录... 20 3.8帮助制作... 21 第四章 程序设计... 22 主程序流程图... 22 4.1 登录界面... 23 4.2 程序主界面... 26 4.3系统设置... 32 4.4公寓管理... 57 4.5卫生检查... 60 4.6 公寓资产... 64 4.7记录查看... 66 4.8记录删除... 74 4.9值班记录... 81 4.10 Help制作... 88 第五章 系统测试... 90 总结... 91 参考文献... 92 引言

随着电脑的普及与应用,现在的管理也需要提升一个档次。即从原来的手工记录管理模式转变为电脑一体化管理。这样会给公寓的管理人员带来很多好处,让他们管理的效率更高、效果更好,管理起来更方便。由此而产生了本管理软件――学生公寓管理软件。 学生公寓管理软件是用Microsoft Visual Basic 编写完成。由于Visual Basic率先采用了可视化(VISUAL)的程序设计方法。所以利用系统提供的大量可视化控件,可以方便的以可视化方式直接绘制用户图形界面,并可直观,动态的调整界面的风格和样式,直到满意为止,从而克服了以前必须用大量代码去描述界面元素的外观和位置的传统编程模式。做起来方便,使用起来更为快捷。

作为一个学生公寓的管理软件,要十分全面的贴近以及适合大学公寓的管理方法。本软件的参考资料主要有两种来源:一是参考本学校公寓的管理结构,管理方法。如各个公寓的分布特色,以及公寓的各种管理制度。这些资料是本软件的主要依据,也可以说这些资料来源于普通的生活,比较真实一些。二是来源于网络上的各种同类软件,通过这些软件可以看出一个公寓最低需要哪些管理与设置,在这些软件中,有些软件功能比较齐全,但是在管理上显的非常的不方便,使用起来十分麻烦、繁琐,有些虽然简单,但是功能上又不是十分完善,对这些软件首先要进行取其精华,弃其糟粕,从而进行编写。

本软件主要包括以下方面:系统设置、公寓管理、卫生检查、公寓资产、记录查看、记录删除、值班记录、帮助制作。

学生公寓管理软件目前版本为1.0.1,为一个测试版本。它目前在功能上,以及操作的简便上有很大的改进。但是还是存在一些不足,在有些功能的实现上还不是十分的理想,这也是本人在时间和精力上留下的遗憾。但是相信这些会在以后的版本中得到完善,使这个软件成为一个功能上最全,使用上最简捷方便的管理软件。431

[10] ... >> 第一章系统分析

系统采用MICROSOFT公司的 VISUAL BASIC语言编写的学生公寓管理系统,本系统在研制开发过程中,严格遵循软件工程方法,完全采用结构化程序设计方法。

本系统的主要功能可以方便的对学生公寓进行管理,系统采用ACCESS数据库使数据具有较强的完整性、较好的数据安全性等特点以及提供了标准的帮助,使用户方便的获得所需的帮助。界面友好、操作简单、功能齐全、具有较好的人机接口界面是本系统的最大优点。 1.1开发工具简介及系统运行环境 1.1.1

VB6简介

本软件的开发工具为VISUAL BASIC,作为一种开发语言,VISUAL BASIC率先采用了可视化(VISUAL)的程序设计方法。利用系统提供的大量可视化控件,可以方便的以可视化方式直接绘制用户图形界面,并可直观、动态的调整界面的风格和样式,直到满意为止,从而克服了以前必须用大量代码去描述界面元素的外观和位置的传统编程模式。

它还拥有面向对象的编程方法。面向对象的程序设计是伴随WIDNOWS图形界面的诞生而产生的一种新的程序设计思想,与传统程序设计有着较大的区别,VISUAL BASIC采用了面向对象的程序设计思想。所谓"对象"就是现实生活中的每个一人,每一个可见的实体。同样,在VISUAL BASIC中,用来构成用户图形界面的可视化控件,也可视为是一个对象。不同的对象,在程序中所赋给它的功能是不同的,比如,在图形界面上有两个命令按钮,一个用来实现数据的统计计算,另一个用来实现数据的打印,这两个按钮就可视为是两个不同的对象,为了实现这两个对象各自不同的功能,接下来就应该分别针对这两个对象编写程序代码,这种编程的思想和方法即为所谓的"面向对象的程序设计"。 它还支持第三方软件商为其开发的可视化控制对象,如本例中就用到了一个。这些可视化控件对应的文件扩展名这OCX。只要拥有控件的OCX文件,就可将其加入到VB系统中,从而大大增强VB的编程实力。使软件做起来会更加得心应手。 1.1.2 HELP 制作

制作help文档需要一个专业制作软件,本人使用的是破解版的QuickCHM,此软件无论在功能上还在是操作上用起来都是很方便。它属于一个傻瓜型的制作软件,利用它可以快速的制作出各种你所需要的帮助文档。但是如果想制作出帮助文档,就需要使用制作网页的软件把内容先做成html形式,本人使用Dreamweaver制作的网页,然后在用此软件进行加载,最后生成chm文档。 1.2开发的必要性

信息资源已成为各个部门的重要财富和资源,建立一个满足各级部门信息处理需要的信息系统,也一个企业或组织生存越来越重要的信息资源。长期以来,使用传统人工的方法管理高校公寓,这种管理方式存在着许多缺点,如:效率低。而且时间一长,将产生大量的文件和数据,这对于查找、更新、维护都带来了不少的困难。

随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥越来越重要的作用。学生公寓管理软件,是以高校的管理方式为实例而设计的一种实用型管理软件。

本系统最大的特点是通用性、简单操作性。随着学校寄宿人员的增多,公寓管理人员的负担越来越重,为了让所有公寓管理人员能从繁重的工作中解脱出来,实现无纸化办公,使工作更有条理、更方便、更有效率,而开发出这套公寓管理软件。 1.3系统开发的可行性 1.3.1 技术上的可行性 我们正走进一个信息时代,信息技术将从根本上改变人类社会的生产方式和生活方式,各行各业的业务管理现在都已经相继使用计算机来处理,可以说用计算机进行信息管理是一个总趋势。学生公寓管理软件主要是对公寓、寝室的配置、住宿人员登记、卫生检查、公寓资产、学生违纪、值班老师记录以及对学生住宿情况查询,修改,更新等。可以更快地了解到每个学生的住宿情况。开发一个学生公寓管理系统可以达到事半功倍的效果。随着数据库管理系统的普及以及可视化编程软件的出现,使数据库管理信息系统的开发变得更为简单,因此开发一个学生公寓管理系统是完全可行的。 1.3.2 经济上的可行性

本单位有自己的微机室可以使用,不必重新购置计算机,不需要花费大量资金,是一个节约人力物力的好办法。

1.3.3 组织管理上的可行性

本单位的领导干部具有较高的素质,它们对管理现代化有较高的认识水平,并且有各级领导的大力支持和重视。

综上所述,建立一个学生公寓管理软件与人工操作相比具有速度更快,操作更准确,更节约开支等有利之处,因此建立一个学生公寓管理软件是必要可行。

1.4数据来源

作为一个学生公寓的管理软件,要十分全面的贴近以及适合大学公寓的管理方法。本软件的参考资料主要有两种来源:一是参考本学校公寓的管理结构,管理方法,这些资料是本软件的主要依据,也可以说这些资料来源于普通的生活,比较真实一些。二是来源于网络上的各种同类软件,通过这些软件可以看出一个公寓最低需要哪些管理与设置,在这些软件中,有些软件功能比较齐全,但是在管理上显的非常的不方便,使用起来十分麻烦、繁琐,有些虽然简单,但是功能上又不是十分完善,对这些软件首先要进行取其精华,弃其糟粕,从而进行编写。

[10] ... >> 1.5新系统数据流程图

图1.1数据流程图

数据字典

图1.2 数据元素 注:其它数据元素略

图1.3 数据流 注:其它数据流略

图1.4 加工 注:其它加工略

注:其它数据存储略

第二章 数据库设计

1、E-R图

图2.1 E-R图

2、信息的数量越来越大,数据库的作用越发突出,所以数据库的建立是系统施实的主要部分之一,它关系到整个系统的运行情况,是整个系统的重要组成部分。本系统数据库为db.mdb,在数据库中包括十个表。分别是:用户表、公寓表、班级表、寝室表、卫生等级表、学生基本情况表、学生请假情况表、学生违规情况表、寝室卫生情况表、资产表。下面介绍几个主要的表:

⑴ 学生基本情况表主要是存放学生的基本情况,字段包括:姓名、性别、学号、班级、公寓、寝室、入学时间、年制、寝室电话、个人电话、备注。 数据结构如下表:

字段名 数据类型 数据长度 姓名 文本 8 性别 文本 2 学号 文本 10 班级 文本 10 公寓 文本 20 寝室 文本 10 入学时间 文本 14 年制 文本 8 个人电话 文本 15 备注 备注

⑵ 学生请假情况表主要存放学生请假情况,字段包括:日期、姓名、班级、公寓、寝室、天数、原因、老师、备注。 数据结构如下表: 字段名 数据类型 数据长度 日期 文本 14 姓名 文本 8 班级 文本 10 公寓 文本 20 寝室 文本 10 天数 文本 10 原因 备注

老师 文本 8 备注 备注

⑶ 学生违规情况表主要存放学生违规情况,字段包括:日期、姓名、班级、公寓、寝室、原因、程度、处罚、备注。 数据结构如下表:

字段名 数据类型 数据长度 日期 文本 14 姓名 文本 8 班级 文本 10 公寓 文本 20 寝室 文本 10 原因 备注

程度 备注

处罚 备注

备注 备注

⑷ 卫生情况表主要存放寝室卫生情况,字段包括:日期、公寓、寝室、检查1到

5、得分、减分、等级、备注。其中检查1到5是为了在没有使用者想输入的记录的情况下自己输入而设计的,保证了系统的可修改性、可扩展性。 数据结构如下表: 字段名 数据类型 数据长度 日期 文本 14 公寓 文本 20 寝室 文本 10 检查1 文本 40 检查2 文本 40 检查3 文本 40 检查4 文本 40 检查5 文本 40 得分 文本 4 减分 文本 4 等级 文本 6 备注 备注

⑸ 资产表主要存放寝室新增资产情况,字段包括:日期、公寓、名称、数量、单价、总价、用途、备注。 数据结构如下表: 字段名 数据类型 数据长度 日期 文本 14 公寓 文本 20 名称 文本 20 数量 文本 4 单价 文本 10 总价 文本 10 用途 备注

备注 备注

第三章功能模块设计

3.1新系统功能结构图及运行图如下:

1、系统功能结构图:

[10] ... >> 图3.1系统功能结构图

2、系统功能结构图运行图:

图3.2系统功能结构运行图

经过系统分析,确定了本软件主要包括以下方面:系统设置、公寓管理、卫生检查、公寓资产、记录查看、记录删除、值班记录、帮助制作。 3.2系统设置: 主要完成:用户管理、公寓设置、数据备份、数据转换、退出的功能。 运行图如下:

图3.3系统设置运行图 3.2.1 用户管理

可以进行管理人员的添加和修改以及删除操作。添加人员可以分为两类:普通用户、管理员。可以视不同人员而添加。管理员拥有所有权力,对整个系统的操作。普通用户只有浏览、及一些简单的添加操作权力。无用户设置、公寓设置及记录删除等权力。 3.2.2公寓设置

分为三个主要的操作:公寓设置、寝室设置、班级设置。在这里可以添加学校所有的公寓、所有班级、每个公寓的所有寝室,也可以用此软件管理一幢公寓。这样操作起来会更简单、操作一目了然。 3.2.3数据备份

这是一个数据管理软件所必不可少的一部分,利用它可以及时的备份当前的数据库以及在出现故障后利用已保存的数据进行恢复。 3.2.4数据转换

利用数据转换将当前数据库中的表转换成Excel表格的形式,显示更为直观,可以进行打印等操作。 3.3公寓管理

主要完成:学生请假、学生违规、床位设置的功能。 运行图如下:

图3.4公寓管理运行图 3.3.1学生请假

主要是对学生请假记录做一个添加。利用它可以把学生的基本的请假资料保存起来。 3.3.2学生违规

主要是对学生违规记录做一个添加。利用它可以把学生的基本的违规资料保存起来。 3.3.3床位设置

通过床位设置可以简单查看每个公寓每个寝室的床位使用情况以及床位剩余情况。还可以通过详细查看,查看到某个公寓某个寝室住宿人员的人数,以及具体的住宿人员的名字。 3.4 卫生检查

主要完成:添加检查记录的功能。卫生检查可以对卫生检查的结果进行记录。这里的卫生标准一共有五项可以填写,在每一项里已经基本设置了所不合标准的记录,你可以在下拉列表框中进行选择即可,但是如果没有你想输入的记录的话,也可以自己输入。运行图如下:

图3.5卫生检查运行图 3.5 公寓资产

主要完成:添加新增物品的功能。可以对公寓资产的收入或其它物品的入库进行记录。运行图如下:

图3.6公寓资产运行图 3.6 记录查看与记录删除

主要是对学生请假、学生违规、卫生记录,公寓资产等记录所进行的操作,利用这两个功能可以对任一记录进行查看与删除。运行图如下:

图3.7记录查看

图3.8记录删除运行图 3.7值班记录

它的功能主要是针对值班人员开发出来的,在这里可以让值班人员对当天值班情况进行一个小记,以便日后查看。运行图如下:

图3.9值班记录运行图 3.8帮助制作

对于一个稍显正规的软件来说帮助的制作都是必不可少的内容,本程序也不例外,制作了此帮助文档。在程序中可以按F1或点击帮助菜单来显示此help.Chm文档。以便对本软件进行快速操作。运行图如下:

图3.10帮助运行图

第四章 程序设计 主程序流程图

4.1 登录界面

此界面是由Photoshop制作而成。在做这个登录面的时候想了很多,最后选择了这种,感觉它看起来干净,整齐。又不失其庄雅。加上本单位最有特色的建筑,会让人一目了然。

4.1.1 登录图片显示

图4.1登录界面

4.1.2 界面制作与实现

在这个界面中,主要处理的是判断当前用户输入的信息是否正确。如果正确,那么它属于哪种类型用户。因为此管理软件在登录后不同类型的用户显示的窗体与实现的功能都不是一样的,它们会有所差别! (1) 浮动按钮的实现

确定和取消两个按钮在鼠标没有放上去之前看上去只是一个普通的平面字效果,但是当你把鼠标放在这几个字上面后,它会显示凸出的效果,按下后呈现凹陷的效果。总体实现立体的感觉。原理主要是在鼠标mousemove事件与线的颜色变化组合来实现。主要代码如下:

在窗体中的鼠标移动过程中,以及在窗体初始化的时候,要把添加的线的.Visible 属性设置为 False,只有在鼠标按下的时候在改变其颜色即

[10] ... >> 可。

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, x As Single, Y As Single) Line1.Visible = False Line2.Visible = False Line3.Visible = False Line4.Visible = False Line5.Visible = False Line6.Visible = False Line7.Visible = False Line8.Visible = False End Sub

鼠标按下的时候设置线条的颜色如下:

Private Sub Label3_MouseDown(Button As Integer, Shift As Integer, x As Single, Y As Single) Line1.BorderColor = &H808080 Line2.BorderColor = &H808080 Line3.BorderColor = &HE0E0E0 Line4.BorderColor = &HE0E0E0 End Sub

鼠标移动到标签的时候设置线条的颜色如下: Private Sub Label3_MouseMove(Button As Integer, Shift As Integer, x As Single, Y As Single) Line1.BorderColor = &HE0E0E0 Line2.BorderColor = &HE0E0E0 Line3.BorderColor = &H808080 Line4.BorderColor = &H808080 Line1.Visible = True Line2.Visible = True Line3.Visible = True Line4.Visible = True End Sub (2) 用户类型判断

在数据库中建了一人yonghu表。在添加管理人员时有两种默认级别。管理员、普通用户。管理员拥有对数据库操作的一切权限。普通用户只有普通的查看,数据转换等。没有删除等操作功能。前用户成功登录后,会在主窗体的状态栏中显示出当前用户及其用户类型。 主要代码如下:

设置当前控件连接的数据库 Dim provider As String Dim datasource As String provider = "provider=Microsoft.jet.oledb.4.0" datasource = "data source=" & App.Path & "DB.mdb" With Adodc1 .Mode = adModeReadWrite .ConnectionString = provider & ";" & datasource .CommandType = adCmdTable .RecordSource = "yonghu" .Refresh .Recordset.MoveFirst End With 对用户进行判断

If Text1.Text = "" Then MsgBox "请输入用户名!", 48, "提示" Exit Sub End If Adodc1.Recordset.Find "用户='" & Text1.Text & "'" If Adodc1.Recordset.EOF = False And Text2.Text = Trim(Adodc1.Recordset.Fields("pass")) Then main.Text1.Text = Adodc1.Recordset.Fields("级别") main.Text2.Text = Adodc1.Recordset.Fields("用户") main.Show Unload Me Else Text1.Text = "" Text2.Text = "" MsgBox "登录不成功,请重新登录!", 48, "提示" End If 4.2 程序主界面

程序主界面为本软件的显示的核心部分。一切主要操作及显示都通过这里完成。整个界面主要由五部分组成。菜单部分、工具栏、左侧操作栏、右侧显示栏以及状态栏。 ①界面效果图如下:

图4.2程序主界面

菜单栏的详见附录内容,这里就不提了。左侧操作栏和右侧显示栏会在下面的内容中做介绍,现在只简单介绍一下工具栏和状态栏,以及主窗体的各个事件。

工具栏主要是由coolbar制作而成。由它制做的工具栏的显示效果会更有立体感一些。这里只列出了几个常用的按钮。其中的添加按钮是用来对公寓住宿人员进行添加,修改也是对所住宿人员进行修改,想要进行修改时必须显示所有记录时才可以进行。在这里值得一提的是删除DataGrid的操作,由于不知道它的当前数据源是哪个,所以在删除前要确定它的数据源,也就是它所链接的adodc1的数据源,或者是其它ado控件对它的数据源进行重新绑定后的数据库表,也有可能是经过一个查询后得到的记录。 ②它的实现方法如下所示: Dim o As Adodc Set o = DataGrid1.datasource

o.Recordset.Delete

o.Recordset.Update 这里主要是用到了ado对像的方法。用这个方法得到数据源。

下面是整个工具栏运行时代码: Select Case Button.Index Case 1 sel.Show 1 Case 3 add.Show 1 Case 5 On Error GoTo next2 Dim s As Adodc Set s = DataGrid1.datasource If s.RecordSource = "users" Then edit.Show 1 End If next2: Case 7 On Error Resume Next Dim o As Adodc Set o = DataGrid1.datasource

o.Recordset.Delete

o.Recordset.Update Case 9 back.Show 1 Case 11 With Adodc1 .Mode = adModeReadWrite .ConnectionString = provider & ";" & datasource .CommandType = adCmdTable .RecordSource = "users" ' .Refresh End With Set DataGrid1.datasource = Adodc1 DataGrid1.Refresh Call dx Case 13 Unload Me End Select 状态栏分四个部分。第一个为固定显示当前所用软件名称及作者。其中第二个和第三部分为动态显示的,它会显示出每次用户登录名称及其管理模式。由上图可以看出,lf为本软件管理员。第四部分为日期与时间的显示。其中第三部分的代码实现如下: main.Text1.Text = Adodc1.Recordset.Fields("级别") main.Text2.Text = Adodc1.Recordset.Fields("用户") StatusBar1.Panels(2).Text = "当前用户:" & Text2.Text StatusBar1.Panels(3).Text = "用户模式:" & Text1.Text StatusBar1.Panels(4).Text = Date & "

" & Time '设置普通用户模式

If Text1.Text = "普通用户" Then yhgl.Visible = False g1.Visible = False jlsc.Visible = False gysz.Visible = False Toolbar1.Buttons(5).Visible = False Toolbar1.Buttons(6).Visible = False Toolbar1.Buttons(7).Visible = False Toolbar1.Buttons(8).Visible = False End If 主窗体在程序运行中会遇到不断改变其大小,最小化,最大化,以及用鼠标来改变,这里需要在窗体的Resize事件中添加代码,让程序中用到的各个控件随时可以适应窗体改变后的大小,在这里改变的控件主要有DataGrid、TreeView系列及Frame控件、StatusBar。下面就是设置它们大小的程序代码:

DataGrid1.Width = main.WidthStatusBar1.Height750 SSTab1.Height = main.HeightCoolBar1.HeightStatusBar1.Height1200 Frame2.Height = main.HeightCoolBar1.HeightStatusBar1.Height1200 TreeView1.Height=main.HeightCoolBar1.HeightStatusBar1.Height1500 TreeView3.Height=main.HeightCoolBar1.Heightz) / 4 StatusBar1.Panels(1).Width = u + x StatusBar1.Panels(2).Width = v + x StatusBar1.Panels(3).Width = w + x StatusBar1.Panels(4).Width = m + x 这个软件的主要部分都在这里运行、查看,所以在主窗体的load事件里要把所用的到的东西都要加载进来,例如所在程序运行时所用到的表,左侧treeview部分树形显示的初始化。在这里几乎用到了所有的表,如下所示: provider = "provider=Microsoft.jet.oledb.4.0" datasource = "data source=" & App.Path & "DB.mdb" With Adodc1 .Mode = adModeReadWrite .ConnectionString = provider & ";" & datasource .CommandType = adCmdTable .RecordSource = "users" ' .Refresh End With

With Adodc2 .Mode = adModeReadWrite .ConnectionString = provider & ";" & datasource .CommandType = adCmdTable .RecordSource = "gongyu" .Refresh End With

With Adodc3 .Mode = adModeReadWrite .ConnectionString = provider & ";" & datasource .CommandType = adCmdTable .RecordSource = "class" .Refresh End With

With Adodc4 .Mode = adModeReadWrite .ConnectionString = provider & ";" & datasource .CommandType = adCmdTable .RecordSource = "weisheng" .Refresh End With

With Adodc5 .Mode = adModeReadWrite .ConnectionString = provider & ";" & datasource End With

With Adodc6 .Mode = adModeReadWrite .ConnectionString = provider & ";" & datasource .CommandType = adCmdTable .RecordSource = "dengji" .Refresh End With

With Adodc7 .Mode = adModeReadWrite .ConnectionString = provider & ";" & datasource .CommandType = adCmdTable .RecordSource = "qinshi" .Refresh End With

With Adodc9 .Mode = adModeReadWrite .ConnectionString = provider & ";" & datasource .CommandType = adCmdTable .RecordSource = "zichan" .Refresh End With treeview部分树形显示的初始化在这里已经做了几个过程,调用即可。 4.3系统设置 4.3.1用户管理 ①界面效果图

[10] ... >>

② 界面制作与实现方法

这个界面总体来说各个控件比较简单,但是作为一个添加删除管理员的操作,它已经连接到了数据库,与数据库的yonghu表相联。各个控件也与数据库中表的字段绑定。 在窗体初始化的时候要判断当前数据库表中是否有记录,如果没有记录那么有些按钮将会被设置成为失效状态,否则会出现错误。设置代码如下: Dim provider As String Dim datasource As String provider = "provider=Microsoft.jet.oledb.4.0" datasource = "data source=" & App.Path & "DB.mdb" With Adodc1 .Mode = adModeReadWrite .ConnectionString = provider & ";" & datasource .CommandType = adCmdTable .RecordSource = "yonghu" .Refresh End With Option1.Enabled = False Option2.Enabled = False If Adodc1.Recordset.RecordCount = 0 Then Command2.Enabled = False Command3.Enabled = False Command5.Enabled = False Command6.Enabled = False End If Text2.Text = Text3.Text 上一条与下一条的功能一目了然,它们可以对当前表进行上一条记录或下一条记录依次查看。当找到记录后,可以对其进行相对的删除、修改等操作。上一条记录与下一条的记录在查看时有一个判断。当表中记录移到最前面(BOF)或最后面(EOF)时,会把上一条或下一条其中的一个按钮的enable属性设置为true。即不可以前查看或向后查看。 上一条与下一条主要代码如下:

Adodc1.Recordset.MovePrevious '移动记录 Command6.Enabled = True If Adodc1.Recordset.BOF Then

Adodc1.Recordset.MoveFirst

Command5.Enabled = False End If Adodc1.Recordset.MoveNext '移动记录 Command5.Enabled = True If Adodc1.Recordset.EOF Then

Adodc1.Recordset.MoveLast

Command6.Enabled = False End If 添加用户可以添加使用该管理软件的用户。添加的时候可以选择所添加人物的级别。软件默认为两个级别:管理员、普通用户。管理员拥有对此软件管理操作等一切的权力。普通用户,只有普通的查看、查询、备份、添加等权力。没有对记录删除等权力。在添加用户时你可以选择一个且必须选择一个。然后输入此用户的用户名和密码即可! 添加用户主要代码:

If Command1.Caption = "添加" Then Command2.Enabled = False Command5.Enabled = False Command6.Enabled = False Command1.Caption = "确定" Command3.Caption = "取消" Adodc1.Recordset.AddNew Option1.Enabled = True Option2.Enabled = True Text1.Enabled = True Text2.Enabled = True Text3.Enabled = True Text2.Text = "" ElseIf Text1.Text = "" Then MsgBox "用户名不能为空!", 48, "提示" ElseIf Text2.Text = "" Then MsgBox "密码不能为空!", 48, "提示" ElseIf Text2.Text <> Text3.Text Then MsgBox "密码两次需一致!", 48, "提示" ElseIf Text4.Text = "" Then MsgBox "请选择所建用户类型!", 48, "提示" Else Command2.Enabled = True Command3.Enabled = True Command5.Enabled = True Command6.Enabled = True Command3.Caption = "编辑" Command1.Caption = "添加" Adodc1.Recordset.Update Text1.Enabled = False Text2.Enabled = False Text3.Enabled = False Text4.Enabled = False Option1.Value = False Option2.Value = False Option1.Enabled = False Option2.Enabled = False End If 删除操作可以把当前记录删除掉。一经删除即不可以在恢复。所以在操作前要想好。 删除操作部分代码:

If Adodc1.Recordset.RecordCount = 1 Then Command2.Enabled = False End If If (MsgBox("你真的想删除当前记录吗?", vbOKCancel, "系统提示")) = vbOK Then Adodc1.Recordset.Delete Adodc1.Recordset.MoveFirst Adodc1.Refresh End If 编辑操作可以对当前所选择的用户进行编辑,可以修改其用户名与密码。当当前用户感觉自己用户名称或密码有泄露时,可以进行修改。修改记录即更新表中的某一条记录。 编辑操作主要代码如下: Command2.Enabled = False Text1.Enabled = True Text2.Enabled = True Text3.Enabled = True Text4.Enabled = True Option1.Enabled = True Option2.Enabled = True Command1.Caption = "确定" ElseIf Command3.Caption = "取消" Then Command3.Caption = "编辑" Command1.Caption = "添加" Command2.Enabled = True Command5.Enabled = True Command6.Enabled = True Text2.Text = Text3.Text Text1.Enabled = False Text2.Enabled = False Text3.Enabled = False Text4.Enabled = False Option1.Value = False Option2.Value = False Option1.Enabled = False Option2.Enabled = False End If 4.3.2 公寓设置

公寓设置可以说是本程序中一关键部分。因为所有的设置都在此进行。包括公寓添加、修改、删除。寝室的添加、修改、删除以及班级的添加、修改和删除操作。只有正确的对这些设置进行添加修改,才能输入正确的记录。这里主要涉及到的问题是datagrid的显示,以及treeview及时形成新的结构。还有一些就是对表记录的复杂操作。 在点击sstab各版的时候,要在这时重新生成寝室设置中的树型结构, Select Case PreviousTab

Case 0

Call startree1

Case 1

Combo1.Clear

Dim I As Integer

I = 1

If Adodc1.Recordset.RecordCount <> 0 Then

Adodc1.Recordset.MoveFirst

Do While I < Adodc1.Recordset.RecordCount

Combo1.AddItem (Adodc1.Recordset.Fields("公寓名称"))

Adodc1.Recordset.MoveNext

I = I + 1

Loop

End If

Call startree1

Case 2

Call startree1 End Select End Sub (1) 公寓设置

① 公寓设置效果图

图4.4公寓设置

② 界面制作与实现方法

在这个界面中主要用到了一个Sstab控件与一个显示表中内容的Datagrid控件。以及起到美观作用的Frame控件。

在右下角的文本框中可以输入想要添加的公寓名称。然后点击添加即可完成添加操作。Datagrid中会立即刷新显示更新内容。要修改某条记录时,要先对所要修改的记录进行选择,确认选择后,点击下面的修改按钮,会在下面的文本中显示出所要修改公寓的名称,此时即可输入要修改的名字。然后点击更新就会完成此操作。Datagrid也会即时更新其内容。删除操作更为简单,选择想要删除的公寓名称,点击删除,确认后完成此操作。但是删除后不会影响其它表中的数据。其它表的有关此公寓的信息还会存在。 在进行所有操作前,先要确定数据库已连接。

在添加前要判断所写公寓名称是否正确,即是否输入名称,该记录不能为空,不为空则对数据库表进行查找,判断当前输入记录是否已在表中存在,如果已存在,则会给出提示,不存在,添加成功。

Adodc1.Recordset.Find "公寓名称='" & Text2.Text & "'" If Adodc1.Recordset.EOF = False Then MsgBox "此公寓已存在", , "提示" Adodc1.Recordset.MoveFirst Exit Sub End If Text3.Text = "" If Text2.Text = "" Then MsgBox "输入所要添加公寓的名称", , "提示" Exit Sub End If 添加:

Adodc1.Recordset.AddNew Adodc1.Recordset.Fields("公寓名称") = Text2.Text Adodc1.Recordset.Update Adodc1.RecordSource = "gongyu" Text2.Text = "" Set DataGrid2.datasource = Adodc1 DataGrid2.Refresh

修改公寓名称:

If Text3.Text = "" Then MsgBox "选择要修改的公寓", , "提示" Exit Sub End If If Command12.Caption = "修改" Then Text2.Text = Text3.Text Label6.Caption = "输入想要修改的公寓名称" Command12.Caption = "更新" Command3.Enabled = False Command7.Enabled = False ElseIf Command12.Caption = "更新" Then Command3.Enabled = True Command7.Enabled = True Label6.Caption = "输入想要添加的公寓名称" Adodc1.Recordset.Fields("公寓名称") = Text2.Text Adodc1.Recordset.Update Adodc2.Recordset.ActiveConnection.Execute "update qinshi set 公寓名称='" & Text2.Text & "' where 公寓名称='" & Trim(Text3.Text) & "'" Adodc2.Recordset.Update Command12.Caption = "修改" End If Set DataGrid2.datasource = Adodc1 DataGrid2.Refresh Adodc5.Recordset.Update Set main.DataGrid1.datasource = Adodc5 main.DataGrid1.Refresh

删除公寓名称

If Text3.Text = "" Then MsgBox "选择所要删除公寓的名称", , "提示" Exit Sub End If If (MsgBox("你真的想删除公寓名称为

" & Text3.Text & " 的记录吗?", vbOKCancel, "系统提示")) = vbOK Then

Adodc1.Recordset.Delete

Adodc1.Recordset.Update End If Text3.Text = "" Set DataGrid2.datasource = Adodc1 DataGrid2.Refresh (2) 寝室设置

①寝室设置效果图

图4.5寝室设置

②界面制作与实现方法 此界面实现相对比公寓设置来说相对复杂一些。用到的控件主要是Sstab与Treeview。但是在程序方面比较复杂。

在添加一个寝室前先要选择所要添加寝室所在的公寓。这个公寓可以点击下面的树中的节点,也可以在列表框中选择。树中的节点在点击后会把父节点显示在选择公寓后面的列表框中,而选中的节点会出现在寝室名称里。你也可以自己进行添写,确认公寓后即可添加完成了。添加后会把Treeview重新刷新一下。以显示更新后的记录。 添加源码: Adodc1.Refresh Adodc1.Recordset.Find "公寓名称='" & Combo1.Text & "'" If Adodc1.Recordset.EOF = True Then MsgBox "此公寓不存在", , "提示" Adodc1.Recordset.MoveFirst Exit Sub End If If Combo1.Text = "" Or Text1.Text = "" Then MsgBox "请输入所要添加的寝室及其所属公寓", , "提示" Exit Sub End If With Adodc2 .Recordset.AddNew .Recordset.Fields(0).Value = Combo1.Text .Recordset.Fields(1).Value = Text1.Text .Recordset.Update End With Combo1.Text = "" Text1.Text = "" Call startree1 修改操作可以把当前选中的寝室进行名称修改与其所属公寓进行修改。当要对名称进行修改时,先要选择所要修改的寝室名,选择后会在寝室名称里显示出来,把当前寝室名称改成要修改的寝室名称,然后点击修改即完成名称修改操作。当要对当前寝室的所属公寓进行修改时,需要先选择所要修改的寝室,然后在上面的公寓名称后填写所要修改的寝室名称。点击修改后完成此操作。但是这种操作不是常见。 修改源码: Adodc1.Refresh Adodc1.Recordset.Find "公寓名称='" & Combo1.Text & "'" If Adodc1.Recordset.EOF = True Then MsgBox "此公寓不存在", , "提示" Adodc1.Recordset.MoveFirst Exit Sub End If

Dim sql As String On Error Resume Next If Combo1.Text = "" Or Text1.Text = "" Then MsgBox "请在下面选择所要修改的寝室", , "提示" Exit Sub End If 'sql = "select * form qinshi where 公寓名称='" & Trim(Combo1.Text) & "' and 寝室='" & Trim(Text1.Text) & "'"

Adodc2.Recordset.ActiveConnection.Execute "update qinshi set 寝室='" & Text1.Text & "',公寓名称='" & Trim(Combo1.Text) & "'where 寝室='" & Trim(Text6.Text) & "'and 公寓名称='" & Trim(Text7.Text) & "'" Adodc2.Recordset.Update Combo1.Text = "" Text1.Text = "" Call startree1 删除操作可以删除掉当前树型显示中的任何一个子节点,也就是这个树型节点中的寝室名称,注意的是,删除后这个记录只在qinshi表中删除,其相关记录不会被删除掉的,如果想删除,还需要人工操作。实现的方法主要是对qinshi表操作,先对其进行查询,查询当前想要被删除的表是否存在,如果不存在,则给出提示,如果存在这条记录,则在表中把它删除掉,删除后调用生成树过程,把当前寝室设置中的树型结构重新生成,更新记录。实现的部分代码如下所示:

If Combo1.Text = "" Or Text1.Text = "" Or Combo1.Text = "公寓管理系统" Then MsgBox "选择所要删除的寝室", , "提示" Exit Sub End If If (MsgBox("你真的想删除

" & Combo1.Text & " " & "寝室为" & Text1.Text & "

的记录吗?", vbOKCancel, "系统提示")) = vbOK Then Adodc2.Refresh

[10] ... >>

Adodc2.Recordset.ActiveConnection.Execute "delete from qinshi where 公寓名称='" & Trim(Combo1.Text) & "' and 寝室='" & Trim(Text1.Text) & "'" Adodc2.Recordset.Update End If Combo1.Text = "" Text1.Text = "" Call startree1 在treeview点击的时候,上面的文本框中会显示相应的记录,这主要是对treeview进行了设置,代码如下:

Private Sub TreeView1_NodeClick(ByVal Node As MSComctlLib.Node) On Error Resume Next Text1.Text = TreeView1.SelectedItem.Text Combo1.Text = TreeView1.SelectedItem.Parent Text6.Text = TreeView1.SelectedItem.Text Text7.Text = TreeView1.SelectedItem.Parent End Sub (3)班级设置

①班级设置效果图

图4.6班级设置

②界面制作与实现方法

此界面制作与公寓设置基本一致。在这个界面中主要用到了一个Sstab控件与一个显示表中内容的Datagrid控件。以及起到美观作用的Frame控件。

在右下角的文本框中可以输入想要添加的班级名称。然后点击添加即可完成添加操作。Datagrid中会立即刷新显示更新内容。要修改某条记录时,要先对所要修改的记录进行选择,确认选择后,点击下面的修改按钮,会在下面的文本中显示出所要修改班级的名称,此时即可输入要修改的名字。然后点击更新就会完成此操作。Datagrid也会即时更新其内容。删除操作更为简单,选择想要删除的班级名称,点击删除,确认后完成此操作。 添加班级源码:

Adodc3.Recordset.Find "class='" & Text4.Text & "'" If Adodc3.Recordset.EOF = False Then MsgBox "此班级已存在", , "提示" Adodc3.Recordset.MoveFirst Exit Sub End If Text5.Text = "" If Text4.Text = "" Then MsgBox "输入所要添加班级的名称", , "提示" Exit Sub End If Adodc3.Recordset.AddNew Adodc3.Recordset.Fields("class") = Text4.Text Adodc3.Recordset.Update Adodc3.RecordSource = "class" Text4.Text = "" Set DataGrid3.datasource = Adodc3 DataGrid3.Refresh 修改班级源码:

If Command10.Caption = "修改" Then Text4.Text = Text5.Text Label6.Caption = "输入想要修改的班级名称" Command10.Caption = "更新" Command6.Enabled = False Command9.Enabled = False ElseIf Command10.Caption = "更新" Then Command9.Enabled = True Command6.Enabled = True Label6.Caption = "输入想要添加的班级名称" Adodc3.Recordset.Fields("class") = Text4.Text Adodc3.Recordset.Update Command10.Caption = "修改" End If 删除班级源码:

If Text5.Text = "" Then MsgBox "选择所要删除班级的名称", , "提示" Exit Sub End If If (MsgBox("你真的想删除班级名称 为

" & Text5.Text & " 的记录吗?", vbOKCancel, "系统提示")) = vbOK Then

Adodc3.Recordset.Delete

Adodc3.Recordset.Update End If Text5.Text = "" Set DataGrid3.datasource = Adodc3

DataGrid3.Refresh End Sub 4.3.3数据备份:

数据备份是一个数据库软件必不可少的一部分,利用它可以把当前数据库表进行全面的备份,以备以后使用。因为在操作中可能会导致数据遭到破坏,或者是系统的原因使数据库损坏,或者是一些其它的人为原因,这样你可以用此功能把数据恢复到最后一次备份的状态,使损失做到最少,经常备份,操作起来更有安全感。 ①数据备份效果图

图4.7数据备份效果图 ② 功能实现

界面制作相对程序来说比较简单,用到的是coolbar控件,点击按钮可以选择备份路径。然后点击数据备份即可。 窗体初始化部分代码如下: Dim cnn1 As ADODB.Connection Dim rstschema As ADODB.Recordset Dim strcnn As String Set cnn1 = New ADODB.Connection strcnn = "provider=Microsoft.jet.oledb.4.0;" & "data source=" & App.Path & "db.mdb" cnn1.Open strcnn Set rstschema = cnn1.OpenSchema(adSchemaTables) Do Until rstschema.EOF temp = rstschema!Table_Name If Left(temp, 1) <> "M" Then End If rstschema.MoveNext Loop cnn1.Close On Error GoTo err PathName = App.Path & "db.MDB" dbasize = FileLen(PathName) err: Exit Sub 数据备份部分在本程序中用到了一个模块,在模块中有一个方法,dobackup。点击备份按钮后开始备份,代码如下: If txtDestination <> "" Then DoBackup PathName, txtDestination MsgBox "备份成功!", , "提示" ElseIf txtDestination = "" Then MsgBox "You must specify a distination for the backup", vbCritical 其中DoBackup为模块中已定义的方法,在这里进行调用。 Dobackup实现方法代码如下所示: Dim lFileOp As Long Dim lresult As Long Dim lFlags

As Long Dim SHFileOp As SHFILEOPSTRUCT Dim strSourceDir As String Dim strDestinationDir As String Screen.MousePointer = vbHourglass BackupFolderName = strDestinationPath MkDir BackupFolderName & "Backup" & Format(Date, "yyyy.mm.dd") & vbNullChar

.fFlags = lFlags End With lresult = SHFileOperation(SHFileOp) Screen.MousePointer = vbDefault frmBackupDba.lblStatus = "Backup Complete" 在备份分前先要选择一个备份路径,点击…那个按钮开始进行选择,实现方法如下: Dim strTemp As String strTemp = fBrowseForFolder(Me.hwnd, "Select backup path") If strTemp <> "" Then

txtDestination = strTemp End If 数据恢复界面同上,它的功能主要是在当前数据库遭到破坏后,可以利用它来进行数据恢复,在数据恢复前要选择所要恢复的数据库路径,如下: Dim strTemp As String strTemp = fBrowseForFolder(Me.hwnd, "Restore From") If strTemp <> "" Then

txtSource = strTemp

dbasize2 = FileLen(txtSource & "db.MDB")

lblSelectedDba = "Selected Backup Database is : " & Format((dbasize2 / 1024) / 1024, "standard") & "MB."

cmdRestore.Enabled = True End If Erro:

Select Case err.Number

Case 53 'File Not Found

lblSelectedDba = "No Backup at this location"

Toolbar2.Enabled = False

End Select 它主要是查看数据库是否存在,如果所恢复的数据不存在,则会提示错误。 数据恢复也用到了一个方法,在模块中也已经定义了该方法DoRestore。数据恢复代码如下: If MsgBox("Restoring database from location " & txtSource & " will replace existing database files.Do you want to Contunue", vbYesNo) = vbYes Then DoRestore txtSource.Text, App.Path If NoDba = True Then MsgBox "Database Restored Click Ok to Exit Program" frmRestoreDba.Hide Unload frmRestoreDba End If Else lblStatus.Caption = "Database Restore Canceled" End If 其中DoRestore实现的功能源码如下所示:

DEFSOURCE = "PROVIDER=Microsoft.jet.oledb.4.0;Persist Security Info=False;Data Source=" DBName = "db.MDB;Jet OLEDB:Database Password=matrix-se;" Set Db = New ADODB.Connection

Db.Open DEFSOURCE & App.Path & DBName Dim lFileOp As Long Dim lresult As Long Dim lFlags

As Long Dim SHFileOp As SHFILEOPSTRUCT Dim strSourceDir As String Dim strDestinationDir As String Db.Close Screen.MousePointer = vbHourglass BackupFolderName = strDestinationPath lFileOp = FO_COPY lFlags = lFlags And Not FOF_SILENT lFlags = lFlags Or FOF_NOCONFIRMATION lFlags = lFlags Or FOF_NOCONFIRMMKDIR lFlags = lFlags Or FOF_FILESONLY With SHFileOp

.wFunc = lFileOp

.pFrom = strSourcePath & "db.MDB" & vbNullChar

.pTo = strDestinationPath & vbNullChar

.fFlags = lFlags End With lresult = SHFileOperation(SHFileOp) Set Db = New ADODB.Connection Db.Open DEFSOURCE & App.Path & DBName Screen.MousePointer = vbDefault frmRestoreDba.lblStatus = "Restore Complete" 说明:本程序中此部分内容参考了网上的同类型代码,对其进行修改后得到此成型作品,从功能上来讲,它已经实现了它所要完成的工作,经过测试已经没有问题,但是实现的源代码,也只有部分掌握。这实属本人精力与能力有限所置。 4.3.4 数据转换

这个功能可以把当前列表框中的任何一个表转换成excel形式,转换后你可以看到表中的内容,也可以对表进行操作,保存,修改,打印等。 ①界面效果图

图4.8数据转换效果图 ②实现方法

在这里用到了一个显示gif图片的控件。选择左面list中的一个表后,点击导出后即可完成,进度条中显示当前转换进度程度。

首先要在list中加载各表名。以便进行选择转换。添加表名部分在load进行加载,其中的导出与取消按钮是由coolbar制作而成。 Form的load事件处理内容如下:

TMaxAni1.FileName = App.Path & "iconfind.gif" TMaxAni1.ShowGif Dim cnn1 As ADODB.Connection Dim rstschema As ADODB.Recordset Dim strcnn As String Set cnn1 = New ADODB.Connection strcnn = "provider=Microsoft.jet.oledb.4.0;" & "data source=" & App.Path & "db.mdb" cnn1.Open strcnn Set rstschema = cnn1.OpenSchema(adSchemaTables) Do Until rstschema.EOF temp = rstschema!Table_Name If Left(temp, 1) <> "M" Then List2.AddItem temp End If rstschema.MoveNext Loop cnn1.Close List2.ListIndex = 0 On Error GoTo err PathName = App.Path & "db.MDB" dbasize = FileLen(PathName) 数据转换成excel用到了一个部件,在引用中用到了Microsoft Excel9.0 Object library。转换代码如下:

Select Case Button.Index Case 1 Dim provider As String Dim datasource As String provider = "provider=Microsoft.jet.oledb.4.0" datasource = "data source=" & App.Path & "DB.mdb" With Adodc1 .Mode = adModeReadWrite .ConnectionString = provider & ";" & datasource .CommandType = adCmdTable .RecordSource = List2.Text .Refresh End With ProgressBar1.Max = Adodc1.Recordset.RecordCount ProgressBar1.Min = 0 '开始转换

Dim Irow, Icol As Integer

Dim Irowcount, Icolcount As Integer

Dim Fieldlen()

Dim xlApp As Excel.Application

Dim xlBook As Excel.Workbook

Dim xlSheet As Excel.Worksheet

Set xlApp = CreateObject("Excel.Application")

Set xlBook = xlApp.Workbooks.add

Set xlSheet = xlBook.Worksheets(1) With Adodc1.Recordset

.MoveLast

If .RecordCount < 1 Then

MsgBox ("Error!")

Exit Sub

End If

Irowcount = .RecordCount

Icolcount = .Fields.Count

ReDim Fieldlen(Icolcount)

.MoveFirst

For Irow = 1 To Irowcount + 1

For Icol = 1 To Icolcount

Select Case Irow

Case 1

xlSheet.Cells(Irow, Icol).Value = .Fields(Icol1)) = True Then

Fieldlen(Icol) = LenB(.Fields(Icol1))

End If

xlSheet.Columns(Icol).ColumnWidth = Fieldlen(Icol)

xlSheet.Cells(Irow, Icol).Value = .Fields(Icol1))

If Fieldlen(Icol) < Fieldlen1 Then

xlSheet.Columns(Icol).ColumnWidth = Fieldlen1

Fieldlen(Icol) = Fieldlen1

Else

xlSheet.Columns(Icol).ColumnWidth = Fieldlen(Icol)

End If

xlSheet.Cells(Irow, Icol).Value = .Fields(Icol1)).Font.Name = "黑体"

.Range(.Cells(1, 1), .Cells(1, Icol1)).Borders.LineStyle = xlContinuous

End With

xlApp.Visible = True

' xlBook.Save

'xlBook.Close

Set xlApp = Nothing

Adodc1.Recordset.ActiveConnection = Nothing End With Toolbar4.Buttons(1).Enabled = False Case 2 Unload Me End Select

[10] ... >>

4.4公寓管理 4.4.1学生请假

学生请假与违规在一个公寓管理中是最常见的问题了,所以在此软件中加上了这两项功能。用它们可以随时记录请假记录。 ①学生请假记录图片显示

图4.9学生请假效果图 ② 界面制作与实现

此界面主要是对学生请假记录做一个添加。利用它可以把学生的基本的请假资料保存起来。其中的日期是系统当前的日期,它是不可以进行更改的,然后在其它文本框中输入其它详细资料即可以。这里的添加操作用的是Adodc控件,所有的文本框在初始的时候没有同Adodc绑定,而是在代码中与数据库中表的字段进行的绑定,然后进行添加操作。这样做在使用的时候有很大的方便之处。第一是窗体在初始化时不会显示任何记录,不用设置文本框为空等一系列的操作。第二是当进行记录输入时,发现问题不用输入时,不按添加按钮记录就不会进行添加。注意的是,在添加前要确定所有的文本框都要进行详细填写,否则会提示输入详细信息。添加主要代码如下:

If Text1.Text = "" Or Text2.Text = "" Or Text3.Text = "" Or Text4.Text = "" Or Text5.Text = "" Or Text6.Text = "" Or Text7.Text = "" Or Text8.Text = "" Or Text9.Text = "" Then MsgBox "请输入详细信息!", , "系统提示" Else With Adodc1 .Recordset.AddNew .Recordset.Fields(0).Value = Text1.Text .Recordset.Fields(1).Value = Text2.Text .Recordset.Fields(2).Value = Text3.Text .Recordset.Fields(3).Value = Text4.Text .Recordset.Fields(4).Value = Text5.Text .Recordset.Fields(5).Value = Text6.Text .Recordset.Fields(6).Value = Text7.Text .Recordset.Fields(7).Value = Text8.Text .Recordset.Fields(8).Value = Text9.Text .Recordset.Update End With Set main.DataGrid1.datasource = Adodc1 main.DataGrid1.Refresh End If 4.4.2学生违规

①学生违规记录图片显示

图4.10学生违规效果图

此界面与上面的请假记录差不多。它主要是对学生的违规记录做一个添加。其中的日期也是系统当前的日期,它是不可以进行更改的,然后在其它文本框中输入其它详细资料即可以这里的违规操作用的也是Adodc控件,所有的文本框在初始的时候也没有同Adodc绑定,它也是在代码中与数据库中表的字段进行的绑定,然后进行添加操作。其它操作同上面基本是一致的,对于违规在主界面的左侧并没有快速显示操作,只可以用记录查看里面的违规查看进行选择查看。在这里所添写的记录也要全面一些,主要是为了以后查找更为方便,如果不全,系统会提示的! ②违规部分代码如下:

在load事件里对数据库链接的处理,以及日期文本框的设置,代码如下: provider = "provider=Microsoft.jet.oledb.4.0" datasource = "data source=" & App.Path & "DB.mdb" With Adodc1 .Mode = adModeReadWrite .ConnectionString = provider & ";" & datasource .CommandType = adCmdTable .RecordSource = "qingjia" .Refresh End With Text1.Text = Date Text1.Enabled = False 确定无误后,进行添加,代码如下:

If Text1.Text = "" Or Text2.Text = "" Or Text3.Text = "" Or Text4.Text = "" Or Text5.Text = "" Or Text6.Text = "" Or Text7.Text = "" Or Text8.Text = "" Or Text9.Text = "" Then MsgBox "请输入详细信息!", , "系统提示" Else With Adodc1 .Recordset.AddNew .Recordset.Fields(0).Value = Text1.Text .Recordset.Fields(1).Value = Text2.Text .Recordset.Fields(2).Value = Text3.Text .Recordset.Fields(3).Value = Text4.Text .Recordset.Fields(4).Value = Text5.Text .Recordset.Fields(5).Value = Text6.Text .Recordset.Fields(6).Value = Text7.Text .Recordset.Fields(7).Value = Text8.Text .Recordset.Fields(8).Value = Text9.Text .Recordset.Update End With Set main.DataGrid1.datasource = Adodc1 main.DataGrid1.Refresh 4.5卫生检查

公寓卫生可以说是一个公寓管理中最常见到的问题了。公寓卫生每天要清扫,寝室卫生每天要检查,但是如果这些都用纸来进行填写,一定会十分麻烦,且保存也不是十分方便,在一些评比中也会忙的很遭。所以在这个软件中编写了此功能。 4.5.1 公寓卫生添加效果图

图4.11公寓卫生添加效果图 ①在这个界面中主要用到了文本框以及起到美观作用的frame控件。 日期已经设置成只读属性,检查记录的日期是不能随便改写的。公寓名称可以在下拉列表框中进行选择,如果在下拉列表框中没有发现,可以人工输入,但是要确定公寓名称的正确性。寝室名称需要自己输入。这里的卫生标准一共有五项可以填写,在每一项里已经基本设置了所不全标准的记录,你可以在下拉列表框中进行选择即可,但是如果没有你想输入的记录的话,你也可以自己输入。输入完成后,在减分后面的文本框中输入一共要对此寝室减掉的分数,单击得分后面的文本框会自动算出应该得到的分数。然后跟据得分的分数,你要选择该寝室的卫生等级,卫生等级为必选值且为固定值,正确的选择此项可以在主界面的左侧中快速对卫生等级进行查看。 ②公寓选择栏中代码的实现: Combo3.Clear Dim I As Integer I = 1 If Adodc1.Recordset.RecordCount <> 0 Then Do While I < Adodc1.Recordset.RecordCount

Combo3.AddItem (Adodc1.Recordset.Fields("公寓名称"))

Adodc1.Recordset.MoveNext

I = I + 1 Loop End If 卫生选择栏中的代码实现基本同上,它也是一个表中的字段值! Dim J As Integer J = 1 If Adodc4.Recordset.RecordCount <> 0 Then Do While J < Adodc4.Recordset.RecordCount

Combo2.AddItem (Adodc4.Recordset.Fields("等级"))

Adodc4.Recordset.MoveNext

J = J + 1 Loop End If Combo2.Text = "优秀" 不合标准的卫生记录填写情况如下: Combo4.AddItem ("门窗不干净") Combo4.AddItem ("地面不干净") Combo4.AddItem ("阳台不干净") Combo4.AddItem ("床铺不整齐") Combo4.AddItem ("不叠被") Combo4.AddItem ("桌面不整齐") Combo4.AddItem ("书柜摆放不整齐") 由于此窗体中涉及到公寓与寝室,在填写时要确定其名称的正确,所以在添加记录前要对它们进行检查,如发现不存在的记录,则显示提示。检查记录时用的是adodc中的find命令。类似于用户登录时的判断,同样记录的输入也要详细。代码如下: Adodc1.Refresh Adodc1.Recordset.Find "公寓名称='" & Combo3.Text & "'" If Adodc1.Recordset.EOF = True Then MsgBox "查无此公寓", , "提示" Adodc1.Recordset.MoveFirst Exit Sub End If Adodc3.Refresh Adodc3.Recordset.Find "寝室='" & Text5.Text & "'" If Adodc3.Recordset.EOF = True Then MsgBox "查无此寝室", , "提示" Adodc3.Recordset.MoveFirst Exit Sub End If If Combo3.Text = "" Or Combo2.Text = "" Or Text5.Text = "" Or Text2.Text = "" Or Text3.Text = "" Then MsgBox "请输入详细信息!", , "系统提示" Else 确认一切无误后,开始对所填写记录进行添加并显示: With Adodc2 .Recordset.AddNew .Recordset.Fields(0).Value = Combo3.Text .Recordset.Fields(1).Value = Text5.Text .Recordset.Fields(2).Value = Combo4.Text .Recordset.Fields(3).Value = Combo5.Text .Recordset.Fields(4).Value = Combo6.Text .Recordset.Fields(5).Value = Combo7.Text .Recordset.Fields(6).Value = Combo8.Text .Recordset.Fields(7).Value = Text2.Text .Recordset.Fields(8).Value = Text3.Text .Recordset.Fields(9).Value = Combo2.Text .Recordset.Fields(10).Value = Text4.Text .Recordset.Fields(11).Value = Text1.Text .Recordset.Update End With Set main.DataGrid1.datasource = Adodc2 main.DataGrid1.Refresh 4.6 公寓资产

公寓资产可以及时对公寓里进出财务进行统计,以免遗忘,造成不必要的损失或不必要的麻烦,它的实现方法基本同上面的卫生记录的添加,相对比来说比上面的简单一些。不足的是目前只做出了入库管理,对于出库记录还没有实现。 4.6.1公寓资产添加设置效果图

[10] ...

>>

图4.12公寓资产添加效果图 4. 6. 2 界面制作与实现方法 日期的设置同上面一样,只读属性。公寓名称与寝室名称要人工输入,没有选择,这是因为考虑到它不会像卫生记录那样每天要添加一次,每次要添加很多,所以为了减少系统进程,它没有使用combo,没有在窗体中进行加载。窗体中的数量与单价在填写之后会自动把总价格计算出来,类似于上图中的得分一样。部分代码如下: If Text5.Text = "" Or Text2.Text = "" Or Text3.Text = "" Then MsgBox "请输入详细信息!", , "提示" Else With Adodc1 .Recordset.AddNew .Recordset.Fields(0).Value = Text1.Text .Recordset.Fields(1).Value = Text8.Text .Recordset.Fields(2).Value = Text2.Text .Recordset.Fields(3).Value = Text3.Text .Recordset.Fields(4).Value = Text4.Text .Recordset.Fields(5).Value = Text5.Text .Recordset.Fields(6).Value = Text6.Text .Recordset.Fields(7).Value = Text7.Text .Recordset.Update End With Set main.DataGrid1.datasource = Adodc1 main.DataGrid1.Refresh Text2.Text = "" Text3.Text = "" Text4.Text = "" Text5.Text = "" Text6.Text = "" Text7.Text = "" End If 4.7记录查看

记录查看可以让你对已录入的记录进行各种符合条件的查找,显示符合条件的记录。这里主要包括四个方面的查看:卫生查看、请假查看、违规查看、资产查看。下面分别介绍。 4.7.1 卫生查看 ①界面效果图

图4.13卫生查看效果图 ②界面制作与实现方法

这是一个比较简单的窗体操作。看起来精简、小巧。它主要的功能是对已经录入的卫生记录进行符合条件的查询。在查询类别中选择可以选择全部查看以及按日期查看。查看全部即显示所有记录,选择按日期查看后在下面的列表框中选择所要查看的日期,点击确定后即可以看到该日期的记录。

在进行查询前,要对所操作的表进行绑定,代码如下: Dim s As String provider = "provider=Microsoft.jet.oledb.4.0" datasource = "data source=" & App.Path & "DB.mdb" With Adodc1 .Mode = adModeReadWrite .ConnectionString = provider & ";" & datasource .CommandType = adCmdTable .RecordSource = "weigui" .Refresh End With 日期后面的下拉列表框中可以显示出所有已经录入记录的日期,它是通过对当前表进行分类查询后得到的结果,然后将其添加在combo中,实现代码如下: s = "select distinct 日期 from weisheng" With Adodc2 .Mode = adModeReadWrite .ConnectionString = provider & ";" & datasource .CommandType = adCmdText .RecordSource = s .Refresh End With

For I = 1 To Adodc2.Recordset.RecordCount Combo1.AddItem (Adodc2.Recordset.Fields("日期")) Adodc2.Recordset.MoveNext Next 查看全部,即把当前表中的记录全部赋给当前用来显示的表格,按日期查看,则是在表中先进行查询,然后对结果进行重绑定,在赋值。它们的判断主要是通过单选框的选取来完成的,实现方法如下: s = Combo1.Text If Option1.Value = True Then Set main.DataGrid1.datasource = Adodc1 main.DataGrid1.Refresh ElseIf Option2.Value = True Then sql = "select * from weisheng where 日期='" & Trim(s) & "'" With Adodc3 .Mode = adModeReadWrite .ConnectionString = provider & ";" & datasource .CommandType = adCmdText .RecordSource = sql .Refresh End With Set main.DataGrid1.datasource = Adodc3 main.DataGrid1.Refresh End If Unload Me 4.7.2其它记录查看 在记录查看中还有其它三项查看方式,分别是请假、违规、资产三项记录查看。它们的实现方法与窗体与上面的卫生查看基本相同。 ①请假查看

图4.14请假查看效果图

用它可以对当前所有记录以及有效日期内的记录进行查看。 代码如下:

Dim sql As String Dim s As String s = Combo1.Text If Option1.Value = True Then Set main.DataGrid1.datasource = Adodc1 main.DataGrid1.Refresh ElseIf Option2.Value = True Then sql = "select * from qingjia where 日期='" & Trim(s) & "'" With Adodc3 .Mode = adModeReadWrite .ConnectionString = provider & ";" & datasource .CommandType = adCmdText .RecordSource = sql .Refresh End With Set main.DataGrid1.datasource = Adodc3 main.DataGrid1.Refresh End If Unload Me 在窗体的load中要设置已经添加的日期,需要对表进行条件查询,代码如下: s = "select distinct 日期 from qingjia" With Adodc2 .Mode = adModeReadWrite .ConnectionString = provider & ";" & datasource .CommandType = adCmdText .RecordSource = s .Refresh End With For I = 1 To Adodc2.Recordset.RecordCount Combo1.AddItem (Adodc2.Recordset.Fields("日期")) Adodc2.Recordset.MoveNext Next ②违规查看

图4.15违规查看效果图

目前此类功能还不是十分理想,有些查看方式会在以后的程序中进行升级。 在Load事件设置了窗体运行时所有需要的东西。 代码如下:

Option1.Value = True Dim s As String provider = "provider=Microsoft.jet.oledb.4.0" datasource = "data source=" & App.Path & "DB.mdb" With Adodc1 .Mode = adModeReadWrite .ConnectionString = provider & ";" & datasource .CommandType = adCmdTable .RecordSource = "weigui" .Refresh End With s = "select distinct 日期 from weigui" With Adodc2 .Mode = adModeReadWrite .ConnectionString = provider & ";" & datasource .CommandType = adCmdText .RecordSource = s .Refresh End With For I = 1 To Adodc2.Recordset.RecordCount Combo1.AddItem (Adodc2.Recordset.Fields("日期")) Adodc2.Recordset.MoveNext Next 查看部分的源代码如下: Dim sql As String Dim s As String s = Combo1.Text If Option1.Value = True Then Set main.DataGrid1.datasource = Adodc1 main.DataGrid1.Refresh ElseIf Option2.Value = True Then sql = "select * from weigui where 日期='" & Trim(s) & "'" With Adodc3 .Mode = adModeReadWrite .ConnectionString = provider & ";" & datasource .CommandType = adCmdText .RecordSource = sql .Refresh End With Set main.DataGrid1.datasource = Adodc3 main.DataGrid1.Refresh End If Unload Me ③资产查看

图4.16资产查看效果图

在Load事件设置了窗体运行时所有需要的东西。 代码如下:

On Error Resume Next Option1.Value = True Dim s As String provider = "provider=Microsoft.jet.oledb.4.0" datasource = "data source=" & App.Path & "DB.mdb" With Adodc1 .Mode = adModeReadWrite .ConnectionString = provider & ";" & datasource .CommandType = adCmdTable .RecordSource = "zichan" .Refresh End With s = "select distinct 日期 from zichan" With Adodc3 .Mode = adModeReadWrite .ConnectionString = provider & ";" & datasource .CommandType = adCmdText .RecordSource = s .Refresh End With For I = 1 To Adodc3.Recordset.RecordCount Combo1.AddItem (Adodc3.Recordset.Fields("日期")) Adodc3.Recordset.MoveNext Next 查看部分代码如下所示: On Error Resume Next Dim sql As String Dim s As String s = Combo1.Text If Option1.Value = True Then Set main.DataGrid1.datasource = Adodc1 main.DataGrid1.Refresh ElseIf Option2.Value = True Then sql = "select * from zichan where 日期='" & Trim(s) & "'" With Adodc2 .Mode = adModeReadWrite .ConnectionString = provider & ";" & datasource .CommandType = adCmdText .RecordSource = sql .Refresh End With Set main.DataGrid1.datasource = Adodc2 main.DataGrid1.Refresh End If Call dx1 Unload Me 4.8记录删除

删除是一个数据库软件中最基本的操作之一。在本软件的工具栏中也有一个删除按钮,其功能也是将所找到的记录删除,但是它每次只能删除一条记录,且此删除记录的前提是在右侧的显示中容易找出,即记录不多的情况下使用。如果一旦数据记录很多,一条条查找比较不方便时,即可以使用此窗体进行删除。这里的删除也有四个窗体,分别为卫生删除、请假删除、违规删除、资产删除。下面分别介绍。 4.8.1 卫生删除 ①效果图

图4.17卫生删除效果图

②界面制作与实现方法

这个界面总体来说各个控件比较简单,但是作为一个删除操作,它已经连接到了数据库,与数据库的表相联。且有三种删除记录方式可以选择。 默认为单条删除,选择此项后需要在日期中选择所删除记录的添加日期,以及所在的公寓与寝室,当这三条全部符合要求后,在表中进行查找,找到后确认删除。选择批量删除后,在下面只有一个日期可以选择,这样将会把所选日期内的所有记录都将删除掉,所以称其为批量删除。全部即是把当前表清空,全部删除掉,建议使用此操作前对当前数据库进行备份处理,否则数据将不会恢复。首先要进行数据库连接,如上面例子所示,这里就不在介绍,接下来要对本窗体中的日期进行加载,如下所示: s = "select distinct 日期 from weisheng" With Adodc2 .Mode = adModeReadWrite .ConnectionString = provider & ";" & datasource .CommandType = adCmdText .RecordSource = s .Refresh End With For I = 1 To Adodc2.Recordset.RecordCount Combo1.AddItem (Adodc2.Recordset.Fields("日期")) Combo2.AddItem (Adodc2.Recordset.Fields("日期")) Adodc2.Recordset.MoveNext Next Option1.Value = True Frame3.Visible = True Frame5.Visible = False Frame6.Visible = False 在单条删除前要确定所有条件符合要求,单条删除操作的代码主要部分如下:

If (MsgBox("你真的想删除日期为

" & Combo1.Text & "

公寓为

" & Text1.Text & "

寝室为

" & Text2.Text & " 的记录吗?", vbOKCancel, "系统提示")) = vbOK Then Adodc1.Refresh Adodc1.Recordset.ActiveConnection.Execute "delete from weisheng where 日期='" &

Trim(s) & "'and 公寓='" & Trim(Text1.Text) & "'and 寝室='" & Trim(Text2.Text) & "'"

', , adExecuteNoRecords Adodc1.Recordset.Update Combo1.Text = "" Text1.Text = "" Text2.Text = "" MsgBox "删除成功", , "系统提示" End If Unload Me 当选择某一日期后进行批量删除代码如下:

If (MsgBox("你真的想删除日期为

" & Combo2.Text & " 的记录吗?", vbOKCancel, "系统提示")) = vbOK Then Adodc1.Refresh Adodc1.Recordset.ActiveConnection.Execute "delete from weisheng where 日期='" & Trim(Combo2.Text) & "'" Combo2.Text = "" MsgBox "删除成功", , "系统提示" End If Unload Me 清空数据表代码为:

If (MsgBox("你真的想删除所有的记录吗?一旦删除即不可恢复", vbOKCancel, "系统提示")) = vbOK Then For I = 1 To Adodc1.Recordset.RecordCount Adodc1.Recordset.Delete Adodc1.Recordset.MoveNext Next I End If MsgBox "删除成功", , "系统提示" Unload Me 4.8.2请假记录 ①效果图

[10] ...

>>

图4.18请假记录删除效果图 ②界面制作与实现方法

这个窗体与上面不同的是多了一个姓名条件,其它的都基本一致。由于在一个公寓中会有很多人要得名,但是在某一公寓某一寝室中只会有一个人,这也是一个公寓分配住宿人员时的基本标准,因为这样也便于公寓本身的管理。此删除窗体只有单条删除与上面不同,单条删除部分代码如下:

If (MsgBox("你真的想删除日期为

" & Combo1.Text & "

公寓为

" & Text1.Text & "

寝室为

" & Text2.Text & "

姓名为

" & Text3.Text & " 的请假记录吗?", vbOKCancel, "系统提示")) = vbOK Then Adodc1.Refresh Adodc1.Recordset.ActiveConnection.Execute "delete from qingjia where 日期='" & Trim(s) & "'and 公寓='" & Trim(Text1.Text) & "'and 寝室='" & Trim(Text2.Text) & "'and 姓名='" & Trim(Text3.Text) & "'"

', , adExecuteNoRecords Adodc1.Recordset.Update Combo1.Text = "" Text1.Text = "" Text2.Text = "" MsgBox "删除成功", , "系统提示" End If 4.8.3 违规删除 ①效果图

图4.19违规记录删除效果图 ②界面制作与实现方法

违规删除操作与请假删除操作基本一致,不同之处只是在于后台对不同的表进行处理,前台界面大体相同。其实现方法与上现的也差不太多,这里就不在叙述。 单条删除记录: Dim sql As String Dim s As String Dim panduan As Boolean If Combo1.Text = "" And Text1.Text = "" And Text2.Text = "" Then MsgBox "请输入删除条件!", , "提示" Exit Sub End If s = Combo1.Text If (MsgBox("你真的想删除日期为

" & Combo1.Text & "

公寓为

" & Text1.Text & "

寝室为

" & Text2.Text & "

姓名为

" & Text3.Text & " 的违规记录吗?", vbOKCancel, "系统提示")) = vbOK Then Adodc1.Refresh Adodc1.Recordset.ActiveConnection.Execute "delete from weigui where 日期='" & Trim(s) & "'and 公寓='" & Trim(Text1.Text) & "'and 寝室='" & Trim(Text2.Text) & "' and 姓名='" & Trim(Text3.Text) & "'"

', , adExecuteNoRecords Adodc1.Recordset.Update Combo1.Text = "" Text1.Text = "" Text2.Text = "" MsgBox "删除成功", , "系统提示" End If Unload Me 成批删除记录:

If (MsgBox("你真的想删除日期为

" & Combo2.Text & " 的记录吗?", vbOKCancel, "系统提示")) = vbOK Then Adodc1.Refresh Adodc1.Recordset.ActiveConnection.Execute "delete from weigui where 日期='" & Trim(Combo2.Text) & "'" Combo2.Text = "" MsgBox "删除成功", , "系统提示" End If Unload Me 删除所有记录:

If (MsgBox("你真的想删除所有的记录吗?一旦删除即不可恢复", vbOKCancel, "系统提示")) = vbOK Then For I = 1 To Adodc1.Recordset.RecordCount Adodc1.Recordset.Delete Adodc1.Recordset.MoveNext Next I End If MsgBox "删除成功", , "系统提示" Unload Me 4.8.4 资产删除 ①效果图

图4.20资产删除效果图 ② 界面制作与实现方法

与卫生记录删除不同的是寝室改为了名称。值得注意的是,此处公寓与名称都要人工输入,所以在输入的时候要注意不要有多余字符,否则会出错删除不掉的情况。单条删除部分源码如下:

If (MsgBox("你真的想删除日期为

" & Combo1.Text & "

公寓为

" & Text1.Text & "

名称为

" & Text2.Text & " 的资产记录吗?", vbOKCancel, "系统提示")) = vbOK Then Adodc1.Refresh Adodc1.Recordset.ActiveConnection.Execute "delete from zichan where 日期='" & Trim(s) & "'and 公寓='" & Trim(Text1.Text) & "'and 名称='" & Trim(Text2.Text) & "'"

', , adExecuteNoRecords Adodc1.Recordset.Update Combo1.Text = "" Text1.Text = "" Text2.Text = "" MsgBox "删除成功", , "系统提示" End If 4.9值班记录

值班记录这项可以说是此软件的一个新增功能。它的界面小巧,并且它可以让值班人员记录前天发生的一些事情,字数在1000字左右。可以说是一个小型的日记本。 4.9.1 值班记录 ①值班记录效果图

图4.21值班记录效果图 ② 实现思想与功能

此窗体的功能以及其源代码是经过修改之后而形成的,源文件是一个电子记事本,发现后经过修改后做出一个日记本。

在上面的日期后面的文本框中,你可以输入如窗口标题后面所示的日期格式后,点击查看,即可以查看到所选日期的详细记录。这是一种查询方法,当然你也可以用右面简单的上一条与下一条进行快速查看,但是它只能查看当日日期起开始的记录,如果与你所想要查看的日期相差很远,那么你就需要使用第一种方法了。 这个日记本还支持修改与删除功能。当你想编辑或删除某一日期的时候时,你需要用查看方法找到该记录,然后对当前记录使用编辑或删除即可完成操作。删除后,记录即不可恢复,且此日记目前还没有备份功能,慎重操作。

如果你今天值班,还没有写值班记录,那么你可以点击增加按钮,开始写当日的值班记录,说明的是,每天只可以写一次记录。当你写完今天记录后,在点击增加时会提示你今日已写完。但是你可以对今日记录进行编辑修改。

本程序源码较为复杂,主要都是对文件进行操作,并没有把记录添加到数据库中,所以不支持备份操作,且本窗体中的操作程序还用到了一个模块。部分代码如下: 查看上一条记录:

If giCurrentRecord > 1 Then

giCurrentRecord = giCurrentRecord1

Form_Load

End If 4.9.2 增加记录 ①增加记录效果图

图4.22增加记录效果图 ② 实现思想与程序源码

日期后显示当前日期,但是可以修改。每篇记录的字数要求在1000字以内。支持对当前字符输入的统计,确定完成本日记录后,点击保存即可。 部分代码如下:

Dim bSaved As Boolean, bCF If txtDate = "" Or txtMemo = "" Then Exit Sub ' 如果记录未填,则退出 If riji.Tag = "addnew" Then

If giRecordCount >= 1 Then

'新增时,检查记录是否重复

gsSql = frminput.txtDate

bCF = FindData(gsSql)

If bCF Then

MsgBox "今天你已经写过日记了!", vbExclamation + vbOKOnly, "每日一记"

txtMemo.SetFocus

Exit Sub

End If

End If

giRecordCount = giRecordCount + 1

bSaved = WriteData() ElseIf riji.Tag = "modify" Then '

bSaved = ModifyData() End If If bSaved = True Then

AddNext = MsgBox("保存完毕!", vbExclamation + vbOKOnly, "每日一记") End If Unload Me 由于此段代码中用到了一个模块,在模块中定义了很多过程,各过程实现功能及代码如下所示:

读取数据:

Public Sub ReadData(curRecord As Integer) '读取数据 On Error Resume Next Dim strcaption$

riji.txtDate = goDiarys(curRecord).fldDate

riji.txtMemo = goDiarys(curRecord).fldMemo

strcaption = "每日一记

[" & Date & "] " & Time & " WeekdayName(Weekday(Date)) & " 记录:" & giCurrentRecord & "/" & giRecordCount

riji.Caption = strcaption End Sub 查询数据:

Public Function FindData(sql As String) As Boolean '查询数据 On Error Resume Next

Dim I%

For I = 1 To giRecordCount

If goDiarys(I).fldDate = sql Then

giCurrentRecord = I

FindData = True

Exit For

End If

Next

ReadData giCurrentRecord End Function 新增数据:

Public Function WriteData() As Boolean '新增数据 On Error Resume Next

Dim iFreefile%, I%

iFreefile = FreeFile()

Open gsPath & "DATA.DAT" For Random As #iFreefile Len = en(goDiary)

ReDim Preserve goDiarys(giRecordCount)

goDiarys(giRecordCount).fldDate = frminput.txtDate

goDiarys(giRecordCount).fldMemo = frminput.txtMemo

goDiary = goDiarys(giRecordCount)

Put #iFreefile, giRecordCount, goDiary

giCurrentRecord = giRecordCount

ReadData (giCurrentRecord)

Close #iFreefile

WriteData = True

" & End Function 修改数据:

Public Function ModifyData() As Boolean '修改数据 On Error Resume Next

Dim iFreefile%, I%

iFreefile = FreeFile()

Open gsPath & "DATA.DAT" For Random As #iFreefile Len =len(goDiary)

goDiarys(giCurrentRecord).fldDate = frminput.txtDate

goDiarys(giCurrentRecord).fldMemo = frminput.txtMemo

goDiary = goDiarys(giCurrentRecord)

Put #iFreefile, giCurrentRecord, goDiary

ReadData (giCurrentRecord)

Close #iFreefile

ModifyData = True End Function 删除数据:

Public Sub DeleteData() '删除数据 On Error Resume Next

Dim iFreefile%, I%, J%

I = 1: J = 1

iFreefile = FreeFile()

Open gsPath & "temp.dat" For Random As #iFreefile Len = Len(goDiary)

goDiarys(giCurrentRecord).fldMemo = "IWantToKillIt*" & goDiarys(giCurrentRecord).fldMemo '加删除标记

For I = 1 To giRecordCount

'无删除标记的记录保存到临时文件,TEMP.DAT

If Left(goDiarys(I).fldMemo, 14) <> "IWantToKillIt*" Then

goDiary = goDiarys(I)

Put #iFreefile, J, goDiary

'在此必须有I,J两个变量,因为使用二进制保存文件,

J = J + 1

'从1开始到后面,中间如有间隔就会出现乱码

End If

Next

Close #iFreefile

Kill gsPath & "data.dat"

Name gsPath & "temp.dat" As gsPath & "data.dat"

riji.txtDate = ""

riji.txtMemo = "" End Sub 说明:由于本人能力有限,对文件部分还不算是很了解,这个功能的实现主要是借用了网上的一个电子记事本。本人只是对其做了一些修改,做成了这个每日一记,但个人认为此功能还算是可以。 4.10 Help制作 Help文档的制作也标志着本软件基本完成。制作help文档需要一个专业制作软件,本人使用的是破解版的QuickCHM,此软件无论在功能上还在是操作上用起来都是很方便。 QuickCHM软件的界面及其使用如下:

[10] ...

>>

图4.23 QuickCHM软件的界面 它属于一个傻瓜型的制作软件,利用它可以快速的制作出各种你所需要的帮助文档。但是如果想制作出如下图所示的文档,那么需要使用制作网页的软件把内容先做成html形式,然后在用此软件进行加载,最后生成chm文档。 在制作前要制作出相差的网页形式,本人使用Dreamweaver。用它先做出要用到的相差页面,大约一共为十个。然后在用QuickCHM把所有的网页添加进去,然后对QuickCHM进行各项设置,最后点击编译即可生成help文档,后缀为.Chm。在本管理软件中可以按F1或点击帮助菜单下的帮助主题即可显示该帮助文档,调用的过程也很简单,两条语句即可以实现。代码如下:

在主窗体的load事件中添加下面语句: App.HelpFile = App.Path & "help.chm" 在帮助主题的click事件中添加下面语句: SendKeys "{F1}" 上面这两条语句即可以实现调用帮助文档的功能。

第五章 系统测试

编写出的各功能模块需要进行测试,对于模块化应用程序,软件开发的最后一部分便是不断的测试程序最终编译成可执行的.exe文件,该阶段主要对系统的正确性及完整性等方面进行测试。主要进行:功能确认测试、运行测试、健壮性测试、安全性测试以及查错方面的测试等,系统测试的测试人员由测试组成员(或质量保证人员)或测试组成员与用户共同测试,在整个系统开发完成,即将交付用户使用前进行。在这一阶段,对整个系统进行测试,系统测试结束后我们应该打软件打包,使其脱离VB的环境下也能正常运行。打包应将所有程序需要的文件加载进去,如数据库(DB.MDB),每日一记和帮助的文件都要进行加载。 在调试程序过程中,由于某些内在的错误影响程序的运行,在采用上述调试方法对程序进行调试后,程序运行情况良好,达到了预期的设计目标,基本上满足了用户的需要。

总结

到目前为止,学生公寓管理软件基本开发完毕,软件界面美观,运行时间短,执行功能强,其功能基本符合用户需求。能够完成对学生公寓中学生基本资料的存储和查询,并提供数据转换、数据备份等系统维护功能,可以使用查找、修改、添加和删除对学生公寓管理软件的操作等。

由于本人知识有限,又是刚初学软件,时间比较仓促,又缺乏经验,必定有不足和不周之处,希望各位老师给予指导,本人将继续完善修改,使此系统能更好地发挥性能。

参考文献

Visual Basic 程序设计

王栋

清华大学出版社 Visual Basic 高级编程宋伟

吴建国

清华大学出版社 Visual Basic 6.0 入门与提高 戴红 陈哲 清华大学出版社 Visual Basic 6.0应用指南

何斌 王运坚

冯峰 刘醒

人民邮电出版社

Visual Basic 高级编程技术 陈 明

杨劲松

北京希望电子出版社

Visual Basic实用教程

陈弘原

中国水利水电出版社

数据库系统概论

萨师煊、王珊 高等教育出版社

软件系统开发技术

潘锦平 施小姚 西安电子科技大学出版

<<

[11]

上一篇:快速公文写作下一篇:代表酒店优秀员工发言