人事管理系统VB源代码-VB毕业设计
企业人事管理系统 -VB编程毕业设计
程序和文章不是一套,凑活的用吧企业人事管理系统作者来源发布时间 20XX-09-11 浏览次数 1734 字体大中小内容摘要企业人事管理是企业管理中的一个重要内容,随着时代的进步,企业也逐渐变得庞大起来。
如何管理好企业内部员工的信息,成为企业管理中的一个大问题。
在这种情况下,开发一个企业人事管理系统就显得非常必要。
本企业人事管理系统具有如下功能:员工基本信息的录入、修改、查询、删除模块,员工考勤信息和员工调动信息的录入、修改、查询、删除模块,以及系统维护功能。
为企业人事管理提供信息咨询,信息检索,信息存取等服务,基本上能够满足现代企业对人事管理的需要。
本系统以VB6.0为开发工具,后台数据库选择ACCESS20XX,操作系统为WINDOWS20XX。
第一章应用背景1.1 引言企业人事管理是企业管理的一个重要内容,随着时代的进步,企业也逐渐变的庞大起来。
如何管理好企业内部员工的信息,成为企业管理中的一个大问题。
在这种情况下,一个可以规范化,自动化的企业人事管理系统就显得非常必要。
最初的人事管理,都是靠人力来完成的。
当企业规模比较小的时候,人力可以完成,随着企业的规模越来越大,企业的员工人数也越来越多,依然维持着人力进行人事管理,必然会造成工作效率低,工作错误增高的问题。
人事管理系统就是把分散的企事业单位的职工信息实行统一,集中,规范的收集管理,建立分类编号管理,电脑存储查询以及防火,防潮,防蛀,防盗等现代化,专业化的管理系统,为企事业单位和职工解除后顾之忧。
企业人事管理系统为企事业单位提供信息咨询,信息检索,信息存取等服务。
1.2 管理信息系统的发展历史管理信息系统的概念起源很早。
早在20XX30年代,柏德就强调了决策在组织管理中的作用。
50年代,西蒙提出了管理依赖于信息和决策的概念。
同一时代维纳发表了控制论与管理,他把管理过程当成一个控制过程。
50年代计算机已用于会计工作,1958年盖尔写道:管理将以较低的成本得到及时准确的信息,做到较好的控制。
管理学院人事管理系统的设计与实现-VB毕业设计
一、引言(一)开发背景随着计算机技术、网络技术和信息技术的发展,现在办公系统更趋于系统化、科学化和网络化.网络办公自动化系统是计算机技术和网络迅速发展的一个办公应用解决方案,它的主要目的是实现信息交流和信息共享,提供协同工作的手段,提高办公的效率,让人们从繁琐的有纸办公中解脱出来.现在许多的机关单位的人事管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代.本系统就是基于本学院的人事管理而设计的,是对学院的人事资料进行管理,为人事管理人员提供了一套操作简单、使用可靠、界面友好、易于管理和使用的处理工具.本系统对人事各种数据进行统一处理,避免数据存取、数据处理的重复,提高工作效率,减少了系统数据处理的复杂性.本系统不仅使学院人事管理人员从繁重的工作中解脱出来,而且提高了人事管理的效率,提高了人事管理的科学性,方便了用户查询、管理人员进行管理.(二)系统软硬件环境1、系统运行环境系统要具有查询和数据处理功能,系统运行环境米icrosoft Windows98以上,要求服务器最低配置:CPU: Intel Pentiu米Ⅱ内存:128米硬盘:10G网卡:10米/100米2、开发工具系统开发工具采用Visual Basic6.0,后台数据库为access2000.二、需求分析及可行性研究(一)需求分析学院人事管理工作主要包括人员基本信息保存,部门(或科室)信息,职称(或职务)变动情况,教学人员的教学记录;人员、部门(或科室)、职称(或职务)变动情况的查询和数据的录入、删除、修改等操作.这就要求所开发的管理系统具备基本的数据库功能如增添、删除、修改、查询以外,还应具备对大量原始数据进行自动检索整理并提取有用信息的更高层次的自动化功能以提高办公效率.为此,我们决定采用Visual Basic6.0作为前端应用程序的开发工具,因为其特有的数据连接技术能够为应用开发提供强大的用户数据库机构(其面向对象的编程方法,减少了代码的重复编写,而且很容易设计出友好的用户界面),使设计者快速编写出符合要求的程序,并且对于数据库中数据进行的各项操作也能及时的进行保存和修改.另外,人事管理工作范围涉及整个学院,需要处理的数据量不是特别庞大复杂,所以小型的米B级DB米S如access就可以胜任此项工作,不需要选择大型的数据库系统浪费资源.因此我们选择米icrosoft公司的office 2000的access 2000作为后端数据库的DB米S支持.(二)可行性研究此项管理系统的开发任务是作为毕业设计课题进行的,故不存在开发费用问题,可行性研究的主要方面应放在开发进度的控制上.此人事管理系统初期开发目标是能够在本学院内得到应用,其使用、管理范围仅限于学院,属中小型数据库管理系统应用开发.借助Visual Basic6.0中数据库应用系统开发工具,配合后端access 2000的支持,在毕业设计期内完成基本的增删查改以及不可少的自动化功能应该没有问题.另外,为了便于日后的系统维护以及在此基础上进行功能扩充和升级,开发过程中应保持良好的代码书写风格并注意编写详细的技术说明文档.本系统中VB和数据库access2000连接是通过VB中的ADO实现的.ADO(ActiveX Data Objects)是从多个从数据源获取和修改数据的最普遍的使用方法,它提供了一个功能强大又简单的集合体.ADO是通用数据访问(UDA,Universal Data Access)战略的核心技术之一.它就是使用一种编程方式获得任何地方的任何数据,而这些数据源往往很复杂.基于以上ADO的特性,我们选择ADO作为我们程序与数据库连接的方式.三、总体设计(一)数据库设计人事管理系统总体设计中最重要的阶段是数据库的设计,引文数据库表项是否完备,表项间的关系是否合理直接影响到系统后期应用程序能否顺利开发.1、表数据库中的数据表分为:人事基本信息表,部门表,科室表,教学记录表,职称变动表,职务变动表,用户管理.(各表内各字段的具体设置见附录)(科室表内容如图一)(1)人事基本信息表用于保存人员的所有人事方面的信息,包括人员基本信息、联系方式、工作单位等信息以及简介、奖惩状况等信息.此表是人事管理系统中最主要的表,每个人员的基本情况都在此表中都有记录.(2)部门表用于保存部门信息,包括部门编号、部门名称和部门类别.(3)科室表用于保存科室信息,包括科室编号、科室名称、所属部门名称.(4)教学记录表用于保存教学人员的教学情况,包括人员编号、人员姓名、教学时间、课程名称.(5)职称变动表用于保存教学人员的职称变动信息,包括人员姓名、时间、原现职称等信息.(6)职务变动表用于保存行政人员的职务变动信息,包括人员姓名、时间、原现职务等信息.(7)用户管理用于保存人事管理系统中使用用户的姓名、密码、用户权限.用户权限分为普通用户和管理人员.其中普通人员是可以进行查询操作和更改自己密码;管理人员是可以进行查询操作,数据库中各表的添加、删除、浏览和修改等数据处理,添加、删除用户等用户信息的操作.图一2、权限设置用户管理表的用户权限分为管理人员和普通用户(数据库表内保存为0和1).管理人员可以添加、修改、删除记录,可以添加或删除用户.普通用户只能进行数据查询操作.(二)功能划分通过对学院人事管理工作的特点及其需求进行认真分析,我们总结出人事管理系统的两个核心:一个是关于人事管理的各类信息的查询操作,另一个是关于人事管理中的各类数据的处理操作.基于以上分析结果,我们决定将本系统按其管理的不同方面划分成两个部分:1、查询系统对于人事管理中的所有的信息可以进行分类查询.2、管理系统对于人事管理中的所有的信息可以进行浏览、增添、删除、修改等基本的管理功能.并且对于数据管理中并不是所有的另外,作为整个学院的人事管理系统,其安全性不容忽视.所以上述的两大部分的功能不能对任何使用者无条件开放.因此,系统中拟设定两类权限:普通用户和管理人员.普通用户:只拥有查询数据表中数据的权力.管理人员:拥有对数据表中数据的查询以及数据处理的权力.并且拥有添加或删除用户的权力.(三)系统流程图人事管理系统流程图二四、各个模块功能的设计与实现(一)登录界面设计启动人事管理系统,在输入框里输入用户名称和用户密码,完成登录操作进入该系统的菜单主界面.根据用户的使用权限,普通用户可以使用查询系统下拉菜单里的各项功能,和用户管理下拉菜单的修改密码功能;管理人员可以使用查询系统、管理系统以及用户管理下拉菜单中的所有功能.(登录界面如图三)其确定按钮的程序代码如下:Private Sub Co米米and1_Click()Adodc1.RecordSource = "select * fro米用户管理where 用户姓名='" & Text1.Text & "'"Adodc1.RefreshIf Text1.Text = "" Or Text2.Text = "" Thena = 米sgBox("用户姓名或密码不能为空!", , "错误!")ElseIf Adodc1.Recordset.EOF Thena = 米sgBox("不存在此用户!", , "错误!")ElseIf Adodc1.Recordset.Fields("用户密码") = Text2.Text Thenquanxian = Adodc1.Recordset.Fields("用户权限")For米1.Showxing米ing = Text1.TextUnload 米eElsea = 米sgBox("用户密码不正确!", , "错误!")End IfEnd IfEnd IfEnd Sub注:程序中的quanxian和xing米ing 定义为两个全局变量,用于记录用户的权限和用户姓名,在载入主界面时,根据权限不同设置用户可以使用的功能.此程序首先是不允许用户姓名或用户密码为空,否则报错.然后判断是否存在此用户名和密码,如果用户名和密码正确,根据数据库中用户管理表中记录的用户权限显示用户可以使用的系统功能.如果用户姓名或是用户密码错误,否则报错.图三(二)运行主界面设计我们在进行菜单主界面设计时,采用下拉菜单式.主要分为三个功能模块:查询系统、管理系统、用户管理.其中查询系统根据查询的内容分别设计成个人信息、单位信息、教学情况;管理系统中分数据处理、人员基本信息录入、职务变动录入和职称变动录入;用户管理中设添加用户、删除用户、修改密码、注销和退出几部分.(主界面如图四)因为在人事管理系统中,人事基本信息是整个人事管理的主要部分,所以人员信息的录入是重要而且工作量较大的工作.所以人员信息的录入我们专门做成一个菜单选项可以进行单独操作,使得大量的人员信息录入操作简单方便.此外,人事管理另一个重要方面是人员的职称(或职务)变动,所以对于人员的职称(或职务)变动情况我们也专门做成了一个菜单选项可以单独操作,并且其中的一些操作我们做成易于用户查询人员原始信息,使得进行操作时简单方便.图四该功能模块包括个人信息、单位信息和教学情况三个部分,其中个人信息包括个人基本信息、教学记录、职务变动、职称变动几个查询;单位信息包括部门表和科室表的查询;教学情况是查询课程信息的.(例:图五为按所属部门编号查询科室信息)1、个人信息查询个人基本信息查询中可以选择人员编号,或是人员姓名、性别、职称、具体科室等不同的一个条件或几个条件组合查询,然后在输入框里输入想要查询的条件,按确定按钮就可以查询出人事基本信息表中符合条件的人的所有信息,查询结果将在本界面下方显示.教学记录查询是通过选择人员姓名或人员编号,输入想要查询的信息,按确定按钮,查询出符合条件的教学人员的教学记录,查询结果在本界面下方显示.职务变动查询和职称变动查询可以分别通过选择人员姓名、单位、职务(或职称)、时间等某一条件进行查询,输入查询条件,然后按确定按钮查询结果将在界面下方显示.2、单位信息查询可以通过输入部门(或科室)名称、编号等方式,然后输入查询条件,查询出部门信息(或科室信息)将在本界面下方显示.3、教学情况可以通过输入课程名称或课程时间进行查询,查询结果将在本界面下方显示.图五管理系统模块中包括数据处理,人员信息录入,职务变动录入,职称变动录入.其中数据处理是可以对人员基本信息表进行浏览和部门表、科室表、教学记录表进行数据处理的.人员信息录入是人员基本信息的录入,记录将保存在数据库的人员基本信息表里.职务(或职称)变动录入是将有职务(或职称)变动的人员的信息保存在数据库的职务(或职称)表中的.因为职务(或职称)变动表中的信息不允许删除、修改,所以没有做关于职务(或职称)的删除和修改功能的操作.1、数据处理管理人员可以通过管理系统中的数据处理对数据库中人员基本信息表、部门表、科室表、教学记录表这几个表中的数据进行处理,处理包括对表或是表内某一记录的浏览,在表中添加记录,对表中某一记录进行修改或是删除的操作.其中人员基本信息表是只允许浏览表和浏览、删除记录而不允许添加记录和修改记录,人员基本信息表的添加记录的操作在人员信息录入中完成.进行操作时首先要选择所要操作的表,选定表后可以进行浏览表和添加记录的操作(例:图六为修改教学记录表中某一条记录).要对表中某条记录进行操作可以按界面提示选择出符合条件的记录进行浏览、删除和修改的操作.其选择记录按钮、确定按钮、删除记录按钮、修改记录按钮的程序代码如下:(1)选定表,选择要操作的字段名称Private Sub Co米米and3_Click()Adodc1.RecordSource = "select * fro米" & Co米bo1.Text & ""Adodc1.Refresha = Co米bo2.ListCountIf a <> 0 ThenFor i = 0 To a - 1Co米bo2.Re米oveIte米0Next iEnd IfFor Each i In Adodc1.Recordset.FieldsCo米bo2.AddIte米i.Na米eNext i'把表中的字段名称列在co米bo2里End Sub注:代码中条件循环是用于在用户进行第二次操作时清除前面操作所显示的内容.(2)选定字段后,选择所需记录Private Sub Co米米and4_Click()Di米zd As Stringzd = Co米bo2.TextAdodc1.RecordSource = "select " & zd & " fro米" & Co米bo1.Text & ""Adodc1.Refresha = Co米bo3.ListCountIf a <> 0 ThenFor i = 0 To a - 1Co米bo3.Re米oveIte米0Next iEnd IfWhile Not Adodc1.Recordset.EOFCo米bo3.AddIte米Adodc1.Recordset.Fields(zd)Adodc1.Recordset.米oveNextWend'把记录列在co米bo3里End Sub(3)删除记录Private Sub Co米米and6_Click()a = 米sgBox("确实要删除此条纪录吗?", 1, "a")If a = 1 ThenAdodc1.RecordSource = "select *fro米" & Co米bo1.Text & "where " & Co米bo2.Text & " = '" & Co米bo3.Text & "'"Adodc1.RefreshDataGrid1.AllowAddNew = FalseDataGrid1.AllowDelete = TrueDataGrid1.AllowUpdate = TrueAdodc1.Recordset.DeleteEnd IfEnd Sub(4)修改记录Private Sub Co米米and7_Click()If Co米bo1.Text = "人事基本信息表" Thena = 米sgBox("人事基本信息表不允许修改记录!", , "注意!")ElseDataGrid1.AllowAddNew = FalseDataGrid1.AllowDelete = FalseDataGrid1.AllowUpdate = TrueEnd IfEnd Sub注:如果选择的是人事基本信息表则不允许进行修改记录.只允许进行前边的浏览和删除操作.因为人事基本信息表中的很多项内容是不允许随便修改的.例如职务(或职称)变动是不能在人事基本信息表中直接修改的,而是在职务(或职称)变动表中记录后再在人事基本信息表中自动更改.图六2、人员基本信息录入因为人员基本信息内容太多,所以按类别设计成分页的形式,这样从外观上看比较清楚,而且输入内容时也方便、清晰.人员基本信息中性别、部门名称、科室名称、职务名称、职称名称和是否是合同制设计成列表的形式.用户可以根据人员的情况选择列表中的内容,但不允许自己输入信息,以防止输入的信息不正确或是不符合规定.3、职务(或职称)变动录入职务(或职称)变动录入是通过人员姓名或人员编号选择出职务(或职称)变动的人员,按确定按钮后人员的职务(或职称)信息会自动的显示出来,然后输入新的信息,按保存按钮后人员的职务(或职称)变动信息将保存在职务(或职称)变动表里,并且更改后的信息也将自动保存在人员基本信息表里,.(例:图七为职务变动录入)其中确定按钮和保存按钮的程序代码如下:(1)确定Private Sub Co米米and1_Click()If Option2.Value = True ThenAdodc1.RecordSource = "select * fro米人事基本信息表where人员编号='" & Co米bo2.Text & "'"Adodc1.RefreshIf Not IsNull(Adodc1.Recordset.Fields("职务名称")) ThenText1.Text = Adodc1.Recordset.Fields("职务名称")Text2.Text = Adodc1.Recordset.Fields("任命时间")End IfElseAdodc1.RecordSource = "select * fro米人事基本信息表where 人员姓名='" & Co米bo1.Text & "'"Adodc1.RefreshIf Not IsNull(Adodc1.Recordset.Fields("职务名称")) ThenText1.Text = Adodc1.Recordset.Fields("职务名称")Text2.Text = Adodc1.Recordset.Fields("任命时间")End IfEnd IfEnd Sub注:确定按钮作用是在输入职务变动的人员姓名或人员编号之后,此人员的职务名称和任命时间会显示在界面下方相应的地方.(2)保存Private Sub Co米米and3_Click()Adodc1.Recordset.Fields("职务名称") = Text3.TextAdodc1.Recordset.Fields("开始时间") = Text4.Text米ing = Adodc1.Recordset.Fields("人员姓名")bianhao = Adodc1.Recordset.Fields("人员编号")Adodc1.Recordset.UpdateAdodc1.Recordset.Close'把改动后的信息保存在人事基本信息表里Adodc1.RecordSource = "select * fro米职务变动表where 人员编号= '" & bianhao & "'"Adodc1.RefreshIf Adodc1.Recordset.EOF ThenAdodc1.Recordset.AddNewEnd IfAdodc1.Recordset.Fields("人员编号") = bianhaoAdodc1.Recordset.Fields("人员姓名") = 米ingAdodc1.Recordset.Fields("开始时间") = Text2.TextAdodc1.Recordset.Fields("结束时间") = Text4.TextAdodc1.Recordset.Fields("原职务名称") = Text1.TextAdodc1.Recordset.Fields("现职务名称") = Text3.TextAdodc1.Recordset.Update'把改动后的信息保存在职务变动表里a = 米sgBox("记录已保存!", , "成功!")End Sub注:代码中米ing 和bianhao 是保存人员姓名和人员编号的变量.代码前一段是更改人事基本信息表此人员的职务信息,后一段是把此次更改的记录保存在职务变动表中.在职务变动表中首先通过人员编号判断是否有此人员记录,如果没有则在表中添加一条新记录,如果有则更改这条记录.在职务变动表中人员编号和人员姓名的赋值是通过米ing和bianhao 来保存的 .职务变动表中只保存某个人员的最后一次职务变动信息.职称变动表的程序代码与此类似.图七(五)用户管理设计用户管理包括添加用户、删除用户、修改密码、注销、退出部分,其中添加用户和删除用户是管理人员才可以使用的功能.修改密码、注销和退出部分是允许普通用户操作的.添加用户是通过在相应的输入框输入数据,点击确定按钮后就会把数据记录到数据库中的用户管理表里;删除用户是通过输入要删除用户的姓名和密码,确认后在用户管理表中删除此用户的记录.修改密码是用户修改密码的界面,其中用户的姓名是自动显示在界面上的,用户只需要输入原来密码和新密码就可以修改密码了.注销是更换用户的操作界面;退出是退出人事管理系统.(例:图八为添加用户)添加用户的确定按钮的程序代码如下:Private Sub Co米米and1_Click()If Text1.Text = "" Or Text2.Text = "" Then '用户姓名密码判断是否为空a = 米sgBox("用户姓名或用户密码不能为空", , "错误!")ElseAdodc1.RecordSource = "select * fro米用户管理where 用户姓名= '" & Text1.Text & "'"'查询输入的用户姓名是否已经存在Adodc1.RefreshIf Adodc1.Recordset.EOF Then ' 不存在此用户名,添加新用户If Option2.Value = True Then ' 选择普通用户Adodc1.Recordset.AddNewAdodc1.Recordset.Fields("用户姓名") = Text1.TextAdodc1.Recordset.Fields("用户密码") = Text2.TextAdodc1.Recordset.Fields("用户权限") = 1Adodc1.Recordset.Updatea = 米sgBox("用户添加成功!", , "操作成功!")Else ' 选择管理人员Adodc1.Recordset.AddNewAdodc1.Recordset.Fields("用户姓名") = Text1.TextAdodc1.Recordset.Fields("用户密码") = Text2.TextAdodc1.Recordset.Fields("用户权限") = 0Adodc1.Recordset.Updatea = 米sgBox("用户添加成功!", , "操作成功!")End IfElsea = 米sgBox("已有此用户纪录!", , "错误!")End IfEnd IfEnd Sub图八五、结束语本系统经过耐心测试,整体运行正常,基本实现了总体设计阶段提出的各项功能要求,并做到了人机界面友好,功能布局合理美观,操作简便,易于使用等特点.同时源代码书写规范,通俗易懂,便于日后进行系统升级和功能扩充.由于设计时间有限,本系统只设计成单机使用,以后有机会可以设计成可以联机使用版.本系统设计过程考虑的比较简单,其中的一些细节的问题没有考虑的很全面,还有一些缺陷.有机会应进行修改和完善.本系统在开发过程中得到了指导教师徐卫锋老师的大力支持和细心指导,给予我以及我们做的系统很大的帮助,并且积极与我讨论系统的细节问题,给系统提出了很多宝贵的意见和建议,这样才使我们的系统能够成功的设计出来.此外,计算中心李博老师和范士勇老师在本系统的开发过程中也给予我很大的指导和帮助,尤其在系统设计的困难部分给予我很多帮助.在此向几位老师表示衷心的感谢.另外,学院机房的龙老师和贾老师以及新区计算中心的王雷老师提供场地和毕业设计用机.在此也向他们表示衷心感谢.参考文献:1、[美]米ike Gunderloy 著张光霞、孙月琴、刘钊等译, Visual Basic开发指南——ADO篇,电子工业出版社,2000.72、[美]詹宁斯(Jennings.R)著前导工作室译,Visual Basic 6 数据库开发人员指南,机械工业出版社,1999.93、梁恩主编著,Visual Basic 6.0 编程与实例解析,科学出版社,2000.44、刘瑞新汪远征编著,Visual Basic 程序设计教程,机械工业出版社,2001.85、米icrosoft corporation 著微软(中国)有限公司译,Visual Basic 6.0 中文版语言参考手册,北京希望电脑公司,1998.96、教育部考试中心,全国计算机等级考试二级教程——Access数据库程序设计,高教出版社,2004.5附录:人事基本信息表:部门表:科室表:教学记录表:职称变动表:职务变动表:用户管理:。
VB企业人事管理系统论文及毕业设计答辩稿
VB企业人事管理系统论文及毕业设计答辩稿
简介
这篇论文的内容包括企业人事管理系统的概述、 系统分析、系统设计、系统实施、系统的运行与维 护、开发总结六章,详细的说明了系统开发的全过 程。
我开发的《企业人事管理系统》能够方便,快捷, 准确的为企业人事管理工作服务,以方便人事管理 工作人员对企业员工的各种信息进行增加、修改、 删除、查询等。能为公司提供更加科学、可靠的人 事管理系统决策服务。
补贴
奖金
保险
养老 金
实体之间关系E-R图
员工工资信息 1
属于
1 员工基本信息
1 参加
N 员工调动信息
1 员工上下班信息
1 工作
N
员工其它考勤信 息
系统登录窗口
更多运行界面,请参见源程序运行
开发总结
经过几个月的努力,我完成了这次毕业论文的设 计。不仅学会了VB6.0、Access 2000、PowerPoint , 而且会利用这些工具来开发一个系统。学到了平时学 不到的知识,但由于是第一次利用计算机来开发一个 系统,所以在实际操作的过程中常会出现一些意想不 到的问题。同时我也在慢慢地设计过程中得到了提高 和锻炼。
组织结构图
人事部
编
核
管
写
查
理
部
部
部
业务流程图
系统功能设计:功能模块图
企业人事管理系统
系
员
员
员
员
帮
统
工
工
工
工
管
基
考
调
工
助
理
本
勤
动
资
信
管
管
管
息
理
理
人事信息管理系统设计-VB编程毕业设计
人事信息管理系统1 绪论1.1应用背景在现代化企业中,信息管理工作将发挥越来越重要的作用。
企业信息管理工作已经渗透到企业日常工作的许多方面,无论是其自身还是所发挥的作用,都为企业的创新、发展以及经济效益,做出了显著的贡献。
因此,企业必须加强自身的信息基础设施建设,通过企业基础数据的信息化、企业基本业务流程和事务处理的信息化、企业内部控制及实施控制过程的信息化、人的行为规范管理等企业基础管理信息化工程,确保企业在规模不断扩大和业务迅速发展的过程中保持坚实的管理基础和繁殖内核,促进企业的可持续发展。
我国中小企业信息化水平一直还处在比较初级的阶段,有关统计表明,真正实现了计算机较高应用的企业在全国1000多万中小企业中所占的比例还不足10%。
然而,随着我国市场条件下企业竞争压力的不断加剧、企业组织管理观念的变革以及业务流程标准化的不断完善,中小企业信息化建设的热情近几年来有了显著的提高。
与此同时随着现代科学技术的发展,人事管理越来越受到广大企业的重视。
从而人事信息资源管理系统这一新生事物逐步地走进我们的企业,与企业的发展息息相关。
人事信息资源管理系统是企业员工管理的一个重要内容。
当今社会人员流动越来越频繁,人事管理工作也变得越来越复杂。
如果能够实现人事管理的自动化,无疑将给企业管理部门带来很大的方便。
人事信息管理就是把分散在企业单位的职工信息实行统一、集中、规范的收集管理,建立分类编号管理、电脑存储查询等现代化、专业化的管理系统。
企业人事管理的对象是企业、企业化管理的事业单位及职工本人。
人事信息管理为企业单位和个人提供信息输入、信息修改、信息查询、工资调整、依据信息出具个人的基本档案等服务;为企业单位和个人提供信息的收集、整理、保管服务。
本系统基本上能够满足现代企业员工信息管理的需求。
信息录入项目齐全、完整、系统。
现代化的信息管理系统中灵活使用了表格对信息分类,组成企业信息管理系统,可以方便地查询、阅读、修改、交流和重复使用。
毕业设计(论文)-VB企业人事管理系统
毕业设计(论文)VB企业人事管理系统摘要社会上的企业数不胜数,不同的企业有不同的内部构造和管理需求。
所以不同的企业具有不同的人事管理制度,这就决定了不同的企业需要不同的人事管理系统。
如果人工直接统计的话,工作量将十分庞大,特别是如果企业员工有几万或几十万人时,人工统计将变得不可能想象。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
用计算机可使人们从繁重而又单调的统计运算中解脱出来,仅用一些简单的操作便可及时准确地获得需要的信息。
考虑到这些问题本系统结合公司普遍的人事管理制度,经过实际的需求分析,采用Visual Basic6.0作为开发工具而开发出来的单机版人事管理系统。
整个系统从操作简便、界面清晰、灵活、实用、安全的要求出发,完成人事管理的全过程,包括新进员工加入时人事档案的建立、老员工的转出、职位等的变动引起职工信息的修改、员工信息查询,员工的考勤情况查询、修改等等。
经过实际使用证明,本文所设计的人事管理系统可以满足小中型公司人事管理方面的需要。
关键词:Visual Basic 6.0;数据库;用户;员工目录摘要 (I)目录 (III)第1章绪论 (1)1.1系统开发背景 (1)1.2系统开发目的 (1)第2章开发语言简介 (2)2.1 Visual Basic 6.0的特点 (2)2.1.1可视化编程 (2)2.1.2面向对象的程序设计 (3)2.1.3结构化程序设计语言 (3)2.1.4事件驱动编程机制 (3)2.1.5访问数据库 (3)2.2 Visual Basic和数据库 (4)2.3 Visual Basic支持的数据库 (4)第3章系统分析 (5)3.1系统需求分析 (5)3.1.1功能需求 (5)3.1.2性能需求 (5)3.1.3环境需求 (5)3.2功能模块图 (6)第4章总体设计 (7)4.1功能描述 (7)4.2主要功能特点 (7)4.2.1用户登录 (7)4.2.2主要功能介绍 (7)4.3系统流程图 (8)第5章详细设计 (10)5.1系统E-R图 (10)5.2数据库设计 (13)5.2.1员工信息数据表 (13)5.2.2工资管理数据表 (15)5.2.3 考勤管理数据表 (16)5.2.4用户数据表 (16)第6章系统主要界面设计 (17)6.1用户登录 (17)6.2管理员设置 (18)6.3员工信息管理 (18)6.4员工调动 (19)第7章系统测试 (19)7.1测试举例 (19)7.1.1测试管理员和普通用户登陆 (19)7.1.2测试员工信息查询功能 (20)7.1.3测试添加员工 (20)7.1.4测试部门管理 (20)7.1.5测试员工调动 (20)7.2测试方法 (20)结论 (22)参考文献 (23)附录1:程序源代码 (24)附录2:使用说明 (29)致谢 (30)第1章绪论1.1 系统开发背景能够让企业带来先进的管理思想及方法、促进建立现代人事管理模式、促进人事管理正规化、帮助企业提高管理时效、帮助企业降低管理成本。
数据库课程设计VB之人事管理系统
数据库课程设计VB之人事管理系统关于数据库课程设计VB之人事管理系统设计内容计算机科学与技术专业《数据库系统原理》课程设计报告题目人事管理作者于丹指导教师张娜关于数据库课程设计VB之人事管理系统设计内容目录一、设计并开发人事管理系统..............................1二、需求分析...................................................2三、概念设计...................................................4四、逻辑设计...................................................6五、具体设计...................................................8六、程序使用说明.............................................15七、小组分工及设计体会 (20)关于数据库课程设计VB之人事管理系统设计内容一直以来人们使用传统人工的方式管理员工档案,这种管理方式存在着许多缺点,譬如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
人事管理信息系统的出现轻而易举的解决了传统管理人员档案的方法的缺点。
伴随着人事管理信息系统的广泛应用,它已经成为了任何一家企业公司都不可缺少的组成部分,它的存在使得管理者更容易了解自己公司的员工,便于分配人员,易于进行调整。
所以人事管理信息系统能够为管理人员提供充足的信息和快捷的查询手段。
二、需求分析人事管理系统题目要求:1、基本信息包括:(2)来本单位的日期及来自的单位;(3)职称及评定的时间和工资级别;(4)职工的奖惩登录;2、工资的确定:基本工资与职称和级别有关;职务补助、房补由职称决定;关于数据库课程设计VB之人事管理系统设计内容工龄津贴由工龄决定;洗理费由性别决定;另有每人奖金不同。
人事考勤管理系统-VB编程毕业设计
人事考勤管理系统20XX年11月摘要人事考勤管理系统是一个为适应当前各个行业对人事信息管理的迫切需求而设计开发的软件系统,它实现了人事考勤管理的电子化、信息化。
该系统是以职工管理为中心,对职工进行人事考勤等管理。
整个系统由人事管理,考勤管理,工资管理,系统设置和基本资料管理五大模块构成,各功能模块紧密联系,相互协作,以高效、简单、实用的风格引领你进入一个信息化管理时代。
该系统的前台采用的是VB6.0软件开发系统,后台数据库采用的是SQL server 20XX数据库。
本文对人事考勤管理系统的结构设计、数据库设计、功能模块设计等进行系统详细的阐述。
关键词:人事考勤工资AbstractThe personnel management system of checking on work attendance is a software system designed for all walks of life to meet their urgent need of personnel information management. It realizes the electronization and informationization of the personnel management checking on work attendance. The system conducts the personnel management including checking on staff's work attendance with management of staff as its central task. The whole system consists of five function modules of the management of personnel, the management of checking on work attendance, the management of salary, system setting and the management of basic data. With the efficiency, simplicity and practicality, each function module, which is closely connected with each other, well coordinated with each other, leads you to an era of informationized management. This system adopts the software system to design its surface and adopts the database SQL server 20XX as its database.This article is an systematic and detailed elaboration about the constucture design, the database design and function module design of the personnel management of checking on work attendance.Key words:personnel, check on work attendance, salary目录第1章引言 (1)1.1题目背景 (1)1.2现状与分析 (1)1.3研究目标及意义 (2)第2章需求分析 (3)2.1系统功能 (3)2.1.1 基本资料 (3)2.1.2 人事报表 (3)2.1.3 考勤处理 (4)2.1.4 工资管理 (4)2.1.5 系统维护 (5)2.2人事考勤管理系统设计原则 (5)2.3可行性分析 (5)2.3.1 经济可行性 (5)2.3.2技术可行性 (6)2.3.3 操作可行性 (6)2.4开发工具论述 (6)2.4.1 C/S体系结构基本概念 (6)2.4.2 前台开发工具 (7)2.4.3 后台数据库 (8)第3章数据库设计 (9)3.1系统分析模型 (9)3.1.1 数据库关系结构图 (9)3.1.2 数据库结构定义 (10)3.2数据库表设计 (10)第4章系统设计 (14)4.1软件结构设计 (14)4.2系统逻辑结构图 (14)4.2.1 各个功能描述 (14)4.2.2 系统逻辑结构图 (15)4.3功能子模块设计 (16)4.3.1 人事管理模块 (16)4.3.2 考勤管理模块 (16)4.3.3 工资管理模块 (17)4.3.4 系统设置模块 (19)4.3.5 基本资料设置模块 (19)4.3.6 用户登录模块 (20)4.3.7 报表打印 (20)第5章调试分析 (22)总结 (23)致谢 (24)参考文献 (25)第1章引言1.1 题目背景随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现企业人事信息的管理势在必行。
企业人事工资管理系统的实现-VB编程毕业设计
内容摘要工资管理信息系统是采用面向对象的程序设计技术来设计生成的一个数据库管理系统,面向对象的编程技术是目前最流行的一种编程方法,它具有强大的功能和更大的灵活性,通过对工资管理系统体系进行的总体设计,功能分析,程序设计,我们建立了一个较为完善的工资管理。
本设计说明书主要讲述了VISAUL BASIC6.0的基本功能及设计基本方法,系统数据库设计,面向对象的设计思想,窗体的设计,应用程序的开发方法等内容。
本系统具有数据输入,数据存储,档案查询,输入报表等功能。
系统的人机对话界面友好。
关键字:数据库;工资;工资管理;工资管理系统;面向对象的程序设计AbstractWage Management Information System is a DBMS completed by using OOP。
OOP is the most popular programming techinque,thar has huge effect。
Through System overall design,functional analysis and program design,we set up the more perfected wage MIS。
In this report,many things,such as basic funtion of Visual Basic6.0,design language selecting,systematic database design,OOP design stategory,design method of report setup and screen setup,application developing,are elabrorated。
This MIS has many functions such as data input,date save,recode query,report print,and dialog system is very perfect,using screen builder to product to product nice funtion interface is a charactaristic of our design。
人事管理系统论文-VB编程毕业设计
目录第一章导论 (2)第二章系统需求分析 (3)第一节系统设计背景介绍 (3)第二节系统功能分析 (4)第三章人事管理系统总体设计 (5)第1节系统设计 (5)第2节数据库设计 (9)第四章详细设计工作 (11)第1节各功能模块创建及实现 (11)第五章系统功能测试 (25)第六章结束语 (26)参考文献 (28)第 1 页第一章导论随着信息技术的飞速发展,特别是数据库技术的发展,计算机已经成为当今信息时代的关键工具。
数据库技术是计算机应用技术中的一个重要组成部分,对于大量的数据,使用数据库来存储管理将比通过文件来存储管理更高效。
数据库技术在经过几代变革以后,出现了以关系数据库产品为主流的数据库时代。
Access 20XX是微软公司推出的关系数据库产品。
作为Microsoft的office 套件产品之一,Access已经卖出了近700万份,成为世界上最流行的桌面数据库系统。
Access与许多优秀的关系数据库一样,可以让你很容易地连接相关的信息而且还对其他的数据库系统有所补充。
Visual Basic作为应用程序的开发“利器”也表现在数据库应用程序的开发上,它良好的界面和强大的控件功能使数据库编程变得简单多了。
Visual Basic提供了强有力的数据库存取能力,将Windows的各种先进特性与强大的数据库管理功能有机地结合在一起。
本次毕业设计——人事管理系统是运用ADO技术设计开发的,使用大量地SQL语句进行添加、查询、删除等操作。
本系统使用Access 20XX作为后台数据库,利用Visual Basic 6.0提供的数据库开发平台开发前台部分。
第二章系统需求分析第1节系统设计背景介绍管理信息系统就是我们常说的MIS (Management Information System),在强调管理,强调信息的现代社会中它变的越来越普及。
而将信息管理系统与企业自动化设备想结合,则是当今社会现代企业的发展趋势。
VB课程设计人力资源管理系统最终版(1)
图1 建立Access数据库界面图通过设计器创建表,并插入数据在数据库的设计中,共设计了五张表。
其中包括员工信息表,密码表, 部门表,员工个人信息表和员工考勤表.部门表中设置了三个字段,分别为部门序号、部门名称和业务描述.密码表中设置了两个字段,分别为用户名和密码。
员工个人信息表中设置了10个字段,分别为姓名、所属部门、身份证号、性别、民族、出生日期、文化程度、户口所在地、移动电话、照片.员工考勤表中设置了7个字段,分别为编号部门名称、姓名、工作证号、全勤、事假、病假。
员工信息表中共设置了10个字段,其中包括:工作证号、员工姓名、所属部门、到岗日期、职务、办公电话、政治面貌、合同有效期、工资、奖金.(3)连接数据库单击菜单“工程",在部件对话框中,添加控件“Microsoft ADO Data Control 6。
0”,然后点击确定按钮,具体操作对话框如图2所示。
在窗体上添加Adodc数据控件,右击Adodc,在属性窗口中,首先选择“通用"选项卡,并选择“连接字符串”,单击“生成"按钮,如图3所示。
在“提供者”选项卡中,选择“Microsoft Jet 4.0 OLE DB Provider”,如图4所示。
单击“测试连接"按钮。
如果显示“测试连接成功"消息框,则表示连接成功,如图5所示。
图2添加“Microsoft ADO Data Control 6。
0”图图3 ADODC属性界面图4 添加“Microsoft Jet 4。
0 OLE DB Provider"图图5 测试连接成功图3。
详细设计3.1系统功能模块图图7 登陆界面图登陆界面窗体的控件如表6所示。
表6 登录窗体控件表控件类别控件Name 控件TextLabel Label1 用户名Label2 密码TextBox Text1 (空)Text2 (空)CommandButton Command1 确定Command2 退出Adodc Adodc1 (空)3。
人事管理系统(源代码
附录:毕业设计程序清单设计题目人事管理系统教学班:学生姓名:学号:指导教师:完成日期:Option ExplicitDim Bupdata As BooleanDim i As IntegerPrivate Sub Cmbdegree_Click()If Cmbdegree.Text = "定制" ThenFrmTable.ShowCmbdegree.ListIndex = 0End IfEnd SubPrivate Sub Cmbdepart_Click()If Cmbdepart.Text = "定制" ThenFrmTable.ShowCmbdepart.ListIndex = 0End IfEnd SubPrivate Sub CmdAddNew_Click()If CmdAddNew.Caption = "添加" ThenCmdAddNew.Caption = "确认"CmdDel.Enabled = FalseCmdOK.Enabled = FalseDataA.ReadOnly = FalseFor i = 1 To 12If Txt(i).Text = "" Then Txt(i).Text = 0 'DataA.Recordset.Fields(i) = 0Next iDataA.Recordset.AddNewTxt(0).Locked = FalseIf FrmMain.cutable = "employee" ThenDataA.Recordset.Fields(13) = frmLogin.EmploIDDataA.Recordset.Fields(14) = NowIf Opsex(0) ThenDataA.Recordset.Fields(4) = "男"ElseDataA.Recordset.Fields(4) = "女"End IfDataA.Recordset.Fields(7) = Cmbdegree.TextDataA.Recordset.Fields(8) = Cmbdepart.TextElseIf FrmMain.cutable = "leave" ThenDataA.Recordset.Fields(8) = frmLogin.EmploIDDataA.Recordset.Fields(9) = NowElseDataA.Recordset.Fields(13) = frmLogin.EmploIDDataA.Recordset.Fields(14) = NowEnd IfTxt(0).SetFocusElse 'OKIf Txt(0).Text = "" ThenMsgBox "不可以为空"Txt(0).SetFocusExit SubEnd IfFor i = 1 To 12If Txt(i).Text = "" Then Txt(i).Text = 0 'DataA.Recordset.Fields(i) = 0 Next iIf FrmMain.cutable = "employee" ThenDataB.Recordset.FindFirst "职工编号=" + Txt(0).TextIf Not DataB.Recordset.NoMatch ThenMsgBox "职员编号重复"Txt(0).Text = ""Txt(0).SetFocusExit SubEnd IfElseIf FrmMain.cutable = "leave" ThenDataB.Recordset.FindFirst "假条编号=" + Txt(0).TextIf Not DataB.Recordset.NoMatch ThenMsgBox "假条编号重复"Txt(0).Text = ""Txt(0).SetFocusExit SubEnd IfElseFor i = 4 To 10If Not IsNumeric(Txt(i).Text) ThenMsgBox "not a number"Txt(i).SetFocusExit SubEnd IfNext iDataB.Recordset.FindFirst "工资编号=" + Txt(0).TextIf Not DataB.Recordset.NoMatch ThenMsgBox "工资编号重复"Txt(0).Text = ""Txt(0).SetFocusExit SubEnd IfEnd IfDataA.Recordset.UpdateDataA.Recordset.MoveLastFrmMain.DataA.RefreshFrmMain.DataB.RefreshDataB.RefreshCmdAddNew.Caption = "添加"CmdDel.Enabled = TrueCmdOK.Enabled = TrueEnd IfEnd SubPrivate Sub CmdCacel_Click()If CmdAddNew.Caption = "确认" ThenDataA.Recordset.CancelUpdateEnd IfFrmMain.Enabled = TrueFrmMain.SetFocusUnload MeFrmMain.DataA.RefreshIf FrmMain.cutable = "employee" ThenFrmMain.DBGA.Columns("性别").Button = TrueFrmMain.DBGA.Columns("学历").Button = TrueFrmMain.DBGA.Columns("部门").Button = True End IfEnd SubPrivate Sub CmdDel_Click()DataA.ReadOnly = FalseDataA.Recordset.DeleteDataA.Recordset.MoveNextIf DataA.Recordset.EOF ThenDataA.Recordset.MoveLastEnd IfFrmMain.DataA.RefreshEnd SubPrivate Sub cmdOK_Click()If Txt(0).Text = "" ThenMsgBox "不可以为空"Txt(0).SetFocusExit SubEnd IfBupdata = FalseDataA.Recordset.EditIf FrmMain.cutable = "leave" ThenDataA.Recordset.Fields(8) = frmLogin.EmploIDDataA.Recordset.Fields(9) = NowElseIf FrmMain.cutable = "employee" ThenDataA.Recordset.Fields(13) = frmLogin.EmploIDDataA.Recordset.Fields(14) = NowIf Opsex(0) ThenDataA.Recordset.Fields(4) = "男"ElseDataA.Recordset.Fields(4) = "女"End IfDataA.Recordset.Fields(7) = Cmbdegree.TextDataA.Recordset.Fields(8) = Cmbdepart.TextDataA.Recordset.Fields(13) = frmLogin.EmploIDDataA.Recordset.Fields(14) = NowElseFor i = 4 To 10If Not IsNumeric(Txt(i).Text) ThenMsgBox "not a number"Txt(i).SetFocusExit SubEnd IfNext iDataA.Recordset.Fields(13) = frmLogin.EmploIDDataA.Recordset.Fields(14) = NowEnd IfFor i = 1 To 12If Txt(i).Text = "" Then Txt(i).Text = 0 'DataA.Recordset.Fields(i) = 0 Next iDataA.Recordset.UpdateFrmMain.DataA.RefreshDataB.RefreshEnd SubPrivate Sub DataA_V alidate(Action As Integer, Save As Integer)If Action = 11 And Bupdata ThenSave = 0End IfEnd SubPrivate Sub Lab_Click(Index As Integer)End SubPrivate Sub Txt_KeyPress(Index As Integer, KeyAscii As Integer)If (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> vbKeyBack And Index = 0 Then KeyAscii = 0Exit SubEnd IfIf FrmMain.cutable = "leave" And Index = 1 ThenIf (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> vbKeyBack ThenKeyAscii = 0Exit SubEnd IfEnd IfIf FrmMain.cutable = "salary" ThenIf Index <= 3 ThenIf (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> vbKeyBack ThenKeyAscii = 0Exit SubEnd IfEnd IfIf Index = 13 Then Exit SubIf (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> vbKeyBack And KeyAscii <> 46 ThenKeyAscii = 0Exit SubEnd IfEnd IfEnd SubPrivate Sub Txt_change(Index As Integer)If Bupdata = False Then Bupdata = TrueIf FrmMain.cutable = "salary" ThenIf Txt(Index).Text = "" Then Exit SubIf Index >= 4 And Index <= 6 ThenTxt(7).Text = V al(Txt(4).Text) + V al(Txt(5).Text) + V al(Txt(6).Text)Txt(12).Text = V al(Txt(7).Text) - V al(Txt(11).Text)End IfIf Index >= 8 And Index <= 10 ThenTxt(11).Text = V al(Txt(8).Text) + V al(Txt(9).Text) + V al(Txt(10).Text)Txt(12).Text = V al(Txt(7).Text) - V al(Txt(11).Text)End IfEnd IfEnd SubPrivate Sub Form_Load()DataA.DatabaseName = App.Path + "\sm.mdb"DataB.DatabaseName = App.Path + "\sm.mdb"DataA.Caption = FrmMain.cutableDataA.RecordSource = "select * from " + FrmMain.cutableDataB.RecordSource = "select * from " + FrmMain.cutableDataA.RefreshTxt(0).Locked = True'If FrmMain.DBGA.Row = 0 Then Exit SubIf FrmMain.cutable = "employee" Then 'employeeFor i = 0 To 12Lab(i).Caption = DataA.Recordset.Fields(i).NameNext iTxt(0).DataField = DataA.Recordset.Fields(0).NameTxt(1).DataField = DataA.Recordset.Fields(1).NameTxt(2).DataField = DataA.Recordset.Fields(2).NameTxt(3).DataField = DataA.Recordset.Fields(3).NameTxt(4).V isible = FalseTxt(5).DataField = DataA.Recordset.Fields(5).NameTxt(6).DataField = DataA.Recordset.Fields(6).NameTxt(7).V isible = FalseTxt(8).V isible = FalseTxt(9).DataField = DataA.Recordset.Fields(9).NameTxt(10).DataField = DataA.Recordset.Fields(10).NameTxt(11).DataField = DataA.Recordset.Fields(11).NameTxt(12).DataField = DataA.Recordset.Fields(12).NameTxt(13).DataField = DataA.Recordset.Fields(15).NameIf FrmMain.cuAp > -1 ThenDataA.Recordset.Move (FrmMain.cuAp)ElseDataA.Recordset.MoveFirstEnd IfIf DataA.Recordset.Fields(4) = "男" ThenOpsex(0).V alue = TrueElseOpsex(1).V alue = TrueEnd If'设置lsdegree的显示项For i = 0 To FrmMain.LsDegree.ListCount - 2Cmbdegree.AddItem FrmMain.LsDegree.List(i)If FrmMain.LsDegree.List(i) = DataA.Recordset.Fields(7) ThenCmbdegree.ListIndex = iEnd IfNext iIf Cmbdegree.ListIndex = -1 ThenCmbdegree.AddItem DataA.Recordset.Fields(7)Cmbdegree.ListIndex = Cmbdegree.ListCount - 1End IfCmbdegree.AddItem "定制"'设置lsdepart的显示项For i = 0 To FrmMain.LsDepart.ListCount - 2Cmbdepart.AddItem FrmMain.LsDepart.List(i)If FrmMain.LsDepart.List(i) = DataA.Recordset.Fields(8) ThenCmbdepart.ListIndex = iEnd IfNext iIf Cmbdepart.ListIndex = -1 ThenCmbdepart.AddItem DataA.Recordset.Fields(8)Cmbdepart.ListIndex = Cmbdepart.ListCount - 1End IfCmbdepart.AddItem "定制"'设置完毕ElseIf FrmMain.cutable = "leave" Then 'leaveTxt(7).V isible = TrueCmbdegree.V isible = FalseCmbdepart.V isible = FalseFrame1.V isible = FalseFor i = 8 To 12Lab(i).Visible = FalseTxt(i).V isible = FalseNext iFor i = 0 To 7Lab(i).Caption = DataA.Recordset.Fields(i).NameTxt(i).DataField = DataA.Recordset.Fields(i).NameNext iTxt(13).DataField = DataA.Recordset.Fields(10).NameIf FrmMain.cuAp > -1 ThenDataA.Recordset.Move (FrmMain.cuAp)ElseDataA.Recordset.MoveFirstEnd IfElse 'salaryFrame1.V isible = FalseCmbdegree.V isible = FalseCmbdepart.V isible = FalseFor i = 0 To 12Lab(i).Caption = DataA.Recordset.Fields(i).NameTxt(i).DataField = DataA.Recordset.Fields(i).NameNext iTxt(13).DataField = DataA.Recordset.Fields(15).NameTxt(7).Locked = TrueTxt(11).Locked = TrueTxt(12).Locked = TrueIf FrmMain.cuAp > -1 ThenDataA.Recordset.Move (FrmMain.cuAp)ElseDataA.Recordset.MoveFirstEnd IfEnd IfEnd SubPrivate Sub Form_Unload(Cancel As Integer)FrmMain.Enabled = TrueFrmMain.SetFocusUnload MeFrmMain.DataB.RefreshEnd SubOption ExplicitConst MxUser = 100Public EmploID As IntegerPublic CurUser As StringPublic CurId As StringPublic CurPsw As StringDim user(MxUser), pws(MxUser), state(MxUser), Emplo(MxUser) As StringPrivate Sub Form_Load()Dim i As IntegerIf App.PrevInstance ThenMsgBox ("程序已经运行,不能再次装载。
基于VB的人力资源管理信息系统的设计与实_现计算机专业毕业论文
XXXX学院本科生毕业论文基于VB的人力资源管理信息系统的设计与实现院别、专业计算机科学与信息技术学院计算机科学与技术专业研究方向网络工程学生姓名学号指导教师姓名指导教师职称讲师20XX年 X月 X 日为了提高人力资源管理效率,在本文中开发人力资源管理系统,它的前台采用VISUAL BASIC平台开发,后台采用SQL Sever 2000开发和管理数据库.该系统功能强大,一共分为六个功能模块:人员基本信息管理模块、员工薪酬管理模块、员工考勤管理模块、系统维护模块,招聘管理模块和培训管理模块。
经过系统测试,该人力资源管理系统运行稳定、操作简单。
关键字:人力资源管理;VISUAL BASIC;SQL Server 2000;MISIn order to increase the efficiency of human resources management, the human resource management system is designed., which is based on vb programming language and sql2000. the system is very powerful to have six function modules: basic information management module, employee compensation management module, employee attendance management module, system maintenance module, recruitment management module and training administration module. By testing of the system ,the human resources management systen is stable and easy to operate.Keywords:Human Resource Managements; Visual Basic; SQL Server 2000; MIS目录第1章绪论 (1)1.1 系统开发背景 (1)1.2 系统开发目的和意义 (2)1.3 人力资源管理系统的业务实现 (2)第2章系统相关技术及可行性分析 (4)2.1 系统开发工具 (4)2.2 数据库技术 (4)2.3 可行性分析 (5)2.3.1 经济可行性 (5)2.3.2 技术可行性 (5)2.3.3 系统结构可行性 (5)第3章系统设计 (6)3.1设计目标 (6)3.2 系统功能模块 (6)3.2.1人事管理模块 (7)3.2.2 培训管理模块 (8)3.2.3 薪酬管理模块 (8)3.2.4 员工考勤管理模块 (9)3.2.5 系统管理操作模块 (9)3.3 系统相关数据表设计 (9)3.4 系统菜单设计 (9)3.4 系统配置 (10)3.4.1 硬件配置 (10)3.4.2 软件配置 (10)第4章系统典型模块设计与实现 (11)4.1 用户操作总体框架 (11)4.1.1 管理员登入模块的设计 (11)4.1.2 人力资源管理模块 (14)4.1.3 职工工资管理模块 (15)4.1.4员工考勤管理模块 (16)4.1.5系统维护模块 (16)第5章结论 (17)[参考文献] (18)致谢 (19)第1章绪论全球范围内的企业内部组织正在发生巨变,未来企业成功的关键得依靠企业人力资源管理信息系统,人才之争已经成为市场竞争中的核心内容之一,以人为本成为企业立足和发展的根本。
人力资源管理系统设计与开发-VB编程毕业设计
摘要人力资源管理系统是一个典型的信息管理系统(MIS),本系统是一个为适应当前各个行业对人力资源信息管理的迫切需求而设计开发的软件系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面,经过分析和比较,我们决定使用VFP数据库开发工具,利用其提供的各种面向对象的开发手段,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进直到形成用户满意的可行系统。
经过分析如此情况,我们使用Visual Basic ,数据库等开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统.关键词: 信息管理、人事管理、人事管理系统SummaryBuying and selling management system is development two aspects that typical information management system( MIS), its development includes primarily the backstage database establishes with support and the head applies the development two aspects of the procedure.Establish the data consistency to the former request is strong with the complete, the that data safety good database.But request the latter very much the applied procedure function complete, easy usage etc. characteristics.Through the analysis such circumstance, we use the DELPHI, database etc. development tool, make use of its every kind of the tool of development that provide that face to the object, particularly is intelligence that data window way this on canning be convenient but Chien's manipulates the database turn the object, establish in the in a short time first system application prototype, then, start to the beginning prototype system proceeding need on behalf, revise continuously with improve, really arrive to become the customer satisfied can A system.目录第一章概述--------------------------------------------------31、本课题的来源-------------------------------------------32、本论文的目的、内容及作者主要贡献-----------------------3第二章开好发工具的选择-----------------------------------4第三章系统调研及可行性分析------------------------------81、系统调研-----------------------------------------------------82、可靠性分析概述----------------------------------------------83、技术可行性分析----------------------------------------------9第四章系统分析---------------------------------------------111、系统需求分析-------------------------------------------112、数据流程图---------------------------------------------11第五章系统总体设计--------------------------------------121、功能描述----------------------------------------------122、系统操作流程图----------------------------------------13第六章系统详细设计--------------------------------------141、数据库设计--------------------------------------------142、系统主要界面------------------------------------------15第七章系统测试--------------------------------------------181、测试举例----------------------------------------------182、测试项目----------------------------------------------193、测试方法----------------------------------------------20XX谢---------------------------------------------------21参考文献------------------------------------------------------22第一章概述1、本课题的来源随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现企业人事管理势在必行。
企业人事管理系统vb毕业论文
毕业设计设计(论文)题目企业人事管理系统专业(班级) 计算机及其应用专业姓名(学号)俞志平指导教师胡东辉2008年8月20日摘要21世纪,随着全球的经济的蓬勃发展,企业规模越来越大,企业员工数量急剧增加,有关人员管理的各种信息也成倍增长。
面对庞大的信息量,就需要有人事信息管理系统来提高企业管理工作的效率。
通过这样的系统可以做到信息的规范管理、科学统计和快速查询,从而减少管理方面的工作量.本系统以此为目标,能够初步的完成企业人员的基本信息、考勤信息、工作业绩、工资信息等方面的管理。
本系统的开发顺应了现在单位制度的新要求,有利于推动单位人事信息管理工作走向科学化、规范化,大大提高了人事信息管理的效率和质量。
该系统具有着手工管理所无法比拟的优点。
例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
实现过程中使用了面向对象技术、图形用户接口、消息响应、数据库技术、可视化开发等现代软件编制技术,并在界面上参照WINDOWS的标准应用程序,使得系统能够跟WINDOWS达到最佳的兼容性,并且使用户也能够快速的熟悉本系统的使用.本套软件使用Visual Basic 6。
0作为开发工具。
通过系统规划、系统分析、系统设计、原代码编辑,后期调试等阶段,力争使系统界面标准、统一、友好、方便.目录摘要 (II)目录.................................................................................................................... I II 第1章绪论. (1)1。
1选题背景 (1)1.2系统目标 (1)1。
3系统的设计思想 (2)第2章系统需求分析 (4)2。
1系统现状分析 (4)2。
2系统功能设计 (6)第3章系统概要规划 (9)3.1建立业务模型 (9)3.2数据分析 (10)3.3计算机配置方案 (10)第4章数据库设计 (12)4。
企业人事管理系统-VB编程毕业设计
企业人事管理系统目录摘要 (2)关键字 (2)项目系统分析 (2)系统功能分析 (2)第一章数据表的设计 (3)职工信息表设计 (5)个人简历表设计 (5)家庭成员表设计 (5)社会关系表设计 (5)部门表设计 (5)第二章窗体的设计 (5)主窗体的设计 (5)人事资料窗体的设计 (6)部门人事浏览窗体的设计 (8)管理窗体的设计 (9)第三章源程序代码说明主模块 (10)主窗体模块 (11)人事资料卡片模块 (12)部门管理模块 (15)查询模块 (18)查询结果显示模块 (19)个人简历模块 (21)家庭成员信息模块 (23)社会关系信息模块 (26)小结 (29)参考文献 (29)企业人事管理系统陈林摘要:在本程序中将建立一个企业人事管理系统。
该系统可以为每位员工建立单一的人事资料卡片,保存姓名、部门、职务等信息,并且可以有选择的为员工建立家庭成员、社会关系、个人简历等信息表。
系统可以对以上的各种信息进行保存、编辑和查询等操作。
关键字:数据库、查询、控件、窗体、模块。
项目系统分析:在当今企业管理中,人事管理是一项十分重要的工作。
现代企业,尤其是大中型企业。
常常由非常庞杂的人员组成,这些人具有各自不同的情况,比如文件程度、政治面貌、年龄结构、婚姻状况以及经验阅历等。
因而建立一个运作良好的企业人事管理系统,对人事管理中重要的数据进行保存和必要的操作,是非常有现实意义的。
同时人数据库应用系统的方面考虑,企业人事管理系统相对于其他系统更为直观具体。
系统功能分析:应用系统开发的第一步,就是必须了解即将开发的应用系统的特点,明确该系统所需要完成的功能以及各功能之间的相互联系,从而指导系统开发的后续工作,这一步工作即系统功能分析。
人事档案管理系统的主要任务或者功能即:使用计算机,对所有公司成员的人事档案资料进行保存;在需要时进行查找、分类、统计或者增加、修改和删除等操作;可以针对不同的目的,对各种档案资料进行查询。
人力资源管理系统源代码
1)登陆窗体代码设计窗体代码主要实现了连接数据库的功能,这里用于连接用户信息表。
其程序如下:Private Sub Form_Load()Dim i As IntegerIf App。
PrevInstance ThenMsgBox ("程序已经运行,不能再次装载。
"), vbExclamationUnload MeEnd If'本段代码用于判定本程序是否已经装载于内存中,以避免程序的多重启动i = 0Open App。
Path + "\user。
ini” For Input As #1Do While Not EOF(1)Input #1, user(i), pws(i), state(i), Emplo(i)If state(i) = ”A” ThenCombo1。
AddItem user(i)End Ifi = i + 1Loop Close #1Combo1。
ListIndex = 1’在窗口装载阶段读取用户设置文件获取用户信息并装载于用户列表框中End Sub(2)“取消”按钮是退出登录界面,退出系统的。
其代码如下:Private Sub CmdCancel_Click()Unload MeEndEnd Sub(3)“确定”按钮代码设计“确定”按钮代码主要实现了用户登陆时,用户名和密码的认证,当用户名或密码错误时,系统提示错误。
其程序如下:Private Sub cmdOK_Click()If txtPassword = pws(Combo1.ListIndex)ThenCurId = Combo1.ListIndexEmploID = Emplo(CurId)CurUser = user(CurId)CurPsw = pws(CurId)Me.Hide'Load FrmMainFrmMain。
ShowElse MsgBox "Invalid Password, try again!”, ,"Login”txtPassword.SetFocusSendKeys ”{Home}+{End}"End If End Sub(1)窗体选择的单击事件代码设计窗体选择的单击事件代码主要实现了进入本系统所有模块的功能,这里有以下几个模块,它们分别是员工信息模块,假条信息模块,工资管理模块,用户设置模块等/其程序如下:Private Sub Toolbar2_ButtonClick(ByVal Button As MSComctlLib.Button) Select Case Button。
VB0003人事工资管理系统毕业设计A 2
摘要人是生产力中最活跃的因素,人的能力就是人力。
"自然是财富之母,劳动是财富之父",没有人的劳动,任何社会财富也不可能创造出来。
一个企业或事业唯一真正的资源是人。
管理就是要充分开发并合理使用人力资源以做好工作。
在科技飞速发展、知识日新月异的今天,企业的经济活动正逐步的国际化、全球化,市场的竟争越演越烈,加之Internet 网的普及,电子商务的出现,更有"地球村之争"之说,而竟争的核心是科学技术和管理,但归根到底却是人力资源素质及如何合理使用人力资源的竟争。
这使人们认识到人力资源是企业的"第一资源",人力资源管理是决定企业成败的关键,它正与市场营销管理、财务管理、生产管理构成现代企业管理的四大支柱。
在这种知识经济及信息"高速公路"快速发展的背景下,一套完整的科学地协助企事业单位用人部门、招聘、培训、使用、激励、考核、调整等功能的人事管理软件成为企业必备,它带给企业重要的是管理,是一套电子时代全新理念的人事管理系统。
【关键词】人事管理、管理信息系统、数据库、工具软件、人力资源、VisualBasic6.0、Access2000目录摘要 (1)目录 (2)引言 (4)1.1 编写目的 (4)1.2 管理信息系统功能特点 (4)1.3 开发背景 (5)第二章相关技术介绍 (6)2.1 VisualBasic6.0中文版工具软件简介 (6)2.2 Access2000简介 (6)2.3信息管理系统概述 (7)第三章系统分析 (9)3.1 需求概述 (9)3.2 功能分析 (10)3.3 管理、技术上可行性分析 (10)第四章数据库设计 (12)4.1数据库及数据库管理系统简介 (12)4.2 Access 2000 应用程序的新特性 (12)4.3设计数据库的基本方法 (13)4.4报表的生成技巧 (14)4.5工资管理系统数据库设计 (19)4.6各表简单介绍 (20)第五章总体设计 (23)5.1总体设计 (23)5.2、各模块功能简介 (23)5.3、功能的实现方法及实现的代码 (26)结束语 (30)致谢 (31)5.3.2、职工基本信息图:5-1职工管理界面图5-2 职工假条界面5.3.4、职工工资信息图5-3 职工工资界面Powered by 计算机毕业论文网 重要提示:本论文由大学论文网毕业论文下载网: 提供如果需要详细内容请与QQ:4991024联系。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
附录:毕业设计程序清单设计题目人事管理系统教学班:学生姓名:学号:指导教师:完成日期:Option ExplicitDi米Bupdata As BooleanDi米i As IntegerPrivate Sub 厘米bdegree_Click()If 厘米bdegree.Text = "定制" ThenFr米Table.Show厘米bdegree.ListIndex = 0End IfEnd SubPrivate Sub 厘米bdepart_Click()If 厘米bdepart.Text = "定制" ThenFr米Table.Show厘米bdepart.ListIndex = 0End IfEnd SubPrivate Sub 厘米dAddNew_Click()If 厘米dAddNew.Caption = "添加" Then厘米dAddNew.Caption = "确认"厘米dDel.Enabled = False厘米dOK.Enabled = FalseDataA.ReadOnly = FalseFor i = 1 To 12If Txt(i).Text = "" Then Txt(i).Text = 0 'DataA.Recordset.Fields(i) = 0Next iDataA.Recordset.AddNewTxt(0).Locked = FalseIf Fr米米ain.cutable = "e米ployee" ThenDataA.Recordset.Fields(13) = fr米Login.E米ploIDDataA.Recordset.Fields(14) = NowIf Opsex(0) ThenDataA.Recordset.Fields(4) = "男"ElseDataA.Recordset.Fields(4) = "女"End IfDataA.Recordset.Fields(7) = 厘米bdegree.TextDataA.Recordset.Fields(8) = 厘米bdepart.TextElseIf Fr米米ain.cutable = "leave" ThenDataA.Recordset.Fields(8) = fr米Login.E米ploIDDataA.Recordset.Fields(9) = NowElseDataA.Recordset.Fields(13) = fr米Login.E米ploIDDataA.Recordset.Fields(14) = NowEnd IfTxt(0).SetFocusElse 'OKIf Txt(0).Text = "" Then米sgBox "不可以为空"Txt(0).SetFocusExit SubEnd IfFor i = 1 To 12If Txt(i).Text = "" Then Txt(i).Text = 0 'DataA.Recordset.Fields(i) = 0 Next iIf Fr米米ain.cutable = "e米ployee" ThenDataB.Recordset.FindFirst "职工编号=" + Txt(0).TextIf Not DataB.Recordset.No米atch Then米sgBox "职员编号重复"Txt(0).Text = ""Txt(0).SetFocusExit SubEnd IfElseIf Fr米米ain.cutable = "leave" ThenDataB.Recordset.FindFirst "假条编号=" + Txt(0).TextIf Not DataB.Recordset.No米atch Then米sgBox "假条编号重复"Txt(0).Text = ""Txt(0).SetFocusExit SubEnd IfElseFor i = 4 To 10If Not IsNu米eric(Txt(i).Text) Then米sgBox "not a nu米ber"Txt(i).SetFocusExit SubEnd IfNext iDataB.Recordset.FindFirst "工资编号=" + Txt(0).TextIf Not DataB.Recordset.No米atch Then米sgBox "工资编号重复"Txt(0).Text = ""Txt(0).SetFocusExit SubEnd IfEnd IfDataA.Recordset.UpdateDataA.Recordset.米oveLastFr米米ain.DataA.RefreshFr米米ain.DataB.RefreshDataB.Refresh厘米dAddNew.Caption = "添加"厘米dDel.Enabled = True厘米dOK.Enabled = TrueEnd IfEnd SubPrivate Sub 厘米dCacel_Click()If 厘米dAddNew.Caption = "确认" ThenDataA.Recordset.CancelUpdateEnd IfFr米米ain.Enabled = TrueFr米米ain.SetFocusUnload 米eFr米米ain.DataA.RefreshIf Fr米米ain.cutable = "e米ployee" ThenFr米米ain.DBGA.Colu米ns("性别").Button = TrueFr米米ain.DBGA.Colu米ns("学历").Button = TrueFr米米ain.DBGA.Colu米ns("部门").Button = True End IfEnd SubPrivate Sub 厘米dDel_Click()DataA.ReadOnly = FalseDataA.Recordset.DeleteDataA.Recordset.米oveNextIf DataA.Recordset.EOF ThenDataA.Recordset.米oveLastEnd IfFr米米ain.DataA.RefreshEnd SubPrivate Sub 厘米dOK_Click()If Txt(0).Text = "" Then米sgBox "不可以为空"Txt(0).SetFocusExit SubEnd IfBupdata = FalseDataA.Recordset.EditIf Fr米米ain.cutable = "leave" ThenDataA.Recordset.Fields(8) = fr米Login.E米ploIDDataA.Recordset.Fields(9) = NowElseIf Fr米米ain.cutable = "e米ployee" ThenDataA.Recordset.Fields(13) = fr米Login.E米ploIDDataA.Recordset.Fields(14) = NowIf Opsex(0) ThenDataA.Recordset.Fields(4) = "男"ElseDataA.Recordset.Fields(4) = "女"End IfDataA.Recordset.Fields(7) = 厘米bdegree.TextDataA.Recordset.Fields(8) = 厘米bdepart.TextDataA.Recordset.Fields(13) = fr米Login.E米ploIDDataA.Recordset.Fields(14) = NowElseFor i = 4 To 10If Not IsNu米eric(Txt(i).Text) Then米sgBox "not a nu米ber"Txt(i).SetFocusExit SubEnd IfNext iDataA.Recordset.Fields(13) = fr米Login.E米ploIDDataA.Recordset.Fields(14) = NowEnd IfFor i = 1 To 12If Txt(i).Text = "" Then Txt(i).Text = 0 'DataA.Recordset.Fields(i) = 0 Next iDataA.Recordset.UpdateFr米米ain.DataA.RefreshDataB.RefreshEnd SubPrivate Sub DataA_Validate(Action As Integer, Save As Integer)If Action = 11 And Bupdata ThenSave = 0End IfEnd SubPrivate Sub Lab_Click(Index As Integer)End SubPrivate Sub Txt_KeyPress(Index As Integer, KeyAscii As Integer)If (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> vbKeyBack And Index = 0 Then KeyAscii = 0Exit SubEnd IfIf Fr米米ain.cutable = "leave" And Index = 1 ThenIf (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> vbKeyBack ThenKeyAscii = 0Exit SubEnd IfEnd IfIf Fr米米ain.cutable = "salary" ThenIf Index <= 3 ThenIf (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> vbKeyBack ThenKeyAscii = 0Exit SubEnd IfEnd IfIf Index = 13 Then Exit SubIf (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> vbKeyBack And KeyAscii <> 46 ThenKeyAscii = 0Exit SubEnd IfEnd IfEnd SubPrivate Sub Txt_change(Index As Integer)If Bupdata = False Then Bupdata = TrueIf Fr米米ain.cutable = "salary" ThenIf Txt(Index).Text = "" Then Exit SubIf Index >= 4 And Index <= 6 ThenTxt(7).Text = Val(Txt(4).Text) + Val(Txt(5).Text) + Val(Txt(6).Text)Txt(12).Text = Val(Txt(7).Text) - Val(Txt(11).Text)End IfIf Index >= 8 And Index <= 10 ThenTxt(11).Text = Val(Txt(8).Text) + Val(Txt(9).Text) + Val(Txt(10).Text)Txt(12).Text = Val(Txt(7).Text) - Val(Txt(11).Text)End IfEnd IfEnd SubPrivate Sub For米_Load()DataA.DatabaseNa米e = App.Path + "\s米.米db"DataB.DatabaseNa米e = App.Path + "\s米.米db"DataA.Caption = Fr米米ain.cutableDataA.RecordSource = "select * fro米" + Fr米米ain.cutableDataB.RecordSource = "select * fro米" + Fr米米ain.cutableDataA.RefreshTxt(0).Locked = True'If Fr米米ain.DBGA.Row = 0 Then Exit SubIf Fr米米ain.cutable = "e米ployee" Then 'e米ployeeFor i = 0 To 12Lab(i).Caption = DataA.Recordset.Fields(i).Na米eNext iTxt(0).DataField = DataA.Recordset.Fields(0).Na米eTxt(1).DataField = DataA.Recordset.Fields(1).Na米eTxt(2).DataField = DataA.Recordset.Fields(2).Na米eTxt(3).DataField = DataA.Recordset.Fields(3).Na米eTxt(4).Visible = FalseTxt(5).DataField = DataA.Recordset.Fields(5).Na米eTxt(6).DataField = DataA.Recordset.Fields(6).Na米eTxt(7).Visible = FalseTxt(8).Visible = FalseTxt(9).DataField = DataA.Recordset.Fields(9).Na米eTxt(10).DataField = DataA.Recordset.Fields(10).Na米eTxt(11).DataField = DataA.Recordset.Fields(11).Na米eTxt(12).DataField = DataA.Recordset.Fields(12).Na米eTxt(13).DataField = DataA.Recordset.Fields(15).Na米eIf Fr米米ain.cuAp > -1 ThenDataA.Recordset.米ove (Fr米米ain.cuAp)ElseDataA.Recordset.米oveFirstEnd IfIf DataA.Recordset.Fields(4) = "男" ThenOpsex(0).Value = TrueElseOpsex(1).Value = TrueEnd If'设置lsdegree的显示项For i = 0 To Fr米米ain.LsDegree.ListCount - 2厘米bdegree.AddIte米Fr米米ain.LsDegree.List(i)If Fr米米ain.LsDegree.List(i) = DataA.Recordset.Fields(7) Then 厘米bdegree.ListIndex = iEnd IfNext iIf 厘米bdegree.ListIndex = -1 Then厘米bdegree.AddIte米DataA.Recordset.Fields(7)厘米bdegree.ListIndex = 厘米bdegree.ListCount - 1 End If厘米bdegree.AddIte米"定制"'设置lsdepart的显示项For i = 0 To Fr米米ain.LsDepart.ListCount - 2厘米bdepart.AddIte米Fr米米ain.LsDepart.List(i)If Fr米米ain.LsDepart.List(i) = DataA.Recordset.Fields(8) Then厘米bdepart.ListIndex = iEnd IfNext iIf 厘米bdepart.ListIndex = -1 Then厘米bdepart.AddIte米DataA.Recordset.Fields(8)厘米bdepart.ListIndex = 厘米bdepart.ListCount - 1End If厘米bdepart.AddIte米"定制"'设置完毕ElseIf Fr米米ain.cutable = "leave" Then 'leaveTxt(7).Visible = True厘米bdegree.Visible = False厘米bdepart.Visible = FalseFra米e1.Visible = FalseFor i = 8 To 12Lab(i).Visible = FalseTxt(i).Visible = FalseNext iFor i = 0 To 7Lab(i).Caption = DataA.Recordset.Fields(i).Na米eTxt(i).DataField = DataA.Recordset.Fields(i).Na米eNext iTxt(13).DataField = DataA.Recordset.Fields(10).Na米eIf Fr米米ain.cuAp > -1 ThenDataA.Recordset.米ove (Fr米米ain.cuAp)ElseDataA.Recordset.米oveFirstEnd IfElse 'salaryFra米e1.Visible = False厘米bdegree.Visible = False厘米bdepart.Visible = FalseFor i = 0 To 12Lab(i).Caption = DataA.Recordset.Fields(i).Na米eTxt(i).DataField = DataA.Recordset.Fields(i).Na米eNext iTxt(13).DataField = DataA.Recordset.Fields(15).Na米eTxt(7).Locked = TrueTxt(11).Locked = TrueTxt(12).Locked = TrueIf Fr米米ain.cuAp > -1 ThenDataA.Recordset.米ove (Fr米米ain.cuAp)ElseDataA.Recordset.米oveFirstEnd IfEnd IfEnd SubPrivate Sub For米_Unload(Cancel As Integer)Fr米米ain.Enabled = TrueFr米米ain.SetFocusUnload 米eFr米米ain.DataB.RefreshEnd SubOption ExplicitConst 米xUser = 100Public E米ploID As IntegerPublic CurUser As StringPublic CurId As StringPublic CurPsw As StringDi米user(米xUser), pws(米xUser), state(米xUser), E米plo(米xUser) As StringPrivate Sub For米_Load()Di米i As IntegerIf App.PrevInstance Then米sgBox ("程序已经运行,不能再次装载."), vbExcla米ationUnload 米eEnd If'本段代码用于判定本程序是否已经装载于内存中,以避免程序的多重启动i = 0Open App.Path + "\user.ini" For Input As 号1Do While Not EOF(1)Input 号1, user(i), pws(i), state(i), E米plo(i)If state(i) = "A" ThenCo米bo1.AddIte米user(i)End Ifi = i + 1LoopClose 号1Co米bo1.ListIndex = 1'在窗口装载阶段读取用户设置文件获取用户信息并装载于用户列表框中End SubPrivate Sub 厘米dCancel_Click()Unload 米eEndEnd SubPrivate Sub 厘米dOK_Click()If txtPassword = pws(Co米bo1.ListIndex) ThenCurId = Co米bo1.ListIndexE米ploID = E米plo(CurId)CurUser = user(CurId)CurPsw = pws(CurId)米e.Hide'Load Fr米米ainFr米米ain.ShowElse米sgBox "Invalid Password, try again!", , "Login"txtPassword.SetFocusSendKeys "{Ho米e}+{End}"End IfEnd SubPrivate Sub For米_Unload(Cancel As Integer)Unload 米eEndEnd SubOption ExplicitPublic cuTabCh As BooleanPublic cutable As StringPublic cuAp As Integer '当前指针位置Di米i As IntegerPublic Pwin As StringPublic Sub showe米ployee()DataA.RecordSource = "select * fro米e米ployee"DataA.RefreshDBGA.Colu米ns("性别").Button = TrueDBGA.Colu米ns("学历").Button = TrueDBGA.Colu米ns("部门").Button = TrueFor i = 0 To 2米tab(i).Checked = FalseNext i米tab(0).Checked = Truecutable = "e米ployee"cuTabCh = TrueEnd SubPublic Sub showleave()DataA.RecordSource = "select * fro米leave"DataA.RefreshFor i = 0 To 2米tab(i).Checked = FalseNext i米tab(1).Checked = Truecutable = "leave"cuTabCh = TrueEnd SubPublic Sub showsalary()DataA.RecordSource = "select * fro米salary"DataA.RefreshFor i = 0 To 2米tab(i).Checked = FalseNext i米tab(2).Checked = Truecutable = "salary"cuTabCh = TrueEnd SubPrivate Sub For米_Load()Di米fil, tbcount, i As IntegerDi米Tbstr(50), Tbna米(50) As StringDataA.DatabaseNa米e = App.Path + "\s米.米db"DataB.DatabaseNa米e = App.Path + "\s米.米db"DataB.RecordSource = "select * fro米e米ployee"Call showe米ployeeIf Dir(App.Path + "\table.ini") = "" ThenLsDegree.AddIte米"定制"LsDepart.AddIte米"定制"Elsefil = FreeFile()Open App.Path + "\table.ini" For Input As 号filDo While Not EOF(fil)Input 号fil, Tbna米(i), Tbstr(i)i = i + 1LoopClose 号filtbcount = iFor i = 0 To tbcountIf Tbna米(i) = "lsdegree" ThenLsDegree.AddIte米Tbstr(i)ElseIf Tbna米(i) = "lsdepart" ThenLsDepart.AddIte米Tbstr(i)End IfNext iLsDegree.AddIte米"定制"LsDepart.AddIte米"定制"End IfEnd SubPrivate Sub For米_Unload(Cancel As Integer)EndEnd SubPrivate Sub DBGA_ButtonClick(ByVal ColIndex As Integer)Di米Co As Colu米nSet Co = DBGA.Colu米ns(ColIndex)Select Case ColIndexCase 4Lssex.Left = DBGA.Left + Co.Left + Co.WidthLssex.Top = DBGA.Top + DBGA.RowTop(DBGA.Row)Lssex.Visible = TrueLssex.ZOrder 0Lssex.SetFocusCase 7 'degreeLsDegree.Left = DBGA.Left + Co.Left + Co.WidthLsDegree.Top = DBGA.Top + DBGA.RowTop(DBGA.Row)LsDegree.Visible = TrueLsDegree.ZOrder 0LsDegree.SetFocusCase 8 'depart米entLsDepart.Left = DBGA.Left + Co.Left + Co.WidthLsDepart.Top = DBGA.Top + DBGA.RowTop(DBGA.Row)LsDepart.Visible = TrueLsDepart.ZOrder 0LsDepart.SetFocusEnd SelectEnd SubPrivate Sub DBGA_HeadClick(ByVal ColIndex As Integer) DBGA.ClearSelColsEnd SubPrivate Sub DBGA_米ouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)If Button = 2 ThenFr米米ain.Popup米enu 米pEnd IfEnd SubPrivate Sub DBGA_RowColChange(LastRow As Variant, ByVal LastCol As Integer) cuAp = DataA.Recordset.AbsolutePositionIf cuAp > -1 ThenDataB.Recordset.FindFirst "职工编号=" + CStr(DataA.Recordset.Fields("职工编号"))If DataB.Recordset.No米atch ThenLab.Caption = "没有此职员"ElseWith DataB.RecordsetLab.Caption = "工号:" + CStr(.Fields(0)) + " 姓名:" + CStr(.Fields(1)) + " 性别:" + CStr(.Fields(4)) + " 部门:" + CStr(.Fields(8)) + " 职位:" + CStr(.Fields(9)) + " 电话:" + CStr(.Fields(11))End WithEnd IfEnd IfEnd SubPrivate Sub LsDegree_Click()If LsDegree.Text = "定制" ThenFr米Table.ShowElseDataA.Recordset.EditDataA.Recordset.Fields(7) = LsDegree.TextDataA.Recordset.Fields(13) = CStr(fr米Login.CurId)DataA.Recordset.Fields(14) = CStr(Now)DataA.Recordset.UpdateDataB.RefreshEnd IfEnd SubPrivate Sub LsDepart_Click()If LsDepart.Text = "定制" ThenFr米Table.ShowElseDataA.Recordset.EditDataA.Recordset.Fields(8) = LsDepart.TextDataA.Recordset.Fields(13) = CStr(fr米Login.CurId)DataA.Recordset.Fields(14) = CStr(Now)DataA.Recordset.UpdateDataB.RefreshEnd IfEnd SubPrivate Sub Lssex_Click()DataA.Recordset.EditDataA.Recordset.Fields(4) = Lssex.TextDataA.Recordset.Fields(13) = CStr(fr米Login.CurId)DataA.Recordset.Fields(14) = CStr(Now)DataA.Recordset.UpdateDataB.RefreshEnd Sub'号号号号号号号号号号号号号号号号号号号号号号号号号号号号号号号号号Private Sub Lssex_LostFocus()Lssex.Visible = FalseEnd SubPrivate Sub Lsdegree_LostFocus()LsDegree.Visible = FalseEnd SubPrivate Sub Lsdepart_LostFocus()LsDepart.Visible = FalseEnd SubPrivate Sub DBGA_Scroll(Cancel As Integer)Lssex.Visible = FalseLsDegree.Visible = FalseLsDepart.Visible = FalseEnd Sub'号号号号号号号号号号号号号号号号号号号号号号号号号号号号号号号号号Private Sub 米About_Click()fr米About.ShowEnd SubPrivate Sub 米help_Click()Fr米Help.ShowEnd SubPrivate Sub 米option_Click(Index As Integer)If Index = 0 ThenIf fr米Login.CurUser = "root" ThenFr米Sys.ShowElseFr米Psw.ShowPwin = "Fr米米ain"Fr米米ain.Enabled = FalseEnd IfElseEndEnd IfEnd SubPrivate Sub 米pop_Click(Index As Integer)Select Case IndexCase 1Fr米Edit.ShowFr米米ain.Enabled = FalseCase 2If DBGA.SelBoo千米arks.Count = 1 ThenIf 米sgBox("确定要删除吗?", vbOKCancel, "确定") = vbOK Then DataA.Recordset.DeletecuAp = 0Else米sgBox "请选择要删除的条目!"End IfCase 3Fr米Search.ShowEnd SelectEnd SubPrivate Sub 米tab_Click(Index As Integer)Di米i As IntegerFor i = 0 To 2米tab(i).Checked = FalseNext i米tab(Index).Checked = TrueSelect Case IndexCase 0Call showe米ployeeCase 1Call showleaveCase 2Call showsalaryEnd SelectEnd SubPrivate Sub Toolbar1_ButtonClick(ByVal Button As 米SCo米ctlLib.Button) Select Case Button.IndexCase 1 'editFr米Edit.ShowFr米米ain.Enabled = FalseCase 2 'delIf DBGA.SelBoo千米arks.Count = 1 ThenIf 米sgBox("确定要删除吗?", vbOKCancel, "确定") = vbOK Then DataA.Recordset.DeletecuAp = 0Else米sgBox "请选择要删除的条目!"End IfCase 3 'seekFr米Search.ShowCase 4 'setupFr米Setup.ShowEnd SelectEnd SubPrivate Sub Toolbar2_ButtonClick(ByVal Button As 米SCo米ctlLib.Button) Select Case Button.IndexCase 1Call showe米ployeeCase 2Call showleaveCase 3Call showsalaryCase 4If fr米Login.CurUser = "root" ThenFr米Sys.ShowElseFr米Psw.ShowPwin = "Fr米米ain"Fr米米ain.Enabled = FalseEnd IfEnd SelectEnd SubOption ExplicitConst 米xUser = 100Di米user(米xUser), pws(米xUser), state(米xUser), E米plo(米xUser) As String Private Sub 厘米dCancel_Click()米e.HideIf Fr米米ain.Pwin = "Fr米米ain" ThenFr米米ain.Enabled = TrueFr米米ain.SetFocusElseCall Fr米Sys.ActiveAllFr米Sys.SetFocusEnd IfEnd SubPrivate Sub 厘米dOK_Click()Di米fil, i, Usercount As IntegerIf TxtNew1.Text <> TxtNew2.Text Then米sgBox "two ti米es no yizhi"TxtNew1.SetFocusTxtNew2.Text = ""SendKeys "{Ho米e}+{End}"Exit SubElseIf Txtold.Text <> fr米Login.CurPsw Then米sgBox "old password wrong"Txtold.SetFocusTxtNew1.Text = ""TxtNew2.Text = ""SendKeys "{Ho米e}+{End}"Exit SubElsefil = FreeFile()Open App.Path + "\user.ini" For Input As 号fili = 0Do While Not EOF(fil)Input 号fil, user(i), pws(i)Input 号fil, state(i), E米plo(i)i = i + 1LoopUsercount = iClose 号filpws(fr米Login.CurId) = TxtNew1.Textfr米Login.CurPsw = TxtNew1.Textfil = FreeFile()Open App.Path + "\user.ini" For Output As 号filFor i = 0 To Usercount - 1Print 号fil, user(i); ","; pws(i); ","; state(i); ","; E米plo(i)Next iClose 号filTxtold.Text = ""TxtNew1.Text = ""TxtNew2.Text = ""米e.HideIf Fr米米ain.Pwin = "Fr米米ain" ThenFr米米ain.Enabled = TrueFr米米ain.SetFocusElseCall Fr米Sys.ActiveAllFr米Sys.SetFocusEnd IfEnd IfEnd SubPrivate Sub For米_LostFocus()Fr米Psw.SetFocusEnd SubPrivate Sub For米_Unload(Cancel As Integer)'Fr米米ain.Enabled = True'Fr米米ain.SetFocusUnload 米eEnd SubOption ExplicitPrivate Sub 厘米b1_Click()With 厘米b1If .Text = "职工编号" Or .Text = "交通补助" Or .Text = "加班补助" Or .Text = "工资编号" Or .Text = "假条编号" Or .Text = "身份证号" Or .Text = "出生日期" Or .Text = "中止日期" Or .Text = "Edit" Or .Text = "年份" Or .Text = "月份" Or .Text = "天数" Or .Text = "基本工资" Or .Text = "总工资" Or .Text = "考勤扣除" Or .Text = "扣税" Or .Text = "总扣除" Or .Text = "保险扣除" Then厘米b2.Clear厘米b2.AddIte米">"厘米b2.AddIte米"="厘米b2.AddIte米"<"厘米b2.ListIndex = 0Else厘米b2.Clear厘米b2.AddIte米"等于"厘米b2.AddIte米"相似"厘米b2.ListIndex = 0End IfEnd WithEnd SubPrivate Sub 厘米b3_Click()With 厘米b3If .Text = "职工编号" Or .Text = "工资编号" Or .Text = "假条编号" Or .Text = "身份证号" Or .Text = "出生日期" Or .Text = "中止日期" Or .Text = "Edit" Or .Text = "年份" Or .Text = "月份" Or .Text = "天数" Or .Text = "基本工资" Or .Text = "总工资" Or .Text = "考勤扣除" Or .Text = "扣税" Or .Text = "总扣除" Or .Text = "保险扣除" Then厘米b4.Clear厘米b4.AddIte米">"厘米b4.AddIte米"="厘米b4.AddIte米"<"厘米b4.ListIndex = 0Else厘米b4.Clear厘米b4.AddIte米"等于"厘米b4.AddIte米"相似"厘米b4.ListIndex = 0End IfEnd WithEnd SubPrivate Sub 厘米dCancel_Click()米e.HideFr米米ain.Enabled = TrueEnd SubPrivate Sub 厘米dOK_Click()Di米米ysqls, str As StringErr.ClearIf Txt1.Text = "" Then Exit Sub:米ysqls = "select * fro米" + Fr米米ain.cutable + " where "If 厘米b2.Text = "等于" Then米ysqls = 米ysqls + 厘米b1.Text + "=""" + Txt1.Text + """"ElseIf 厘米b2.Text = "相似" Then米ysqls = 米ysqls + 厘米b1.Text + " Like """ + Txt1.Text + """"Else米ysqls = 米ysqls + 厘米b1.Text + 厘米b2.Text + Txt1.Text End IfIf Fra米e1.Enabled = True Thenstr = ""If Optsex(1).Value Thenstr = " and 性别=" + """男"""ElseIf Optsex(2) Thenstr = " and 性别=" + """女"""End IfEnd If米ysqls = 米ysqls + strIf Not Opt(0) ThenIf Opt(1).Value Thenstr = " and "ElseIf Opt(2).Value Thenstr = " or "End If米ysqls = 米ysqls + str + 厘米b3.TextIf 厘米b2.Text = "等于" Then米ysqls = 米ysqls + "=""" + Txt2.Text + """"ElseIf 厘米b2.Text = "相似" Then米ysqls = 米ysqls + " Like """ + Txt2.Text + """"Else米ysqls = 米ysqls + 厘米b4.Text + Txt2.TextEnd IfEnd IfFr米米ain.DataA.RecordSource = 米ysqlsOn Error GoTo exp:Txtsql.Text = 米ysqlsFr米米ain.DataA.RefreshExit Subexp:Txtsql.Text = "搜索语句错误:" + 米ysqlsEnd SubPrivate Sub For米_Activate()Di米i As Integer厘米b1.Clear厘米b3.ClearTxt1.Text = ""Txt2.Text = ""For i = 0 To Fr米米ain.DBGA.Colu米ns.Count - 4If Fr米米ain.DBGA.Colu米ns(i).Visible = True Then厘米b1.AddIte米(Fr米米ain.DBGA.Colu米ns(i).Caption)厘米b3.AddIte米(Fr米米ain.DBGA.Colu米ns(i).Caption)End IfNext i厘米b1.ListIndex = 0厘米b3.ListIndex = 0If Fr米米ain.cutable = "e米ployee" ThenFra米e1.Enabled = TrueElseFra米e1.Enabled = FalseEnd IfEnd SubPrivate Sub For米_Load()厘米b2.AddIte米"="厘米b4.AddIte米"="厘米b2.AddIte米">"厘米b4.AddIte米">"厘米b2.AddIte米"<"厘米b4.AddIte米"<"厘米b2.ListIndex = 0厘米b4.ListIndex = 0End SubPrivate Sub Opt_Click(Index As Integer)厘米b3.Enabled = Not Opt(0).Value厘米b4.Enabled = Not Opt(0).ValueTxt2.Enabled = Not Opt(0).ValueEnd SubPrivate Sub Co米米and1_Click()Di米i, j As IntegerFor i = 0 To Fr米米ain.DBGA.Colu米ns.Count - 1Fr米米ain.DBGA.Colu米ns(i).Visible = TrueFor j = 0 To Lshide.ListCount - 1If Fr米米ain.DBGA.Colu米ns(i).Caption = Lshide.List(j) Then Fr米米ain.DBGA.Colu米ns(i).Visible = FalseGoTo xt:End IfNext jxt:Next iFr米米ain.SetFocusFr米米ain.Enabled = TrueFr米米ain.cuTabCh = False米e.HidePrivate Sub Co米米and2_Click()Fr米米ain.Enabled = True米e.HideEnd SubPrivate Sub For米_Activate()Di米a As IntegerIf Fr米米ain.cuTabCh ThenLsshow.ClearLshide.Cleara = Fr米米ain.DBGA.Colu米ns.CountIf a > 0 ThenFor i = 0 To a - 1Lsshow.AddIte米(Fr米米ain.DBGA.Colu米ns(i).Caption) Next iEnd IfEnd IfEnd SubPrivate Sub Lbadd_Click()If Lshide.Text <> "" ThenLsshow.AddIte米(Lshide.Text)Lshide.Re米oveIte米(Lshide.ListIndex)End IfEnd SubPrivate Sub Lbdec_Click()If Lsshow.Text <> "" ThenLshide.AddIte米(Lsshow.Text)Lsshow.Re米oveIte米(Lsshow.ListIndex)End IfEnd SubPrivate Sub Lsshow_DblClick()Lshide.AddIte米(Lsshow.Text)Lsshow.Re米oveIte米(Lsshow.ListIndex)End SubPrivate Sub Lshide_DblClick()Lsshow.AddIte米(Lshide.Text)Lshide.Re米oveIte米(Lshide.ListIndex)End SubPrivate Sub For米_Unload(Cancel As Integer)Fr米米ain.Enabled = TrueFr米米ain.SetFocusUnload 米eEnd SubOption ExplicitDi米Tbna米(50), Tbstr(50) As String '最大条目数预设为100 Di米fil, tbcount, i As IntegerDi米Tbch As BooleanPrivate Sub 厘米dCancel_Click()米e.HideEnd SubPrivate Sub 厘米dOK_Click()If Tbch Then '如果table条目变动则保存变动Fr米米ain.LsDegree.ClearFr米米ain.LsDepart.ClearFr米Edit.厘米bdegree.ClearFr米Edit.厘米bdepart.Clearfil = FreeFile()Open App.Path + "\table.ini" For Output As 号fil '写入table条目信息For i = 0 To LsDegree.ListCount - 1Print 号fil, "lsdegree"; ","; LsDegree.List(i)Fr米米ain.LsDegree.AddIte米LsDegree.List(i)Fr米Edit.厘米bdegree.AddIte米LsDegree.List(i)Next iFor i = 0 To LsDepart.ListCount - 1Print 号fil, "lsdepart"; ","; LsDepart.List(i)Fr米米ain.LsDepart.AddIte米LsDepart.List(i)Fr米Edit.厘米bdepart.AddIte米LsDepart.List(i)Next iClose 号filFr米米ain.LsDegree.AddIte米"定制" '添加最末的定制条目Fr米米ain.LsDepart.AddIte米"定制"Fr米Edit.厘米bdegree.AddIte米"定制"Fr米Edit.厘米bdepart.AddIte米"定制"Fr米Edit.厘米bdegree.ListIndex = 0Fr米Edit.厘米bdepart.ListIndex = 0End If米e.HideEnd SubPrivate Sub LbF_Click(Index As Integer)Tbch = TrueSelect Case IndexCase 0 '编辑If TxtDegree.Text = "" Then Exit SubIf LsDegree.ListIndex <> -1 ThenLsDegree.List(LsDegree.ListIndex) = TxtDegree.TextEnd IfCase 1 '添加For i = 0 To LsDegree.ListCount - 1If LsDegree.List(i) = TxtDegree.Text Then米sgBox "该条目已经存在"Exit SubEnd IfNext iLsDegree.AddIte米TxtDegree.TextCase 2 '删除If LsDegree.ListIndex <> -1 ThenLsDegree.Re米oveIte米(LsDegree.ListIndex)End IfCase 3 '编辑If TxtDegree.Text = "" Then Exit SubIf LsDepart.ListIndex <> -1 ThenLsDepart.List(LsDepart.ListIndex) = TxtDepart.TextEnd IfCase 4 '添加For i = 0 To LsDepart.ListCount - 1If LsDepart.List(i) = TxtDepart.Text Then米sgBox "该条目已经存在"Exit SubEnd IfNext iLsDepart.AddIte米TxtDepart.TextCase 5 '删除If LsDepart.ListIndex <> -1 ThenLsDepart.Re米oveIte米(LsDepart.ListIndex)End IfEnd SelectEnd SubPrivate Sub LsDegree_Click() '选定lsdegree条目时在下面文本框中显示编辑TxtDegree.Text = LsDegree.TextEnd SubPrivate Sub LsDepart_Click() '选定lsdegree条目时在下面文本框中显示编辑TxtDepart.Text = LsDepart.TextEnd SubPrivate Sub For米_Load()Tbch = Falsefil = FreeFile()Open App.Path + "\table.ini" For Input As 号fil '写入table条目信息Do While Not EOF(fil)Input 号fil, Tbna米(i), Tbstr(i)i = i + 1LoopClose 号filtbcount = iFor i = 0 To tbcountIf Tbna米(i) = "lsdegree" ThenLsDegree.AddIte米Tbstr(i)ElseIf Tbna米(i) = "lsdepart" ThenLsDepart.AddIte米Tbstr(i)End IfNext iEnd SubPrivate Sub For米_Unload(Cancel As Integer) '卸载窗体Fr米米ain.Enabled = TrueFr米米ain.SetFocusUnload 米eEnd Sub。