您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > EXCEL VBA行政与人力资源管理应用案例详解 第8章
CHAPTER劳动合同管理模块的设计8-1劳动合同管理模块的总体设计8-2职工合同管理窗体结构设计8-3职工合同管理窗体程序代码设计8-4职工劳动合同管理子模块应用示例8-5为合同管理自定义菜单命令和自定义命令按钮指定宏行政与人力资源管理应用案例详解职工劳动合同管理是企业人力资源管理的一项重要内容。在人才流动性日益增强的今天,对职工的劳动合同进行管理,及时掌握职工的劳动合同期限和到期情况,以便及时做出劳动合同的续签工作和应聘人员转正工作,是非常重要的。劳动合同管理模块,主要功能是对职工和应聘人员的各种劳动合同(包括正式劳动合同和新聘员工的试用合同)进行统一管理。本章将详细介绍劳动合同管理模块的设计方法和步骤。8-1劳动合同管理模块的总体设计本章介绍的劳动合同管理模块包括一个子模块,即“职工合同管理”。在这个子模块中,将正式职工的正式劳动合同和新聘员工的试用合同放在一起进行统一管理。因此,劳动合同管理模块或“职工合同管理”子模块是以一个名为“职工合同信息”的数据表为基础的。“职工合同信息”数据表所包含的字段信息如表8-1所示。表8-1“职工合同信息”数据表字段字段名称字段类型字段大小是否允许为空说明职工编号文本5否来源于“职工基本信息”数据表姓名文本10否来源于“职工基本信息”数据表性别文本1否来源于“职工基本信息”数据表所属部门文本10否来源于“职工基本信息”数据表合同编号文本13否由职工编号和签订日期数字组成合同类型文本2否合同起始日日期否合同终止日日期否合同期限数字单精度型否试用期数字整型否备注文本50是“职工合同信息”数据表由系统自动创建,具体程序代码可参阅第2章的有关内容。“职工合同管理”子模块由一个“职工合同管理”主窗体、一个“按钮查询”子窗体和一个“职工信息输入”子窗体组成,其中“按钮查询”子窗体和“职工信息输入”子窗体在前面的章节中已经作了介绍,下面主要介绍“职工合同管理”主窗体的设计。8-2职工合同管理窗体结构设计“职工合同管理”窗体的结构如图8-1所示,它与第7章介绍的一些窗体的结构大同小异。“职工合同管理”窗体由1个用户窗体、6个框架、1个复合框、13个标签、8个文本框、2个DTPicker控件、1个Spreadsheet控件和11个命令按钮组成。用户窗体及各个控件的功能及属性设置说明如下。314劳动合同管理模块的设计8图8-1“职工合同管理”主窗体结构(1)用户窗体:名称属性和Caption属性均设置为“职工合同管理”。(2)6个框架:它们用于将不同功能的控件组合在一起。其中4个框架的Caption属性分别设置为“合同信息”、“编辑记录”、“查询浏览记录”和“职工合同信息列表”;2个框架的Caption属性都设置为空值,Height属性设置为3,并分别放置于标题为“合同信息”和“查询浏览记录”的框架内,用于将不同功能的控件分隔成组。(3)标题为“合同信息”框架内的控件:在此框架内,有13个标签、8个文本框、1个复合框和2个DTPicker控件,这些控件用于显示或输入职工劳动合同信息。13个标签分别用于对8个文本框、1个复合框和2个DTPicker控件的功能进行说明,其Caption属性的设置情况见如8-1所示。8个文本框、1个复合框和2个DTPicker控件用于输入或显示职工劳动合同信息,其功能说明及属性设置如表8-2所示。表8-2职工劳动合同信息数据控件的功能说明和属性设置控件类型控件名称(名称属性)控件功能文本框职工编号显示或输入职工编号文本框姓名显示或输入职工姓名文本框性别显示或输入职工性别文本框所属部门显示或输入职工所属部门文本框合同编号显示或输入合同编号复合框合同类型显示或输入合同类型DTPicker合同起始日显示或输入合同起始日DTPicker合同终止日显示或输入合同终止日文本框合同期限显示或输入合同期限文本框试用期显示或输入试用期文本框备注显示或输入备注文字315行政与人力资源管理应用案例详解(4)用户窗体上的11个命令按钮:分别完成保存、修改、查询浏览记录等功能,其功能说明和属性设置如表8-3所示。表8-3命令按钮的功能说明和属性设置名称属性Caption属性功能输入新数据输入新数据打开“职工信息输入”子窗体,准备输入新职工的劳动合同信息保存保存保存劳动合同信息记录更新更新更新劳动合同信息记录删除删除删除劳动合同信息记录查询查询启动一个查询窗口,查询劳动合同信息记录重置窗口重置窗口刷新窗口第一条第一条浏览第一条记录下一条下一条浏览下一条记录上一条上一条浏览上一条记录最末条最末条浏览最末条记录退出退出系统关闭“职工合同管理”窗体(5)在Spreadsheet1控件的单元格A1:K1中分别输入“职工编号”、“职工姓名”、“性别”、“所属部门”、“合同编号”、“合同类型”、“合同起始日期”、“合同终止日期”、“合同期限(年)”、“试用期(天)”和“备注”,加粗字体,并居中显示。8-3职工合同管理窗体程序代码设计劳动合同管理,就是以“人事管理.mdb”数据库中的“职工合同信息”数据表为基础,通过“职工合同管理”窗体及有关控件,完成在职职工和应聘人员的劳动合同资料的添加、修改、删除、显示等功能。下面介绍“职工合同管理”主窗体及有关控件的事件程序代码。1.定义模块级变量首先定义下面的模块级变量,它们放在窗体对象程序代码窗口的顶部:DimcnnAsADODB.ConnectionDimrsContractAsADODB.Recordset2.为用户窗体设计Initialize事件程序为用户窗体设置Initialize事件,以便在启动“职工合同管理”窗体时,系统自动建立与数据库的连接,对有关的数据表进行查询,并设置某些控件的属性。“职工合同管理”窗体的Initialize事件程序代码如下:PrivateSubUserForm_Initialize()mySearchShow=False'建立与人事管理数据库的连接Setcnn=NewADODB.ConnectionWithcnn.Provider=microsoft.jet.oledb.4.0.OpenThisWorkbook.Path&\人事管理.mdbEndWith316劳动合同管理模块的设计8Call合同信息查询Call显示合同信息记录清单(rsContract)With合同类型.AddItem正式.AddItem试用EndWith职工编号.Enabled=False:姓名.Enabled=False:性别.Enabled=False所属部门.Enabled=False:合同起始日.Value=Date:合同终止日.Value=Date输入新数据.SetFocusEndSub3.为有关控件设计Change事件程序为了防止在有关的文本框和复合框中输入过长的数据,引起保存数据出现错误,应当对这些控件设置Change事件,以保证输入数据的长度不超过规定允许的长度。一些控件的Change事件程序代码如下:PrivateSub合同编号_Change()CallTextBoxDataLength(cnn,职工合同信息,合同编号,合同编号)EndSubPrivateSub合同类型_Change()CallComboBoxDataLength(cnn,职工合同信息,合同类型,合同类型)If合同类型.Value=正式Then试用期.Value=0EndSubPrivateSub备注_Change()CallTextBoxDataLength(cnn,职工合同信息,备注,备注)EndSub4.为“合同期限”和“试用期”2个文本框设计KeyPress事件程序为“合同期限”和“试用期”2个文本框设计KeyPress事件程序,以控制用户只能输入输入0~9之间的数字和小数点,程序代码分别如下:PrivateSub合同期限_KeyPress(ByValKeyAsciiAsMSForms.ReturnInteger)If(KeyAscii48OrKeyAscii57)AndKeyAscii46ThenKeyAscii=0:合同期限.SetFocusEndIfEndSubPrivateSub试用期_KeyPress(ByValKeyAsciiAsMSForms.ReturnInteger)If(KeyAscii48OrKeyAscii57)AndKeyAscii46ThenKeyAscii=0:试用期.SetFocusEndIfEndSub5.为【输入新数据】按钮设计Click事件程序单击【输入新数据】按钮,系统将打开“职工信息输入”子窗体,以方便用户查找输入某职工的基本信息,同时清空文本框中的合同信息数据,准备输入新的合同信息资料。【输入新数据】按钮Click事件的程序代码如下:PrivateSub输入新数据_Click()OnErrorResumeNextCall清除合同窗口数据职工信息输入.Show职工编号.Value=Format(职工信息输入.Spreadsheet1.ActiveCell.Value,00000)姓名.Value=职工信息输入.Spreadsheet1.ActiveCell.Offset(0,1).Value性别.Value=职工信息输入.Spreadsheet1.ActiveCell.Offset(0,2).Value317行政与人力资源管理应用案例详解所属部门.Value=职工信息输入.Spreadsheet1.ActiveCell.Offset(0,3).Value合同起始日.Value=Date:合同终止日.Value=Date:合同编号.SetFocusUnload职工信息输入EndSub6.为【保存】按钮设计Click事件程序单击【保存】按钮,系统就将职工劳动合同信息记录保存到“职工合同信息”数据表中。在保存数据之前,系统将检查一些数据控件是否已经输入了数据,数据表中是否已经存在了职工编号相同、合同编号相同的记录。【保存】按钮Click事件的程序代码如下:PrivateSub保存_Click()OnErrorGoTohhhmySearchShow=False'判断有关的数据是否为空IfComboBoxDataIsBlank(合同类型,合同类型)=TrueThenExitSubIfIsNull(合同起始日.Value)ThenMsgBox合同起始日不能为空!,vbCritical,警告合同起始日.Value=Date:ExitSubEndIfIfIsNull(合同终止日.Value)ThenMsgBox合同终止日不能为空!,vbCritical,警告合同终止日.Value=Date:ExitSubEndIfIfTextBoxDataIsBlank(合同期限,合同期限)=TrueThenExitSubIfTextBoxDataIsBlank(试用期,试用期)=TrueThenExitSub'判断数据库中是否已经存在了某个职工的合同信息DimmysqlAsStringDimrsCheckAsADODB.RecordsetSetrsCheck=NewADODB.Recordsetmysql=select*from职工合同信息where职工编号='&职工编号.Value&'_&and合同编号='&合同编号.Value&'rsCheck.Openmysql,cnn,adOpenKeyset,adLockOptimisticIfrsCheck.RecordCount0ThenMsgBox数据库中已经存在了下面的合同记录:&vbCrLf&vbCrLf_&职工编号:&职工编号.Value&vbCrLf_&姓名:&姓名.Value&vbCrLf_&合同编号:&合同编号.Value&vbCrLf&vbCrLf&vbCrLf_&请重新选择职工或输入新的合同编号!,vbCritical,合同重复错误!SetrsCheck=NothingExitSubEndIfCall合同信息查询rsContract.AddNewCall保存合同信息数
本文标题:EXCEL VBA行政与人力资源管理应用案例详解 第8章
链接地址:https://www.777doc.com/doc-950235 .html