您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > EXCEL VBA行政与人力资源管理应用案例详解 第6章
CHAPTER培训管理模块的设计6-1培训管理模块的总体设计6-2培训计划管理子模块6-3职工培训管理子模块6-4培训教师管理子模块6-5课程信息管理子模块6-6为培训管理自定义菜单命令和自定义命令按钮指定宏行政与人力资源管理应用案例详解培训管理是企业持续发展不可或缺的一项重要的基础。新招聘进来的员工在上岗之前要进行培训,老职工也要不断地进行各项培训,才能保持企业发展的动力,提高企业创新能力,提高职工的知识水平,使职工能够跟上时代的发展和社会的进步。因此,做好企业的培训工作,是企业人力资源管理的一项重要内容。一个培训管理模块,至少应包括以下几个子模块:“培训计划管理”、“职工培训管理”、“培训教师管理”和“课程信息管理”等,分别用于对培训计划管理、职工培训管理信息、培训教师信息和培训课程信息进行管理。本章将详细介绍培训管理模块的设计方法和步骤。6-1培训管理模块的总体设计6-1-1培训管理模块的构成培训管理模块包括以下4个子模块,各个子模块的功能如下。(1)培训计划管理:完成对培训计划管理信息资料的添加、修改、删除、保存、查询和审批等基本管理工作。(2)职工培训管理:完成对职工培训管理的各种信息资料的添加、修改、删除、保存、查询等。(3)培训教师管理:完成对培训教师管理信息的管理工作。(4)课程信息管理:完成对课程信息的管理工作。6-1-2设计培训管理数据表培训管理模块包括4个数据表,名称分别为“培训计划信息”、“职工培训信息”、“培训教师信息”和“培训课程信息”,各个数据表的数据结构设计如下。1.“培训计划信息”数据表“培训计划信息”数据表保存培训计划信息。“培训计划信息”数据表所包含的字段信息如表6-1所示。表6-1“培训计划信息”数据表字段字段名称字段类型字段大小是否允许为空申请部门文本10否培训内容文本20否培训目的文本20否培训课程文本20否培训起始时间日期否培训终止时间日期否培训地点文本20否培训人数文本整型否培训费用数字单精度型否260培训管理模块的设计6备注文本50是2.“职工培训信息”数据表“职工培训信息”数据表保存职工培训的各种信息资料。“职工培训信息”数据表所包含的字段信息如表6-2所示。表6-2“职工培训信息”数据表字段字段名称字段类型字段大小是否允许为空说明职工编号文本5否来源于“职工基本信息”数据表姓名文本10否来源于“职工基本信息”数据表性别文本1否来源于“职工基本信息”数据表所属部门文本10否来源于“职工基本信息”数据表培训课程文本20否培训地点文本20否培训起始时间日期否培训终止时间日期否培训费用数字单精度型否培训教师文本10否培训成绩数字单精度型否备注文本50是3.“培训教师信息”数据表“培训教师信息”数据表保存培训教师的基本信息。“培训教师信息”数据表所包含的字段信息如表6-3所示。表6-3“培训教师信息”数据表字段字段名称字段类型字段大小是否允许为空姓名文本10否性别文本1否教授课程文本20否单位文本40否联系电话文本12否备注文本50是4.“培训课程信息”数据表“培训课程信息”数据表保存培训课程的一些信息。“培训课程信息”数据表所包含的字段信息如表6-4所示。表6-4“培训课程信息”数据表字段字段名称字段类型字段大小是否允许为空课程编号文本10否课程名称文本20否所用教材文本30否261行政与人力资源管理应用案例详解课时数数字整型否开课时间日期否续上表字段名称字段类型字段大小是否允许为空结课时间日期否开课地点文本20否课程描述文本30否课程评价文本30否备注文本50是上述4个数据表由系统自动创建,具体程序代码可参阅第2章的有关内容。6-2培训计划管理子模块培训计划管理子模块的功能是完成对培训计划信息资料的添加、修改、删除、保存、查询、数据导出等基本功能,这些功能是通过一个“培训计划管理”主窗体和一个“按钮查询”子窗体共同实现的。6-2-1培训计划管理窗体结构设计“培训计划管理”窗体的结构如图6-1所示,它与第5章介绍的“招聘申请管理”窗体的结构大同小异。“培训计划管理”窗体由1个用户窗体、7个框架、1个复合框、10个标签、7个文本框、2个DTPicker控件、1个Spreadsheet控件和11个命令按钮组成。用户窗体及各个控件的功能及属性设置如下。图6-1“培训计划管理”主窗体结构(1)用户窗体:名称属性设置为“培训计划管理”,Caption属性设置为“培训计划管262培训管理模块的设计6理”。(2)7个框架:它们用于将不同功能的控件组合在一起。(3)框架Frame1的及其内部控件:框架Frame1:其Caption属性设置为“培训计划信息”。在框架Frame1内有10个标签、7个文本框、2个DTPicker控件和1个复合框,这些控件用于显示或输入培训计划信息。10个标签分别用于对7个文本框、2个DTPicker控件和1个复合框的功能进行说明,其Caption属性的设置情况如图6-1所示。7个文本框、2个DTPicker控件和1个复合框,我们称之为数据控件,其功能说明及属性设置如表6-5所示。表6-5数据控件的功能说明和属性设置控件类型控件名称(名称属性)控件功能默认值复合框申请部门显示或输入申请部门名称--请选择输入--文本框培训内容显示或输入培训内容说明文字文本框培训目的显示或输入培训目的说明文字文本框培训课程显示或输入培训课程名称DTPicker培训起始时间显示或输入培训起始时间DTPicker培训终止时间显示或输入培训终止时间文本框培训地点显示或输入培训地点文本框培训人数显示或输入培训人数文本框培训费用显示或输入培训费用文本框备注显示或输入备注文字(4)框架Frame2及其内部控件:框架Frame2:其Caption属性设置为“培训计划信息列表”。在框架Frame2内1个Spreadsheet控件Spreadsheet1,用于显示培训计划信息详细清单。在表格在单元格A1:J1中分别输入“申请部门”、“”、“”、“”、“”和“”,加粗字体,居中显示,并设置单元格区域颜色。(5)框架Frame3及其内部控件:框架Frame3:其Caption属性设置为“信息编辑”。在框架Frame3内有3个命令按钮,分别用于保存、修改和删除培训计划信息记录,其功能和属性设置如表6-6所示。(6)框架Frame4及其内部控件:在框架Frame4内有8个命令按钮和3个框架,其中:3个框架的Caption属性设置为空值,Height属性设置为3,分别将不同功能的命令按钮分别组合在一起。8个命令按钮:分别完成培训计划信息记录的查询、浏览、查看数据库等功能,各个命令按钮的具体功能和属性设置如表6-6所示。表6-6命令按钮控件的功能说明和属性设置名称属性Caption属性功能263行政与人力资源管理应用案例详解保存保存记录保存培训计划信息记录修改修改修改更新记录续上表名称属性Caption属性功能删除删除删除记录查询查询启动一个查询窗口,查询记录重置窗口重置窗口刷新窗口第一条第一条浏览第一条记录下一条下一条浏览下一条记录上一条上一条浏览上一条记录最末条最末条浏览最末条记录查看数据库查看数据库打开培训计划信息数据表退出系统退出系统关闭窗口,退出系统6-2-2培训计划管理窗体程序代码设计培训计划管理,就是以“人事管理.mdb”数据库中的“培训计划信息”数据表为基础,通过对该数据表进行访问,完成数据记录的添加、修改、删除、显示、查询和浏览等功能,所有这些功能都是通过“培训计划管理”窗体和有关控件、以及一个多条件查询窗体实现的。下面介绍“培训计划管理”窗体及有关控件的事件程序代码。而多条件查询窗体的结构及程序代码设计在前几章已经进行了介绍。1.定义模块级变量由于“培训计划管理”窗体上一些控件的事件程序要用到对一些数据表的查询数据集,因此首先定义一下模块级变量,它们放在“培训计划管理”窗体对象程序代码窗口的顶部:DimcnnAsADODB.Connection'定义培训管理数据库连接的Connection变量DimrsAsADODB.Recordset'定义培训管理数据库查询的Recordset变量DimmydataAsVariant'保存数据控件名称(字段名称)数组变量2.为“培训计划管理”窗体设计Initialize事件程序为“培训计划管理”窗体设置Initialize事件,以便在启动“培训计划管理”窗体时,系统自动建立与“人事管理”数据库的连接,查询有关数据表,对有关复合框进行项目设置。“培训计划管理”窗体的Initialize事件程序代码如下:PrivateSubUserForm_Initialize()OnErrorResumeNextmySearchShow=False'窗体显示数据不是查询出的数据mydata=Array(申请部门,培训内容,培训目的,培训课程,_培训起始时间,培训终止时间,培训地点,培训人数,培训费用,备注)'建立与数据库人事管理.mdb的连接Setcnn=NewADODB.ConnectionWithcnn.Provider=microsoft.jet.oledb.4.0.OpenThisWorkbook.Path&\人事管理.mdbEndWithCall建立培训计划信息查询264培训管理模块的设计6Call显示培训计划信息详细资料(rs)'为申请部门复合框设置项目CallComboboxAddItems(cnn,部门设置,部门名称,申请部门)申请部门.Value=--请选择输入--'将培训日期设置为计算机的当前日期培训起始时间.Value=Date:培训终止时间.Value=DateEndSub3.为Spreadsheet1控件设计Click事件程序为Spreadsheet1控件设计Click事件程序,以便当单击为Spreadsheet1控件中的某条记录时,该条记录的字段信息显示在数据相应的控件中,程序代码如下:PrivateSubSpreadsheet1_Click()OnErrorGoTohhhIfmySearchShow=FalseThenrs.AbsolutePosition=Spreadsheet1.ActiveCell.Row-1Call显示培训计划信息(rs)ElseIfmySearchShow=TrueThenrsSearch.AbsolutePosition=Spreadsheet1.ActiveCell.Row-1Call显示培训计划信息(rsSearch)EndIfExitSubhhh:Call输入新记录EndSub4.为培训人数文本框设计KeyPress事件程序为培训人数文本框设计KeyPress事件程序的目的,是为了限定用户只能输入0~9之间的数字。培训人数文本框的KeyPress事件程序代码如下:PrivateSub培训人数_KeyPress(ByValKeyAsciiAsMSForms.ReturnInteger)IfKeyAscii48OrKeyAscii57ThenKeyAscii=0培训人数.SetFocusEndIfEndSub5.为培训费用文本框设计KeyPress事件程序为培训费用文本框设计KeyPress事件程序的目的,是为了限定用户只能输入0~9之间的数字和小数点。培训费用文本框的KeyPress事件程序代码如下:PrivateSub培训费用_KeyPress(ByValKeyAsciiAsMSForms.ReturnInteger)If(KeyAscii48OrKeyAscii57)AndKeyAscii46ThenKeyAscii=0培训费用.SetFocusEndIfEndSub6.为复合框和文本框等数据控件设计Change事件程序由于数据库对复合框和文本框等数据控件输入的数据长度长度都事先设定了,为了防止输入的字符长度超过允许的长度而造成保存错误,为这些复合框和文本框等数据控件设计Change事件程序,以监控用户输入的字符长度。这些复合框和文本框等数据控件的Change事件程序程序代码如下:Priv
本文标题:EXCEL VBA行政与人力资源管理应用案例详解 第6章
链接地址:https://www.777doc.com/doc-950232 .html