首页 人力资源管理系统毕业设计范例

人力资源管理系统毕业设计范例

举报
开通vip

人力资源管理系统毕业设计范例 吉林省明日科技有限公司监制 吉林省明日科技有限公司监制 人力资源管理系统 学 院 专 业 班 级 学 号 姓 名 指导教师 教师职称 年 月 日 摘要 【摘要】 通过人力资源管理系统使得管理者快速高效地完成企业日常事务中的人事工作,降低了人力资源管理成本,使管理者能集中精力在企...

人力资源管理系统毕业设计范例
吉林省明日科技有限公司监制 吉林省明日科技有限公司监制 人力资源管理系统 学 院 专 业 班 级 学 号 姓 名 指导教师 教师职称 年 月 日 摘要 【摘要】 通过人力资源管理系统使得管理者快速高效地完成企业日常事务中的人事工作,降低了人力资源管理成本,使管理者能集中精力在企业战略目标;另一方面,通过软件及时收集与整理分析大量的人力资源管理数据,为企业战略决策的生成与实施控制提供强有力的支持,以提高组织目标实现的可能性。具体实现目标如下: · 系统采用人机对话方式,界面美观友好,信息查询灵活、方便、快捷、准确,数据存储安全可靠。 · 键盘操作,快速响应。 · 对用户输入的数据,系统进行严格的数据检验,尽可能排除人为的错误。 · 万能查询器实现自由设置查询。 · 强大的工资报表。 · 与EXCEL实现无缝连接,使人员、考勤、工资等信息的查询结果可直接保存在EXCEL表中。 · 不同的操作员有不同的操作员权限,增强了系统的安全性。 · 系统最大限度地实现了易安装性、易维护性和易操作性。 · 系统运行稳定、安全可靠。 【关键词】 HRM 人力资源管理系统 目录 1摘要 1目录 10 引言 21 系统分析 21.1 可行性研究 21.2 经济可行性 21.3 技术可行性 22 总体 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 22.1 系统结构设计 32.2 系统功能结构 32.3 系统功能概述 43 系统设计 43.1 设计目标 43.2 开发及运行环境 43.3 编码设计 53.4 数据库设计 64 主要功能模块设计 64.1 公用模块设计 64.2 系统登录模块设计 84.3 主界面设计 154.4 部门管理模块设计 204.5 人事信息管理模块设计 264.6 员工调动模块设计 30附录A 参考文献 31附录B 数据表 39附录C 文件架构 0 引言 目前市场上的人力资源管理系统很多,但要找到一款真正称心、符合公司实际情况的人力资源管理系统(HRM)软件并不容易。由于存在这样那样的不足,企业在选择HRM系统时倍感困惑,主要集中在以下方面: (1)大多数自称为人力资源管理系统的软件其实只是简单的人事管理系统,难以真正提升企业人力资源管理水平,提高工作效率,其降低管理成本的效果也不明显。 (2)系统功能不切实际,大多是互相模仿,不是从企业实际需求中开发出来的。 (3)大部分系统不能满足企业全面沟通及管理的需要。安装部署、管理极不方便,或者选用小型数据库,不能满足企业海量数据存取的需要。 (4)系统操作不方便,界面设计不美观、不 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 、不专业、不统一,用户实施及学习费时费力。 1 系统分析 软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。通过对应用问题及其环境的理解与分析,为问题涉及的信息、功能及系统行为建立模型,将用户需求精确化、完全化,最终形成需求规格说明,这一系列的活动即构成软件开发生命周期的需求分析阶段。 需求分析是介于系统分析和软件设计阶段之间的重要桥梁。一方面,需求分析以系统规格说明和项目规划作为分析活动的基本出发点,并从软件角度对它们进行检查与调整;另一方面,需求规格说明又是软件设计、实现测试直至维护的主要基础。良好的分析活动有助于避免或尽早发现早期的错误,从而提高软件生产率,降低开发成本,改进软件质量。 1.1 可行性研究 开发任何一个基于计算机的系统,都会受到时间和资源上的限制。因此,对在接受任何一个项目开发任务之前,必须根据客户可能提供的时间和资源条件进行可行性分析,以减少项目开发风险,避免人力、物力和财力的浪费。可行性分析与风险分析在很多方面是相互关联的,项目风险越大,开发高质量的软件的可行性就越小。 1.2 经济可行性 经济可行性,进行成本效益分析,评估项目的开发成本,估算开发成本是否会超过项目预期的全部利润。分析系统开发对其他产品或利润的影响。 1.3 技术可行性 技术可行性研究过程中,系统分析员应采集系统性能、可靠性、可维护性和可生产性方面的信息;分析实现系统功能和性能所需要的各种设备、技术、 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 和过程;分析项目开发在技术方面可能担负的风险以及技术问题对开发成本的影响。 开发一个中小型人力资源管理(HRM)系统,涉及到的技术问题不会太多,主要用到的技术就是数据库和一门可视化开发的编程语言。在这方面,数据库主要是用来存放数据,就目前主流的数据库来看,可以考虑采用Microsoft SQL Server或Oracle。Oracle是一个安全、可靠的并且支持面向对象设计的数据库系统,同时Oracle又有海量存储的特点。然而,相对于Microsoft SQL Server而言,Oracle的易用性和可维护性相对差一点,而且Oracle的成本相对较高,不适合于中小企业使用。因此,我们选择了目前比较流行的Microsoft SQL Server数据库系统;在前台开发编程方面,本系统采用Microsoft公司的Visual Basic 6.0作为主要的开发工具。 2 总体设计 软件设计的主要任务是根据需求规格说明导出系统的实现 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 。 2.1 系统结构设计 C/S结构就是“客户端/服务端”的一种工作模式。一般来说,这种模式都会要求安装一个客户端程序,由这个程序和服务器端进行协同工作,因为由客户端来专门处理一些工作,所以C/S结构的程序一般都功能强大、界面漂亮,由于任务分散在服务器端和客户端分别进行,所以提高了硬件的利用效率,对于程序员来说,编程开发也更加的容易。 基于以上原因,在设计人力资源管理系统时,采用了传统的基于两层的C/S结构。 2.2 系统功能结构 人力资源管理系统的功能结构如图1所示。 图1 系统功能结构图 2.3 系统功能概述 · 基本资料管理 基本资料管理主要包括:部门管理、工种类型管理、职务类型管理、职称类型管理、文化程度管理、政治面貌管理、民族管理、培训课程管理、考核项目管理、合同类型管理和聘用类型管理。 其中部门管理实现了通过树结构进行各个部门的管理,并从部门全称可以看出该部门的上下级关系。 · 工资设置 工资设置是计算员工工资时的最基本的设置,其主要包括奖励项目设置、惩罚项目设置和工资设置。 · 人事管理 人事管理实现了对公司员工的全面管理,其主要包括人事信息管理、新员工登记、员工调动、员工离职、员工复职、培训管理、考核管理、合同管理、聘用管理、保险管理、合同到期处理和聘用到期处理。 · 工资管理 工资管理实现了对公司员工工资的计算、发放和打印,以及员工的奖励、惩罚和考勤信息。其主要包括工资信息管理、过期数据处理、建立新月份工资、员工奖励管理、员工惩罚管理和考勤信息管理。 · 系统管理 登录系统时需要验证身份,只有合法的用户才可以进入人力资源管理系统,不同的用户使用不同的功能,同时也可以对密码进行修改,以及对数据进行备份与还原,保护企业的数据安全。其主要包括用户管理、口令设置、数据初始化和数据备份与恢复。 · 工具 为了方便用户日常管理工作,工具中提供了记事本、计算器、Office-Word和Office-Excel。 · 帮助 如果要了解系统功能、使用方法以及开发的相关信息,可以使用帮助和关于。 3 系统设计 3.1 设计目标 通过人力资源管理系统使得管理者快速高效地完成企业日常事务中的人事工作,降低了人力资源管理成本,使管理者能集中精力在企业战略目标;另一方面,通过软件及时收集与整理分析大量的人力资源管理数据,为企业战略决策的生成与实施控制提供强有力的支持,以提高组织目标实现的可能性。具体实现目标如下: · 系统采用人机对话方式,界面美观友好,信息查询灵活、方便、快捷、准确,数据存储安全可靠。 · 键盘操作,快速响应。 · 对用户输入的数据,系统进行严格的数据检验,尽可能排除人为的错误。 · 万能查询器实现自由设置查询。 · 强大的工资报表。 · 与EXCEL实现无缝连接,使人员、考勤、工资等信息的查询结果可直接保存在EXCEL表中。 · 不同的操作员有不同的操作员权限,增强了系统的安全性。 · 系统最大限度地实现了易安装性、易维护性和易操作性。 · 系统运行稳定、安全可靠。 3.2 开发及运行环境 系统开发平台:Visual Basic 6.0。 数据库管理平台:SQL Server2000。 运行平台:Windows XP/ Windows 2000。 分辨率:最佳效果1024*768。 3.3 编码设计 编码设计是数据库系统开发的前提条件,是系统不可缺少的重要内容。编码是指与原来名称对应的编号、符号或记号。它是进行信息交换、处理、传输和实现信息资源共享的关键。编码也用于指定数据的处理方法、区别数据类型,并指定计算机处理的内容等。 本系统内部信息编码采用了统一的编码方式情况。如下所示: · 部门编号 部门编号是根据级别订制的。其设计思路是:1级部门编号2位,初始值“01”,后面的部门编号依次往下排(如“02”、“03”等);2级部门编号4位,初始值依据上级编号,如果上级编号为“01”,则该部门编号为“0101”,如果上级编号为“02”,则该部门编号为“0201”;其他级别的部门编号的位数为级别乘2,编码思路与上面同理。 · 人员编号 人员编号为5位数字编码,初始值为“00001”,后面的人员编号依次往下排。 · 合同编号 合同编号为当前系统年、月和人员编号的组合,如“20051200002”。 · 聘用编号 聘用编号为当前系统年、月和人员编号的组合,如“20051100008”。 3.4 数据库设计 本系统数据库采用SQL Server 2000数据库,系统数据库名称为db_manpowerinfo。数据库db_manpowerinfo中包含29张表。下面是数据表概要说明及主要数据表的结构。 1.数据表概要说明 数据表树型结构如图2所示。 图2 数据表树型结构图 2.主要数据表的结构 数据库中的主要数据表结构请参见附录二。 4 主要功能模块设计 4.1 公用模块设计 在人力资源管理系统程序中,创建了公用模块(Module1)。此模块包括用户定义的数据类型、全局变量、API函数、数据库连接函数等。 1.添加全局变量 添加全局变量,用于存储操作员、表和SQL语句,代码如下: Public czy As String, tb As String, tb1 As String, sql As String, sql1 As String, text As String Public jbxxtb As String 添加全局变量,用来标记各个窗体数据添加或修改的状态,代码如下: Public blnAddRS As Boolean, blnAddPX As Boolean, blnAddKH As Boolean, blnAddHT As Boolean, blnAddPY As Boolean, blnAddBX As Boolean Public blnAddJL As Boolean, blnAddCF As Boolean blnAdd….变量用户 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 数据添加还是修改状态,赋值为True为添加,赋值为False为修改。 Public HTygbh As String, PYygbh As String Public KGBH As Integer,JBBH As Integer, deptMark As Integer 2.声明API函数ShellExecute 该函数主要用于查找与指定文件关联在一起的程序的文件名,代码如下: Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long 3.共享数据库连接 为了减少重复的数据连接和为日后修改程序提供接口,在公用模块(Module1)中建立了数据库连接函数cnn和cnStr。如果使用对象操作数据库,可以调用cnn函数;如果使用ADO控件访问数据库,则可以调用字符串函数cnStr,并将该函数值赋给ADO控件的ConnectionString属性。具代码如下: Public Function Cnn() As ADODB.Connection '定义一个函数 Set Cnn = New ADODB.Connection '·返回一个数据库连接 Cnn.Open "Driver={SQL Server};Server=(local);Database=db_manpowerinfo;Uid=sa;Pwd=" End Function Public Function cnStr() As String cnStr = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=db_manpowerinfo" End Function 4.2 系统登录模块设计 系统登录模块主要完成对登录系统的用户进行验证,只有合法的用户才可以进入系统。 另外,为了防止用户无限期地输入错误的用户名或密码,在系统登录模块中增加了限制登录次数的功能。首先定义一个窗体级的常量MaxTimes,其主要用来保存允许用户最多登录的次数(这里为3次),然后在cmdOk_Click过程中定义一个静态变量intMyTimes,其主要用来保存累计登录系统的次数,并判断是否超过允许登录的次数,如果超过,则显示提示信息,并结束应用程序。 系统登录模块如图3所示。 图3 系统登录 1.窗体设计 (1)新建一个工程,在该工程中新建一个窗体,将窗体的“名称”属性设置为“frm_Login”,BorderStyle属性设置为“3-Fixed Dialog”;Caption属性设置为“欢迎使用人力资源管理系统”。 (2)在窗体中添加3个Label控件,设置BackStyle属性为“0-Transparent”。其中Label1和Label2的Caption属性分别设置为“用户名称(U)”和“密码(P)”。 (3)在窗体中添加2个TextBox控件,分别设置“名称”属性为txtUserName和txtPassword。 (4)在窗体中添加2个CommandButton控件,分别设置“名称”属性为cmdOk和cmdCancel;Caption属性为“确定(O)”和“放弃(C)”。 (5)设置ADO对象的引用。单击“工程”/“引用”,在“引用”对话框中选定“Microsoft ActiveX Data Objects 2.5 Library”。 2.代码设计 Option Explicit Const MaxTimes As Integer = 3 单击【确定】按钮,根据用户输入的用户名和密码来判断该用户是否为合法用户。如果是合法用户,将进行系统;如果不是将提示用户,提示超过3次,自动退出系统,代码如下: Private Sub cmdOK_Click() Static intMyTimes As Integer Dim rs1 As New ADODB.Recordset, rs2 As New ADODB.Recordset rs1.Open "权限信息表", Cnn, adOpenKeyset, , adLockOptimistic If rs1.RecordCount > 0 Then If txtUserName.text = "" Then MsgBox "请输入用户名!", , "提示窗口" txtUserName.SetFocus Exit Sub End If rs2.Open "权限信息表 where 操作员='" + txtUserName.text + "'", Cnn, adOpenKeyset, , adLockOptimistic If rs2.RecordCount > 0 Then If txtPassword.text = "" Then MsgBox "请输入密码!", , "提示窗口" txtPassword.SetFocus Exit Sub End If If txtPassword = rs2.Fields("密码") Then czy = txtUserName Load frmMain frmMain.Show Unload Me Else If intMyTimes > MaxTimes Then MsgBox "您无权使用该软件!", , "提示窗口" End Else MsgBox "密码不正确,请重新输入!", , "提示窗口" intMyTimes = intMyTimes + 1 txtPassword.SetFocus End If End If Else MsgBox "用户名不正确,请重新输入!", , "提示窗口" txtUserName.SetFocus End If rs2.Close Else MsgBox "初次登录本系统,请在进入系统后,立即设置操作员及其密码,以确保系统的安全!", , "提示窗口" Load frmMain frmMain.Show Unload Me End If rs1.Close End Sub 4.3 主界面设计 主界面是应用程序的主体,也是应用程序的门面,它设计的好坏将直接影响用户的第一感觉,如果主界面设计得很糟糕,则不论应用程序的其他部分设计得多么细致,用户都不能或不愿意使用它。所以,在设计主界面时应保持界面的简洁性和明确性。人力资源管理系统的主界面便遵循了这一原则,其运行结果如图4所示。 图4 主界面 主界面担负着调用各个功能模块、赋予操作员不同的操作权限、显示当前操作员、操作状态和系统日期等任务。其中应用了VB资源编辑器、动态创建图形按钮、动态定位图形按钮等技术。 下面是调用各个功能窗体的几种操作方法。 (1)使用Windows标准菜单。单击菜单命令,进入相应的功能模块。 (2)通过树状菜单。鼠标双击菜单树中的主节点,展开菜单树,单击菜单树中的子节点,进入相应的功能模块。 (3)通过图形按钮。鼠标双击菜单树中的主节点,右侧区域将出现图形按钮,单击图形按钮,进入相应的功能模块。 1.创建主窗体 (1)单击“工程”/“添加窗体”菜单命令,在工程中添加一个新窗体,将该窗体的“名称”属性设置为“frmMain”;BorderStyle属性为“2-Sizable”;Caption属性为“人力资源管理系统”;Picture属性为事先设计好的背景图片。 (2)在frmMain窗体上添加1个StatusBar控件和1个CommonDialog控件。 2.使用VB资源编辑器和菜单编辑器创建标准菜单 使用VB资源编辑器和菜单编辑器设计完成图4所示的人力资源管理系统中的标准菜单,应分三大步: (1)使用“资源编辑器”中的“字符串表编辑器”编辑菜单中需要的字符串。(即菜单标题) (2)使用“菜单编辑器”编辑菜单。(菜单标题为资源ID) (3)使用LoadResString函数将资源ID所对应的字符串显示为菜单标题。 详细设计步骤如下: · 在“资源编辑器”中的“字符串表编辑器”编辑字符串 (1)单击“资源编辑器”工具栏上的“编辑字符串表”工具栏按钮,打开“字符串表编辑器”,如图5所示。 图5 打开“字符串表编辑器” (2)添加一个新的字符串表。单击“插入新字符串表”工具栏按钮。一个新的字符串表将被添加到表格中,同时突出显示其“语言ID”列表框,可以该列表中选择适当的语言ID。 如果这是资源中的第一个字符串表,网格中将添加一个初始的条目,其资源ID为101, 如果这是一个附加的字符串表,将为所有现存的行添加网格单元。 (3)编辑资源ID和字符串条目,编辑完成的字符串表,如图6所示。 图6 编辑完成的字符串表 · 在“菜单编辑器”中设计菜单 将frmMain窗体设为作用中的窗体,然后单击“工具”/“菜单编辑器”菜单命令,在“菜单编辑器”对话框中的“标题”输入栏内输入菜单标题(如“1000”),在“名称”输入栏内输入名称(如“m”),如图7所示,然后按表1所示菜单名称和标题依次完成。 图7 菜单编辑器界面 为了程序设计方便,菜单设计为菜单数组,其中所有的主菜单为一个菜单数组,名称为:m(0)~m(6),每个主菜单下的子菜单为一个数组(如m1(0)~m1(13))。详细设置如表1所示。 表1 菜单名称和菜单标题设置 主菜单名称 主菜单标题 子菜单名称 子菜单标题 m(0) 1000 m1(0)~m1(13) 1001~1011 m(1) 1012 m2(0)~m2(2) 1013~1015 m(2) 1016 m3(0)~m3(14) 1017~1028 m(3) 1029 m4(0)~m4(7) 1030~1035 m(4) 1036 m5(0)~m5(3) 1037~1040 m(5) 1041 m6(0)~m6(3) 1042~1045 m(6) 1046 m7(0)~m7(1) 1047~1048 3.使用TreeView控件创建树状菜单 树状菜单的实现主要使用了Treeview控件的Nodes集合中的Add方法,该方法可以向Nodes集合中添加一个Node对象,从而实现树状菜单。 在使用TreeView控件前应将其添加到frmMain窗体中,添加方法为:在工具箱中选取TreeView控件,将鼠标放置在frmMain窗体上,当鼠标指针变成一个十字架时,按住鼠标左键同时拖动鼠标,当达到所需要控件的大小时放开鼠标左键,这时TreeView控件将被添加到窗体中。 如果要将TreeView控件中显示的内容带图标,应在窗体上添加一个ImageList控件。 4.使用Image控件数组创建图形按钮 图形按钮的构成原理是动态加载Image控件数组并设置其Picture、Left、Top属性。具体设计思路如下: 窗体载入后,使用Load方法动态加载12个Image控件数组(初始状态为不可见),当用户单击树状菜单的主节点时,根据其下的子节点的数量,动态设置Image控件数组的Picture、Left和Top属性。 实现上述功能,应首先在工具箱中选取Image控件,然后在窗体中添加1个Image控件数组,默认名为Image1,设置其Index属性为0,Visible属性为False。 5.代码设计 声明模块级变量,用于在一个窗体中的不同过程使用,代码如下: Dim i As Integer, a As Integer 自定义函数blnPower,用于判断操作员的权限,如果有权限,返回值为True;如果无权限,返回值为False,代码如下: Function blnPower(str As String) As Boolean Dim rs1 As New ADODB.Recordset rs1.Open "select * from 权限信息表 where 操作员='" & czy & "'", Cnn, adOpenKeyset, adLockOptimistic If rs1.RecordCount > 0 Then If rs1.Fields(str) = False Then blnPower = False Else blnPower = True End If End If rs1.Close End Function 窗体载入时,设置状态栏和Image1(0)控件数组的相关属性、完成由数字菜单到字符串菜单的转换、添加树状菜单及动态加载Image1控件数组等,代码如下: Private Sub Form_Load() Dim pnlX As Panel '添加面板,并将它们设置为目录 sbStatusBar.Panels(1).AutoSize = sbrContents sbStatusBar.Panels(1) = mytag Set pnlX = sbStatusBar.Panels.Add pnlX.AutoSize = sbrContents pnlX.text = "当前操作员: " & czy Set pnlX = sbStatusBar.Panels.Add pnlX.Style = sbrDate Set pnlX = sbStatusBar.Panels.Add pnlX.Style = sbrTime '设置图形按钮的初始位置 Image1(0).Left = 4000: Image1(0).Top = 2625 '将VB资源管理器中的字符串添加到菜单中 On Error Resume Next Dim ctl As Control, sCtlType As String For Each ctl In Me.Controls sCtlType = TypeName(ctl) If sCtlType = "Menu" Then ctl.Caption = LoadResString(CInt(ctl.Caption)) End if Next '添加树状菜单 Dim nodX As Node Set nodX = TreeView1.Nodes.Add(, , "X1", "基本资料管理", 1) For a = 1 To 11 TreeView1.Nodes.Add "X1", tvwChild, "C" & a, LoadResString(a + 1000), 2 Next a Set nodX = TreeView1.Nodes.Add(, , "X2", "工资设置", 1) For a = 12 To 14 TreeView1.Nodes.Add "X2", tvwChild, "C" & a, LoadResString(a + 1001), 2 Next a Set nodX = TreeView1.Nodes.Add(, , "X3", "人事管理", 1) For a = 15 To 26 TreeView1.Nodes.Add "X3", tvwChild, "C" & a, LoadResString(a + 1002), 2 Next a Set nodX = TreeView1.Nodes.Add(, , "X4", "工资管理", 1) For a = 27 To 32 TreeView1.Nodes.Add "X4", tvwChild, "C" & a, LoadResString(a + 1003), 2 Next a Set nodX = TreeView1.Nodes.Add(, , "X5", "系统管理", 1) For a = 33 To 36 TreeView1.Nodes.Add "X5", tvwChild, "C" & a, LoadResString(a + 1004), 2 Next a Set nodX = TreeView1.Nodes.Add(, , "X6", "工具", 1) For a = 37 To 40 TreeView1.Nodes.Add "X6", tvwChild, "C" & a, LoadResString(a + 1005), 2 Next a Set nodX = TreeView1.Nodes.Add(, , "X7", "帮助", 1) Set nodX = TreeView1.Nodes.Add("X7", tvwChild, "C41", "帮助", 2) Set nodX = TreeView1.Nodes.Add("X7", tvwChild, "C42", "关于", 2) nodX.EnsureVisible '动态创建图形按钮(Image控件)和标题(Label控件) For i = 1 To 12 i = Image1.UBound + 1 Load Image1(i) Load lblCaption1(i) Image1(i).ZOrder (0) lblCaption1(i).ZOrder (0) Next i End Sub 当鼠标移到图形按钮(指定的Image1控件数组)上时,将其BorderStyle属性由0设置为1,以形成动态效果,同时将该图形按钮所属功能的完整路径显示在Label1中。其具体代码如下: Private Sub Image1_MouseMove(index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single) Image1(index).BorderStyle = 1 Label1.Caption = TreeView1.SelectedItem.text & "/" & lblCaption1(index).Caption End Sub Private Sub Label2_MouseMove(index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single) Label2(index).BorderStyle = 1 End Sub 当鼠标移到窗体上时,将图形按钮(Image1控件数组)的BorderStyle属性由1设置为0,体代码如下: Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) For i = 1 To Image1.UBound Image1(i).BorderStyle = 0 Next i For i = 0 To Label2.UBound Label2(i).BorderStyle = 0 Next i End Sub Private Sub Label1_Change() sbStatusBar.Panels(1).text = "当前位置: " & Label1 End Sub Private Sub Label2_Click(index As Integer) Select Case index Case 0 Temp = "www.mingrisoft.com" '所要连接的网站名称 ShellExecute 0&, vbNullString, Temp, vbNullString, vbNullString, 0 '调用IE Case 1 m7_Click (1) Case 2 m7_Click (0) Case 3 End End Select End Sub 单击菜单数组,首先判断操作员的权限,如果操作员有权限,则调入相应的功能窗体或执行相应的操作;否则提示用户。具体代码如下: Private Sub m1_Click(index As Integer) text = m1(index).Caption If blnPower(m1(index).Caption) = False Then MsgBox "对不起,您没有使用此项功能的权限!", vbInformation, "提示窗口" Exit Sub End If Select Case m1(index).Caption Case "部门管理" Load main_jbzl_bmgl main_jbzl_bmgl.Show 1 Case "工种类型管理" jbxxtb = "工种表" Case "职务类型管理" jbxxtb = "职务表" Case "职称类型管理" jbxxtb = "职称表" Case "文化程度管理" jbxxtb = "文化程度表" Case "政治面貌管理" jbxxtb = "政治面貌表" Case "民族管理" jbxxtb = "民族表" Load main_jbzl_pxkc main_jbzl_pxkc.Show 1 Case "考核项目管理" Load main_jbzl_khlx main_jbzl_khlx.Show 1 End Select With m1(index) If .Caption = "工种类型管理" Or .Caption = "职务类型管理" Or .Caption = "职称类型管理" Or .Caption = "文化程度管理" Or .Caption = "政治面貌管理" Or .Caption = "民族管理" Then Load main_jbzl_public main_jbzl_public.Show 1 End If End With End Sub '其他菜单数组的Click事件过程省略,详细内容可参见光盘。 鼠标单击指定的图形按钮(Image1控件数组),调入相应的功能窗体或执行相应的操作,代码如下: Private Sub Image1_Click(index As Integer) text = lblCaption1(index).Caption: Image1(index).BorderStyle = 1 If blnPower(lblCaption1(index).Caption) = False Then MsgBox "对不起,您没有使用此项功能的权限!", vbInformation, "提示窗口" Exit Sub End If '此处代码与菜单数组Click事件过程中的代码设计思路基本相同,因此省略,详细内容请参见光盘。 End Sub 单击TreeView控件根据选定节点的关键字,调用相应的菜单事件过程。具体代码如下: Private Sub TreeView1_NodeClick(ByVal Node As MSComctlLib.Node) Label1 = Node.FullPath For b = 1 To Image1.UBound Image1(b).Visible = False: lblCaption1(b).Visible = False: lblCaption1(b).Caption = "" Next b '当鼠标单击TreeView控件的父节点时,根据其下的子节点的数量,设置相应的Image1控件数组的 '可见数量、picture、Left和Top属性。 For a = 1 To TreeView1.SelectedItem.Children Image1(a).Visible = True: lblCaption1(a).Visible = True lblCaption1(a) = TreeView1.Nodes(TreeView1.SelectedItem.Child.index + a - 1).text Image1(a).Picture = LoadPicture(App.Path & "\" & Node.text & "\" & a & ".jpg") Image1(a).Left = Image1(0).Left + (Image1(a).Width + 420) * ((a - 1) Mod 4) lblCaption1(a).Left = Image1(a).Left Image1(a).Top = Int(a / 4.1) * (Image1(0).Height + 420) + Image1(0).Top lblCaption1(a).Top = Image1(a).Top + Image1(a).Height + 30 Next a '此处代码省略,详细内容可参见光盘 End Sub 4.4 部门管理模块设计 部门管理实现了部门的添加、修改、删除、展开和收缩等功能,其中使用了TreeView控件,充分体现了部门间上下级关系。其运行结果如图8所示。 图8 部门管理 1.窗体设计 部门管理窗体主要使用了Toolbar、ImageList、TreeView和TextBox等控件。其具体设计步骤如下: (1)单击“工程”/“添加窗体”菜单命令,在工程中添加一个新窗体,将该窗体的“名称”属性设置为main_jbzl_bmgl;BorderStyle属性设置为“2-Sizable”。 (2)在窗体中添加1个ImageList控件、1个Toolbar控件、1个TreeView控件、1个TextBox控件数组(text1(0)~text1(6))等。 2.代码设计 '声明模块级变量 Dim rs1 As New ADODB.Recordset, blnTJ as Boolean, blnAdd As Boolean Dim bmbh As String, bmjc As Integer ,i As Integer, lngOL As Long 自定义添加树状菜单的过程,其中使用了TreeView控件Nodes集合的Add方法,代码如下: Public Sub tree_change() '定义添加树状列表的函数 TreeView1.Nodes.Clear Dim mNode As Node rs1.Open "select * from 部门表 order by 部门编号,编码级次", Cnn, adOpenKeyset, adLockOptimistic If rs1.RecordCount > 0 Then rs1.MoveFirst Do While rs1.EOF = False Select Case rs1.Fields("编码级次") Case 1 Set mNode = TreeView1.Nodes.Add() mNode.text = "(" & rs1.Fields("本级编号") & ")" & rs1.Fields("部门名称") mNode.Key = rs1.Fields("部门全称") Case 2 Set mNode1 = TreeView1.Nodes.Add(mNode.index, tvwChild) mNode1.text = "(" & rs1.Fields("本级编号") & ")" & rs1.Fields("部门名称") mNode1.Key = rs1.Fields("部门全称") Case 3 Set mNode2 = TreeView1.Nodes.Add(mNode1.index, tvwChild) mNode2.text = "(" & rs1.Fields("本级编号") & ")" & rs1.Fields("部门名称") mNode2.Key = rs1.Fields("部门全称") Case 4 Set mNode3 = TreeView1.Nodes.Add(mNode2.index, tvwChild) mNode3.text = "(" & rs1.Fields("本级编号") & ")" & rs1.Fields("部门名称") mNode3.Key = rs1.Fields("部门全称") Case 5 Set mNode4 = TreeView1.Nodes.Add(mNode3.index, tvwChild) mNode4.text = "(" & rs1.Fields("本级编号") & ")" & rs1.Fields("部门名称") mNode4.Key = rs1.Fields("部门全称") End Select rs1.MoveNext Loop End If rs1.Close End Sub 自定义设置工具栏按钮和控件状态的函数过程,代码如下: Sub tlbState(state As Boolean) With Toolbar1 If state = True Then .Buttons(1).Enabled = False:.Buttons(2).Enabled = False For i = 4 To 11 .Buttons(i).Enabled = True Next i For i = 0 To Text1.UBound Text1(i).Locked = True Next i Else .Buttons(1).Enabled = True:.Buttons(2).Enabled = True For i = 4 To 11 .Buttons(i).Enabled = False Next i For i = 0 To Text1.UBound Text1(i).Locked = False Next i End If End With End Sub 窗体载入时,设置窗体标题,同时调用tree_change过程和tlbState函数过程,代码如下: Private Sub Form_Load() Me.Caption = text tree_change tlbState True End Sub 按【Enter】键,使下一个文本框获得焦点,并自动生成“部门全称”,代码如下: Private Sub Text1_KeyDown(index As Integer, KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn And index = 2 Then If blnAdd = False Then If Text1(3) <> "" Then Text1(3) = Left(Text1(3), Len(Text1(3)) - lngOL) & "(" & Text1(1) & ")" & Text1(2) Else If blnTJ = True Then If TreeView1.Nodes.Count > 0 Then If TreeView1.SelectedItem.Root.Selected = True Then Text1(3) = "(" & Text1(1) & ")" & Text1(2) Else Text1(3) = TreeView1.SelectedItem.Parent.FullPath & "\" & "(" & Text1(1) & ")" & Text1(2) End If Else Text1(3) = "(" & Text1(1) & ")" & Text1(2) End If Else Text1(3) = TreeView1.SelectedItem.FullPath & "\" & "(" & Text1(1) & ")" & Text1(2) End If End If Text1(4).SetFocus End If If KeyCode = vbKeyReturn And index > 3 And index < 6 Then Text1(index + 1).SetFocus End Sub Private Sub TreeView1_NodeClick(ByVal Node As MSComctlLib.Node) rs1.Open "select *
本文档为【人力资源管理系统毕业设计范例】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_068124
暂无简介~
格式:doc
大小:955KB
软件:Word
页数:45
分类:互联网
上传时间:2012-05-17
浏览量:38