EXCEL VBA行政与人力资源管理应用案例详解 第6章

上传人:无*** 文档编号:181491398 上传时间:2023-01-14 格式:PDF 页数:27 大小:737.47KB
收藏 版权申诉 举报 下载
EXCEL VBA行政与人力资源管理应用案例详解 第6章_第1页
第1页 / 共27页
EXCEL VBA行政与人力资源管理应用案例详解 第6章_第2页
第2页 / 共27页
EXCEL VBA行政与人力资源管理应用案例详解 第6章_第3页
第3页 / 共27页
资源描述:

《EXCEL VBA行政与人力资源管理应用案例详解 第6章》由会员分享,可在线阅读,更多相关《EXCEL VBA行政与人力资源管理应用案例详解 第6章(27页珍藏版)》请在装配图网上搜索。

1、 C H A P T E R 培训管理模块的设计 6-1 培训管理模块的总体设计 6-2 培训计划管理子模块 6-3 职工培训管理子模块 6-4 培训教师管理子模块 6-5 课程信息管理子模块 6-6 为培训管理自定义菜单命令和自定义命令按钮指定宏 行政与人力资源管理应用案例详解 培训管理是企业持续发展不可或缺的一项重要的基础。新招聘进来的员工在上岗之前要进行培训,老职工也要不断地进行各项培训,才能保持企业发展的动力,提高企业创新能力,提高职工的知识水平,使职工能够跟上时代的发展和社会的进步。因此,做好企业的培训工作,是企业人力资源管理的一项重要内容。一个培训管理模块,至少应包括以下几个子模块

2、:“培训计划管理”、“职工培训管理”、“培训教师管理”和“课程信息管理”等,分别用于对培训计划管理、职工培训管理信息、培训教师信息和培训课程信息进行管理。本章将详细介绍培训管理模块的设计方法和步骤。6-1 培训管理模块的总体设计 6-1-1 培训管理模块的构成 培训管理模块包括以下 4 个子模块,各个子模块的功能如下。(1)培训计划管理:完成对培训计划管理信息资料的添加、修改、删除、保存、查询和审批等基本管理工作。(2)职工培训管理:完成对职工培训管理的各种信息资料的添加、修改、删除、保存、查询等。(3)培训教师管理:完成对培训教师管理信息的管理工作。(4)课程信息管理:完成对课程信息的管理工

3、作。6-1-2 设计培训管理数据表 培训管理模块包括 4 个数据表,名称分别为“培训计划信息”、“职工培训信息”、“培训教师信息”和“培训课程信息”,各个数据表的数据结构设计如下。1“培训计划信息”数据表“培训计划信息”数据表保存培训计划信息。“培训计划信息”数据表所包含的字段信息如表 6-1 所示。表 6-1 “培训计划信息”数据表字段 字段名称 字段类型 字段大小 是否允许为空 申请部门 文本 10 否 培训内容 文本 20 否 培训目的 文本 20 否 培训课程 文本 20 否 培训起始时间 日期 否 培训终止时间 日期 否 培训地点 文本 20 否 培训人数 文本 整型 否 培训费用

4、数字 单精度型 否 260 培训管理模块的设计 6 备注 文本 50 是 2“职工培训信息”数据表“职工培训信息”数据表保存职工培训的各种信息资料。“职工培训信息”数据表所包含的字段信息如表 6-2 所示。表 6-2 “职工培训信息”数据表字段 字段名称 字段类型 字段大小是否允许为空说 明 职工编号 文本 5 否 来源于“职工基本信息”数据表 姓名 文本 10 否 来源于“职工基本信息”数据表 性别 文本 1 否 来源于“职工基本信息”数据表 所属部门 文本 10 否 来源于“职工基本信息”数据表 培训课程 文本 20 否 培训地点 文本 20 否 培训起始时间 日期 否 培训终止时间 日期

5、 否 培训费用 数字 单精度型否 培训教师 文本 10 否 培训成绩 数字 单精度型否 备注 文本 50 是 3“培训教师信息”数据表“培训教师信息”数据表保存培训教师的基本信息。“培训教师信息”数据表所包含的字段信息如表 6-3 所示。表 6-3 “培训教师信息”数据表字段 字段名称 字段类型 字段大小 是否允许为空 姓名 文本 10 否 性别 文本 1 否 教授课程 文本 20 否 单位 文本 40 否 联系电话 文本 12 否 备注 文本 50 是 4“培训课程信息”数据表“培训课程信息”数据表保存培训课程的一些信息。“培训课程信息”数据表所包含的字段信息如表 6-4 所示。表 6-4

6、“培训课程信息”数据表字段 字段名称 字段类型 字段大小 是否允许为空 课程编号 文本 10 否 课程名称 文本 20 否 所用教材 文本 30 否 261 行政与人力资源管理应用案例详解课时数 数字 整型 否 开课时间 日期 否 续上表 字段名称 字段类型 字段大小 是否允许为空 结课时间 日期 否 开课地点 文本 20 否 课程描述 文本 30 否 课程评价 文本 30 否 备注 文本 50 是 上述 4 个数据表由系统自动创建,具体程序代码可参阅第 2 章的有关内容。6-2 培训计划管理子模块 培训计划管理子模块的功能是完成对培训计划信息资料的添加、修改、删除、保存、查询、数据导出等基本

7、功能,这些功能是通过一个“培训计划管理”主窗体和一个“按钮查询”子窗体共同实现的。6-2-1 培训计划管理窗体结构设计“培训计划管理”窗体的结构如图 6-1 所示,它与第 5 章介绍的“招聘申请管理”窗体的结构大同小异。“培训计划管理”窗体由 1 个用户窗体、7 个框架、1 个复合框、10 个标签、7 个文本框、2 个 DTPicker 控件、1 个 Spreadsheet 控件和 11 个命令按钮组成。用户窗体及各个控件的功能及属性设置如下。图 6-1 “培训计划管理”主窗体结构(1)用户窗体:名称属性设置为“培训计划管理”,Caption 属性设置为“培训计划管 262 培训管理模块的设计

8、 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-

9、5 数据控件的功能说明和属性设置 控件类型 控件名称(名称属性)控件功能 默 认 值 复合框 申请部门 显示或输入申请部门名称-请选择输入-文本框 培训内容 显示或输入培训内容说明文字 文本框 培训目的 显示或输入培训目的说明文字 文本框 培训课程 显示或输入培训课程名称 DTPicker 培训起始时间 显示或输入培训起始时间 DTPicker 培训终止时间 显示或输入培训终止时间 文本框 培训地点 显示或输入培训地点 文本框 培训人数 显示或输入培训人数 文本框 培训费用 显示或输入培训费用 文本框 备注 显示或输入备注文字 (4)框架 Frame2 及其内部控件:框架 Frame2:其 C

10、aption 属性设置为“培训计划信息列表”。在框架Frame2内 1个 Spreadsheet控件Spreadsheet1,用于显示培训计划信息详细清单。在表格在单元格 A1:J1 中分别输入“申请部门”、“”、“”、“”、“”和“”,加粗字体,居中显示,并设置单元格区域颜色。(5)框架 Frame3 及其内部控件:框架 Frame3:其 Caption 属性设置为“信息编辑”。在框架 Frame3 内有 3 个命令按钮,分别用于保存、修改和删除培训计划信息记录,其功能和属性设置如表 6-6 所示。(6)框架 Frame4 及其内部控件:在框架 Frame4 内有 8 个命令按钮和 3 个框

11、架,其中:3 个框架的 Caption 属性设置为空值,Height 属性设置为 3,分别将不同功能的命令按钮分别组合在一起。8 个命令按钮:分别完成培训计划信息记录的查询、浏览、查看数据库等功能,各个命令按钮的具体功能和属性设置如表 6-6 所示。表 6-6 命令按钮控件的功能说明和属性设置 名称属性 Caption 属性 功 能 263 行政与人力资源管理应用案例详解保存 保存记录 保存培训计划信息记录 修改 修改 修改更新记录 续上表 名称属性 Caption 属性 功 能 删除 删除 删除记录 查询 查询 启动一个查询窗口,查询记录 重置窗口 重置窗口 刷新窗口 第一条 第一条 浏览第

12、一条记录 下一条 下一条 浏览下一条记录 上一条 上一条 浏览上一条记录 最末条 最末条 浏览最末条记录 查看数据库 查看数据库 打开培训计划信息数据表 退出系统 退出系统 关闭窗口,退出系统 6-2-2 培训计划管理窗体程序代码设计 培训计划管理,就是以“人事管理.mdb”数据库中的“培训计划信息”数据表为基础,通过对该数据表进行访问,完成数据记录的添加、修改、删除、显示、查询和浏览等功能,所有这些功能都是通过“培训计划管理”窗体和有关控件、以及一个多条件查询窗体实现的。下面介绍“培训计划管理”窗体及有关控件的事件程序代码。而多条件查询窗体的结构及程序代码设计在前几章已经进行了介绍。1定义模

13、块级变量 由于“培训计划管理”窗体上一些控件的事件程序要用到对一些数据表的查询数据集,因此首先定义一下模块级变量,它们放在“培训计划管理”窗体对象程序代码窗口的顶部:Dim cnn As ADODB.Connection 定义培训管理数据库连接的 Connection 变量 Dim rs As ADODB.Recordset 定义培训管理数据库查询的 Recordset 变量 Dim mydata As Variant 保存数据控件名称(字段名称)数组变量 2为“培训计划管理”窗体设计 Initialize 事件程序 为“培训计划管理”窗体设置 Initialize 事件,以便在启动“培训计划

14、管理”窗体时,系统自动建立与“人事管理”数据库的连接,查询有关数据表,对有关复合框进行项目设置。“培训计划管理”窗体的 Initialize 事件程序代码如下:Private Sub UserForm_Initialize()On Error Resume Next mySearchShow=False 窗体显示数据不是查询出的数据 mydata=Array(申请部门,培训内容,培训目的,培训课程,_ 培训起始时间,培训终止时间,培训地点,培训人数,培训费用,备注)建立与数据库人事管理.mdb的连接 Set cnn=New ADODB.Connection With cnn .Provider

15、=microsoft.jet.oledb.4.0 .Open ThisWorkbook.Path&人事管理.mdb End With Call 建立培训计划信息查询 264 培训管理模块的设计 6 Call 显示培训计划信息详细资料(rs)为申请部门复合框设置项目 Call ComboboxAddItems(cnn,部门设置,部门名称,申请部门)申请部门.Value=-请选择输入-将培训日期设置为计算机的当前日期 培训起始时间.Value=Date:培训终止时间.Value=Date End Sub 3为 Spreadsheet1 控件设计 Click 事件程序 为 Spreadsheet1

16、控件设计 Click 事件程序,以便当单击为 Spreadsheet1 控件中的某条记录时,该条记录的字段信息显示在数据相应的控件中,程序代码如下:Private Sub Spreadsheet1_Click()On Error GoTo hhh If mySearchShow=False Then rs.AbsolutePosition=Spreadsheet1.ActiveCell.Row-1 Call 显示培训计划信息(rs)ElseIf mySearchShow=True Then rsSearch.AbsolutePosition=Spreadsheet1.ActiveCell.Ro

17、w-1 Call 显示培训计划信息(rsSearch)End If Exit Sub hhh:Call 输入新记录 End Sub 4为培训人数文本框设计 KeyPress 事件程序 为培训人数文本框设计 KeyPress 事件程序的目的,是为了限定用户只能输入 09 之间的数字。培训人数文本框的 KeyPress 事件程序代码如下:Private Sub 培训人数_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)If KeyAscii 57 Then KeyAscii=0 培训人数.SetFocus End If End Sub 5为培训费用

18、文本框设计 KeyPress 事件程序 为培训费用文本框设计 KeyPress 事件程序的目的,是为了限定用户只能输入 09 之间的数字和小数点。培训费用文本框的 KeyPress 事件程序代码如下:Private Sub 培训费用_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)If(KeyAscii 57)And KeyAscii 46 Then KeyAscii=0 培训费用.SetFocus End If End Sub 6为复合框和文本框等数据控件设计 Change 事件程序 由于数据库对复合框和文本框等数据控件输入的数据长度长度都事

19、先设定了,为了防止输入的字符长度超过允许的长度而造成保存错误,为这些复合框和文本框等数据控件设计 Change 事件程序,以监控用户输入的字符长度。这些复合框和文本框等数据控件的Change 事件程序程序代码如下:Private Sub 申请部门_Change()265 行政与人力资源管理应用案例详解 Call ComboBoxDataLength(cnn,培训计划信息,申请部门,申请部门)End Sub Private Sub 培训内容_Change()Call TextBoxDataLength(cnn,培训计划信息,培训内容,培训内容)End Sub Private Sub 培训目的_C

20、hange()Call TextBoxDataLength(cnn,培训计划信息,培训目的,培训目的)End Sub Private Sub 培训课程_Change()Call TextBoxDataLength(cnn,培训计划信息,培训课程,培训课程)End Sub Private Sub 专业要求_Change()Call TextBoxDataLength(cnn,培训计划信息,专业要求,专业要求)End Sub Private Sub 培训地点_Change()Call TextBoxDataLength(cnn,培训计划信息,培训地点,培训地点)End Sub Private Su

21、b 备注_Change()Call TextBoxDataLength(cnn,培训计划信息,备注,备注)End Sub 7为【保存】按钮设计 Click 事件程序 单击【保存】按钮,就将输入的各个数据添加到数据表“培训计划信息”中。【保存】按钮的 Click 事件程序代码如下:Private Sub 保存_Click()On Error GoTo hhh mySearchShow=False If ComboBoxDataIsBlank(申请部门,申请部门)=True Then Exit Sub If TextBoxDataIsBlank(培训内容,培训内容)=True Then Exit

22、Sub If TextBoxDataIsBlank(培训目的,培训目的)=True Then Exit Sub If TextBoxDataIsBlank(培训课程,培训课程)=True Then Exit Sub If TextBoxDataIsBlank(培训地点,培训地点)=True Then Exit Sub If TextBoxDataIsBlank(培训人数,培训人数)=True Then Exit Sub If TextBoxDataIsBlank(培训费用,培训费用)=True Then Exit Sub If 培训起始时间.Value=Then MsgBox 请选择输入培训起

23、始时间!,vbExclamation,注意 培训起始时间.SetFocus:Exit Sub End If If 培训终止时间.Value=Then MsgBox 请选择或输入培训终止时间!,vbExclamation,注意 培训终止时间.SetFocus:Exit Sub End If 将数据添加到数据库中 Call 建立培训计划信息查询 rs.AddNew Call 保存培训计划信息(rs)刷新基本信息查询 Call 建立培训计划信息查询 Call 显示培训计划信息详细资料(rs)Call 输入新记录 将窗口清空 Exit Sub 266 培训管理模块的设计 6 hhh:MsgBox 保存

24、数据出现错误!&vbCrLf&vbCrLf _&错误为:&Err.Description,vbCritical,保存错误 End Sub 8为【修改】按钮设计 Click 事件程序 如果用户想要修改某条记录,可以单击【查询】按钮,或单击【第一条】、【下一条】、【上一条】、【最末条】按钮,将该条记录查询并显示出来,或者在 Spreadsheet1 控件中标记出某条记录,然后在窗体中对需要修改的项目进行修改,最后单【修改】按钮,即可将该条记录进行修改更新。【修改】按钮的 Click 事件程序代码如下:Private Sub 修改_Click()Dim i As Integer res=MsgBox

25、(准备修改当前的培训计划信息记录!真要修改吗?,_ vbYesNo+vbDefaultButton2+vbQuestion,修改培训计划信息)If res=vbNo Then Exit Sub 按窗体显示的数据种类进行修改 If mySearchShow=False Then Call 保存培训计划信息(rs)Call 建立培训计划信息查询 Call 显示培训计划信息详细资料(rs)ElseIf mySearchShow=True Then Call 保存培训计划信息(rsSearch)Call 显示培训计划信息详细资料(rsSearch)End If End Sub 9为【删除】按钮设计 C

26、lick 事件程序 如果要删除某条记录,可以通过单击【查询】按钮,或单击【第一条】、【下一条】、【上一条】、【最末条】按钮,将该条记录查询并显示出来,或者在 Spreadsheet1 控件中标记出某条记录,然后单击【删除】按钮,即可将该条记录删除。【删除】按钮的 Click 事件程序代码如下:Private Sub 删除_Click()On Error Resume Next res=MsgBox(准备删除当前的培训计划信息记录!真要删除吗?,_ vbYesNo+vbDefaultButton2+vbQuestion,删除培训计划信息)If res=vbNo Then Exit Sub rs.

27、Delete 删除选定的记录 Call 重置窗口_Click 将窗口清空 Call 建立培训计划信息查询 刷新招聘信息数据库查询 Call 显示培训计划信息详细资料(rs)End Sub 10为【查询】按钮设计 Click 事件程序 单击【查询】按钮,系统将弹出一个名为“按钮查询”的查询窗口(这个查询窗体的设计将在后面小节介绍),用户可以设置查询条件查询培训计划信息,并将查询出的记录在“培训计划管理”窗体上的数据控件中显示出来,同时在 Spreadsheet1 控件中仅显示出查询出的记录,而不显示其他的记录。【查询】按钮的 Click 事件程序代码如下:Private Sub 查询_Click

28、()On Error Resume Next 267 行政与人力资源管理应用案例详解 Call 输入新记录 将各个控件的项目清除 按钮查询.Show 启动按钮查询子窗体 End Sub 11为【重置窗口】按钮设计 Click 事件程序 当单击【查询】按钮查询记录后,在 Spreadsheet1 控件中仅显示出查询出的记录。为了恢复在 Spreadsheet1 控件中显示全部记录,需要单击【重置窗口】按钮,对数据表进行全部刷新查询,并显示出全部记录。【重置窗口】按钮的 Click 事件程序代码如下:Private Sub 重置窗口_Click()mySearchShow=False Call 建

29、立培训计划信息查询 Call 显示培训计划信息(rs)Call 显示培训计划信息详细资料(rs)Spreadsheet1.Range(A2).Select End Sub 12为【第一条】、【下一条】、【上一条】和【最末条】按钮设计 Click 事件程序 在“培训计划管理”主窗体上,有 4 个浏览记录的按钮【第一条】、【下一条】、【上一条】和【最末条】按钮,单击它们,就会浏览数据表中的第一条、下一条、上一条和最末条记录。这 4 个按钮的 Click 事件程序与前面介绍的有关窗体上的 4 个浏览按钮的 Click 事件程序基本相同,只是这里要调用的子程序为“显示培训计划信息”。为节省版面,省略程

30、序代码。13为【查看数据库】按钮设计 Click 事件程序 用户除了可以单击【查询】按钮或 4 个浏览按钮【第一条】、【下一条】、【上一条】、【最末条】按钮进行查询、添加、修改、删除记录等操作外,还可以单击【查看数据库】按钮,打开“培训计划信息”数据表,直接在数据表中进行查询、添加、修改、删除记录等操作。【查看数据库】按钮的 Click 事件程序代码与前面介绍的有关窗体上的【查看数据库】按钮的 Click 事件程序基本相同,只是要打开的数据表不同,即唯一不同的语句是:myaccess.DoCmd.OpenTable 培训计划信息 14为【退出系统】按钮设计 Click 事件程序 单击【退出系统

31、】按钮,将关闭“培训计划管理”主窗体。【退出系统】按钮的 Click事件程序代码如下:Private Sub 退出系统_Click()End End Sub 15子程序“显示培训计划信息”程序代码 在上述的各个控件事件程序中,调用了一个名为“显示培训计划信息”的子程序,这个子程序的功能是将查询出的记录数据显示在主窗体的各个控件中,其程序代码如下:Public Sub 显示培训计划信息(myRs As ADODB.Recordset)Dim i As Integer For i=0 To UBound(mydata)If IsNull(myRs.Fields(i)Then Me.Controls

32、(mydata(i).Value=Else Me.Controls(mydata(i).Value=myRs.Fields(i)End If 268 培训管理模块的设计 6 Next i End Sub 16子程序“建立培训计划信息查询”程序代码 子程序“建立培训计划信息查询”的程序代码如下:Public Sub 建立培训计划信息查询()Dim mysql As String Set rs=New ADODB.Recordset mysql=select*from 培训计划信息 rs.Open mysql,cnn,adOpenKeyset,adLockOptimistic End Sub 17

33、子程序“保存培训计划信息”程序代码 设置子程序“保存培训计划信息”的目的是简化程序代码。子程序“保存培训计划信息”的程序代码如下:Public Sub 保存培训计划信息(myRs As ADODB.Recordset)Dim i As Integer For i=0 To UBound(mydata)If Me.Controls(mydata(i).Value=Then myRs.Fields(i)=Else myRs.Fields(i)=Me.Controls(mydata(i).Value End If Next i myRs.Update End Sub 18子程序“显示培训计划信息详细

34、资料”程序代码 子程序“显示培训计划信息详细资料”的功能就是在控件 Spreadsheet1 中显示全部的招聘信息记录,其程序代码如下:Public Sub 显示培训计划信息详细资料(myRs As ADODB.Recordset)On Error Resume Next Spreadsheet1.Application.ActiveSheet.Unprotect Spreadsheet1.Range(A2:BB10000).ClearContents For i=1 To myRs.RecordCount For j=0 To myRs.Fields.Count-1 If IsNull(my

35、Rs.Fields(j)Then Spreadsheet1.Cells(1+i,j+1)=Else Spreadsheet1.Cells(1+i,j+1)=myRs.Fields(j)End If Next j myRs.MoveNext Next i myRs.MoveFirst Spreadsheet1.Columns(E:E).NumberFormat=yyyy-mm-dd Spreadsheet1.Columns(F:F).NumberFormat=yyyy-mm-dd Spreadsheet1.Cells.Font.Size=10 Spreadsheet1.Rows.AutoFit

36、Spreadsheet1.Columns.AutoFit Spreadsheet1.Application.ActiveSheet.Protect 269 行政与人力资源管理应用案例详解End Sub 19子程序“输入新记录”程序代码 子程序“输入新记录”的功能是为查询记录作准备,或在出现错误时,将窗口数据清除,其程序代码如下:Public Sub 输入新记录()Dim i As Integer For i=0 To UBound(mydata)Me.Controls(mydata(i).Value=Next i 申请部门.SetFocus End Sub 6-2-3 培训计划管理子模块应用示

37、例 执行自定义菜单【培训管理】中的【培训计划管理】命令,或单击【培训管理】自定义工具栏中的【培训计划管理】命令按钮,就可以打开“培训计划管理”窗体,如图 6-2所示,用户就可以通过此窗体输入、浏览编辑、查询培训计划信息。下面简要介绍培训计划管理功能模块的使用方法。图 6-2 “培训计划管理”窗口 1输入并保存 在图 6-2 所示的“培训计划管理”窗体中,输入各项数据后,单击【保存】按钮,就将所有的数据保存到“培训计划信息”数据表中。图 6-3 为输入了数据后的窗体情况。270 培训管理模块的设计 6 图 6-3 “培训计划管理”窗口输入信息 当需要输入新的信息时,单击窗口下面的表格的空白单元格

38、,即可将各个文本框数据清除,以方便输入新数据。2浏览记录 单击窗体上的【第一条】按钮、【下一条】按钮、【上一条】按钮和【最末条】按钮,或在“培训计划信息清单”表格中滚动垂直滚动条,单击某个单元格,就可以对“培训计划信息”数据表中的记录进行浏览。3查询记录 单击窗体上的【查询】按钮,系统将打开“按钮查询”子窗体,用户可以任意组合查询条件,对培训计划信息进行查询。查询记录的方法在前面各章中已经做了介绍,此处不再重复。4修改记录 如果想要修改某条记录,可以单击【查询】按钮,或单击【第一条】、【下一条】、【上一条】、【最末条】按钮,将该条记录查询并显示出来,或在“培训计划信息清单”表格中将记录标示出来

39、(单击该条记录所在行的任一单元格),然后在窗体中对需要修改的项目进行修改,最后单击【修改】按钮,即可将该条记录进行修改更新。5删除记录 如果想要删除某条记录,可以单击【查询】按钮,或单击【第一条】、【下一条】、【上一条】、【最末条】按钮,将该条记录查询并显示出来,或在“培训计划信息清单”表格中将记录标示出来(单击该条记录所在行的任一单元格),然后单击【删除】按钮,即可将该条记录删除。6查看数据表 单击主窗体上的【查看数据库】按钮,即可打开“培训计划信息”数据表,用户就可以很方便地在数据表中进行添加、修改、删除记录等操作。271 行政与人力资源管理应用案例详解6-3 职工培训管理子模块 职工培训

40、管理子模块的功能是完成对职工的培训信息进行添加、修改、删除、保存、查询、浏览等基本功能。职工培训管理模块的这些功能是通过一个“职工培训管理”主窗体和一个“按钮查询”子窗体以及一个获取职工基本信息的子窗体“职工信息输入”共同实现的。6-3-1 职工培训管理主窗体设计“职工培训管理”主窗体的结构如图 6-4 所示。在“职工培训管理”主窗体上,有 5个框架、12 个标签、10 个文本框、2 个 DTPicker 控件、1 个 Spreadsheet 控件和 11 个命令按钮组成。用户窗体及各个控件的功能及属性设置如下。图 6-4 “职工培训管理”主窗体结构(1)用户窗体:其名称属性设置为“职工培训管

41、理”,Caption 属性设置为“职工培训管理”。(2)5 个框架:它们用于将不同功能的控件组合在一起。(3)框架 Frame1 及其内部控件:框架 Frame1:其 Caption 属性设置为“职工培训信息”。在框架 Frame1 内有 12 个标签、10 个文本框和 2 个 DTPicker 控件,这些控件用于显示或输入职工培训信息。12 个标签分别用于对 10 个文本框和 2 个 DTPicker 控件(称为数据控件)的功能进行说明,其 Caption 属性的设置情况如图 6-5 所示。10 个文本框和 2 个 DTPicker 控件的功能说明及属性设置如表 6-7 所示。272 培训管

42、理模块的设计 6 表 6-7 数据控件的功能说明和属性设置 控件类型 控件名称(名称属性)控件功能 默 认 值 文本框 职工编号 显示或输入职工编号 来源于“职工基本信息”数据表 文本框 姓名 显示或输入职工姓名 来源于“职工基本信息”数据表 文本框 性别 显示或输入职工性别 来源于“职工基本信息”数据表 文本框 所属部门 显示或输入职工所属部门 来源于“职工基本信息”数据表 文本框 培训课程 显示或输入培训课程 文本框 培训地点 显示或输入培训地点 DTPicker 培训起始时间 显示或输入培训起始时间 DTPicker 培训终止时间 显示或输入培训终止时间 文本框 培训费用 显示或输入培训

43、费用 文本框 培训教师 显示或输入培训教师的名字 文本框 培训成绩 显示或输入职工某次培训成绩 文本框 备注 显示或输入备注文字 (4)框架 Frame2 及其内部控件:框架 Frame2:其 Caption 属性设置为“职工培训信息列表”。在框架 Frame2 内有 1 个 Spreadsheet 控件 Spreadsheet1,用于显示职工培训信息详细清单。(5)框架 Frame3 及其内部控件:框架 Frame3:其 Caption 属性设置为“信息编辑”。在框架 Frame3 内有 4 个命令按钮,分别用于输入新职工,保存、修改和删除职工培训信息记录,其功能和属性设置如表 6-8 所示

44、。(6)框架 Frame4 及其内部控件:框架 Frame4:其 Caption 属性设置为“信息查询浏览”。在框架 Frame4 内有 6 个命令按钮和 1 个框架,其中:1 个框架的 Caption 属性设置为空值,Height 属性设置为 3,分别将不同功能的命令按钮分别组合在一起。6 个命令按钮:分别完成对培训信息记录的查询、浏览和重置窗口等功能,各个命令按钮的具体功能和属性设置如表 6-8 所示。(7)用户窗体上的 1 个命令按钮:功能是关闭窗口,其具体功能和属性设置如表 6-8所示。表 6-8 命令按钮控件的功能说明和属性设置 名称属性 Caption 属性 功 能 输入新数据 输

45、入新数据 打开一个获取职工基本信息(如编号、姓名等)的窗口 保存 保存记录 保存培训计划信息记录 修改 修改 修改更新记录 删除 删除 删除记录 查询 查询 启动一个查询窗口,查询记录 重置窗口 重置窗口 刷新窗口 273 行政与人力资源管理应用案例详解续上表 名称属性 Caption 属性 功 能 第一条 第一条 浏览第一条记录 下一条 下一条 浏览下一条记录 上一条 上一条 浏览上一条记录 最末条 最末条 浏览最末条记录 退出系统 退出系统 关闭窗口,退出系统 6-3-2 职工培训管理主窗体程序代码设计 职工培训管理,就是以“人事管理.mdb”数据库中的“职工培训信息”数据表、“职工基本信

46、息”数据表为基础,通过对该数据表进行访问,从而完成数据记录的添加、修改、删除及显示等操作,所有这些都是通过一个“职工培训管理”窗体和一个获取职工基本信息的“职工信息输入”子窗体共同实现的。“职工培训管理”主窗体程序代码与上节介绍的“培训计划管理”主窗体的程序代码大同小异。所不同的是“职工培训管理”主窗体增加了几个数据控件和一个输入新数据按钮。此外,查询的数据表也不同,因此一些调用的子程序名称也不同。限于篇幅,此处不再列出详细程序代码清单。详细的程序代码可以参阅光盘的系统软件代码。下面给出【输入新数据】按钮的 Click 事件程序代码:Private Sub 输入新数据_Click()On Er

47、ror Resume Next Call 输入新记录 职工信息输入.Show 职工编号.Value=Format(职工信息输入.Spreadsheet1.ActiveCell.Value,00000)姓名.Value=职工信息输入.Spreadsheet1.ActiveCell.Offset(0,1).Value 性别.Value=职工信息输入.Spreadsheet1.ActiveCell.Offset(0,2).Value 所属部门.Value=职工信息输入.Spreadsheet1.ActiveCell.Offset(0,3).Value 培训课程.SetFocus Unload 职工信

48、息输入 End Sub 单击【输入新数据】按钮,系统就会弹出一个“职工信息输入”子窗体,用户可以在此窗体上查询要输入培训信息的职工,获取该职工的编号、姓名、性别和所属部门等基本信息,并把这些信息输入到“职工培训管理”窗体的有关文本框中。下面介绍这个子窗体的结构设计和程序代码设计。6-3-3 职工信息输入子窗体设计 单击“职工培训管理”窗体上的【输入新数据】按钮,系统就会弹出一个“职工信息输入”的子窗体,用户可以在此窗体上查询要输入培训信息的职工,获取该职工的编号、姓名、性别和所属部门等基本信息,并把这些信息输入到“职工培训管理”窗体的有关文本框中。下面介绍这个“职工信息输入”的子窗体的结构设计

49、及程序代码设计。1“职工信息输入”子窗体结构设计“职工信息输入”的子窗体的结构如图 6-5 所示。274 培训管理模块的设计 6 图 6-5 职工信息输入”的子窗体的结构“职工信息输入”的子窗体由 1 个用户窗体、2 个框架、1 个 Spreadsheet 控件、1 个标签、1 个文本框和 3 个命令按钮组成。用户窗体和各个控件的功能及属性设置说明如下。(1)用户窗体:其名称属性设置为“职工信息输入”,Caption 属性设置为“职工信息输入”。(2)2 个框架:用于将不同功能的控件组合在一起,其 Caption 属性分别设置为“请选择职工”和“查询”。(3)1 个 Spreadsheet 控

50、件 Spreadsheet1:用于显示全部职工的编号、姓名、性别和所属部门等基本信息。(4)1 个标签,对文本框 TextBox1 的功能进行说明,其 Caption 属性设置为“请输入职工姓名:”。(5)文本框 TextBox1:用于输入要查询的职工姓名,可以输入模糊姓名,例如,输入“明”,就会依次查询姓名中有“明”的职工姓名。(6)3 个命令按钮,分别完成将查询出的职工基本信息输入到“职工培训管理”窗体中、进行查询和关闭窗体的功能,其名称属性和 Caption 属性均分别设置为“确定”、“查询”和“关闭”。2“职工信息输入”子窗体程序代码设计 定义一个 SearchRow 模块级变量,对用

51、户窗体编写 Initialize 事件程序,对文本框TextBox1 编写 Change 事件程序,对 3 个命令按钮编写 Click 事件程序,所有的程序代码如下:Dim SearchRow As Integer Private Sub UserForm_Initialize()On Error Resume Next Dim mysql As String,i As Long Dim cnn As ADODB.Connection Dim rs As ADODB.Recordset 建立与数据库人事管理.mdb的连接 Set cnn=New ADODB.Connection With cn

52、n .Provider=microsoft.jet.oledb.4.0 .Open ThisWorkbook.Path&人事管理.mdb End With Set rs=New ADODB.Recordset 275 行政与人力资源管理应用案例详解 mysql=select 职工编号,姓名,性别,所属部门 from 职工基本信息 order by 职工编号 rs.Open mysql,cnn,adOpenKeyset,adLockOptimistic Spreadsheet1.ActiveSheet.Unprotect For i=1 To rs.RecordCount For j=0 To

53、rs.Fields.Count-1 Spreadsheet1.ActiveSheet.Cells(i+1,j+1).Value=rs.Fields(j)Next j rs.MoveNext Next i Spreadsheet1.ActiveSheet.Columns(A:A).NumberFormat=00000 Spreadsheet1.ActiveSheet.Columns(A:A).HorizontalAlignment=xlCenter Spreadsheet1.ActiveSheet.Columns(C:C).HorizontalAlignment=xlCenter Spreads

54、heet1.ActiveSheet.Columns.AutoFit Spreadsheet1.ActiveSheet.Protect End Sub Private Sub TextBox1_Change()查询.Caption=查询 End Sub Private Sub 确定_Click()职工信息输入.Hide End Sub Private Sub 查询_Click()If 查询.Caption=查询 Then Spreadsheet1.ActiveSheet.Range(B1).Activate With Spreadsheet1.ActiveSheet.Range(B1:B6553

55、6)Set C=.Find(TextBox1.Value)If Not C Is Nothing Then 查询.Caption=查找下一个 Spreadsheet1.Cells(C.Row,2).Activate SearchRow=C.Row Spreadsheet1.Rows(C.Row).Select Exit Sub Else MsgBox 没有要查询的职工!请重新输入职工姓名!,vbExclamation,查询结果 TextBox1.Value=TextBox1.SetFocus Exit Sub End If End With ElseIf 查询.Caption=查找下一个 Th

56、en With Spreadsheet1.ActiveSheet.Range(B&SearchRow+1&:B65536)Set C=.Find(TextBox1.Value)If Not C Is Nothing Then 查询.Caption=查找下一个 Spreadsheet1.Cells(C.Row,2).Activate SearchRow=C.Row Spreadsheet1.Rows(C.Row).Select End If End With End If End Sub 276 培训管理模块的设计 6 Private Sub 关闭_Click()Unload 职工信息输入 En

57、d Sub 6-3-4 职工培训管理子模块应用示例 单击自定义菜单【培训管理】中的【职工培训管理】命令,或单击【培训管理】自定义工具栏中的【职工培训管理】命令按钮,就可以打开“职工培训管理”窗体,如图 6-6所示,用户就可以通过此窗体输入、浏览编辑、查询培训计划信息。图 6-6 “职工培训管理”窗体 下面介绍“职工培训管理”窗体的使用方法。1输入职工培训信息资料 输入职工培训信息资料的具体步骤如下:(1)单击【输入信数据】按钮,打开【职工信息输入】子窗体,如图在 6-7 所示。(2)用户可以直接在职工列表中选择要输入培训信息的职工,如图 6-8 所示,然后单击【确定】按钮,则该职工的基本信息就

58、输出到“职工培训管理”窗体,如图 6-9 所示。(3)输入了职工的基本信息后,就可以输入该职工的培训信息资料了。培训信息资料输入完毕后,单击【保存】按钮,就将该职工的培训信息资料保存在“职工培训信息”数据表中,并显示在窗体下面的表格中,同时窗体上面的各个控件清零,等待输入下一位职工的培训信息,如图 6-10 所示。277 行政与人力资源管理应用案例详解 图 6-7 “职工信息输入”子窗体 图 6-8 在职工列表中选择职工 图 6-9 选择的职工基本信息输出到了“职工培训管理”窗体上 图 6-10 某职工的培训信息输入完毕 278 培训管理模块的设计 6 如果职工很多,在【职工信息输入】子窗体中

59、的职工列表中选择职工不方便,可以在“输入职工姓名:”文本框中输入某职工姓名,例如输入“张宏”,如图 6-11 所示,然后单击【查询】按钮,则该系统就开始查找名为“张宏”的职工,查找到结果后,就激活该名字所在的单元格,如图 6-12 所示。此时,【查询】按钮的标题变为“查找下一个”。如果名为“张宏”的职工不止一个,可以单击标题为【查找下一个】的按钮,继续向下查询,直到定位在需要的职工上。查找出主要的职工姓名后,单击【确定】按钮,就将该职工的基本信息输出到“职工培训管理”窗体 图 6-11 输入要查找的职工姓名 图 6-12 查找到某位职工并定位 2查询职工培训资料信息 单击“职工培训管理”窗体上

60、【查询】按钮,打开“按钮查询”子窗体,用户可以设置任意条件组合进行查询,具体的使用方法可参阅前面各章的有关介绍。3修改、删除职工培训资料信息 如果要修改某个职工的某条培训信息记录,可以先查询出该职工的某条培训信息记录来,然后对需要修改的项目进行修改,再单击【修改】按钮。如果要删除该条记录,单击【删除】按钮即可。4浏览职工培训资料信息 单击各个窗口上的 4 个浏览按钮【第一条】、【下一条】、【上一条】和【最末条】,就可以依次浏览职工培训信息数据表中的第一条记录、下一条记录、上一条记录和最末条记录。也可以在窗口下面的表格中更加直观地浏览职工培训信息数据表中的各条记录。6-4 培训教师管理子模块 设

61、立培训教师管理子模块,便于与培训教师进行联系、了解培训教师的情况、安排课程等管理工作。培训教师管理子模块,是通过一个“培训教师管理”主窗体和一个“按钮查询”子窗体共同实现的。6-4-1 培训教师管理主窗体设计“培训教师管理”主窗体的结构如图 6-13 所示。在“培训教师管理”主窗体上,有 5个框架、6 个标签、5 个文本框、1 个复合框、1 个 Spreadsheet 控件和 10 个命令按钮组成。279 行政与人力资源管理应用案例详解用户窗体及各个控件的功能及属性设置如下。图 6-13 “培训教师管理”主窗体结构(1)用户窗体:其名称属性设置为“培训教师管理”,Caption 属性设置为“培

62、训教师管理”。(2)5 个框架:它们用于将不同功能的控件组合在一起。(3)框架 Frame1 的及其内部控件:框架 Frame1:其 Caption 属性设置为“教师信息”。在框架 Frame1 内有 6 个标签、5 个文本框和 1 个复合框,这些控件用于显示或输入教师信息。6 个标签分别用于对 5 个文本框和 1 个复合框的功能进行说明,其 Caption 属性的设置情况如图 6-13 所示。5 个文本框和 1 个复合框的功能说明及属性设置如表 6-9 所示。表 6-9 数据控件的功能说明和属性设置 控件类型 控件名称(名称属性)控件功能 文本框 姓名 显示或输入教师姓名 复合框 性别 显示

63、或输入教师性别 文本框 教授课程 显示或输入教授课程名称 文本框 单位 显示或输入教师所在单位名称 文本框 联系电话 显示或输入教师的联系电话 文本框 备注 显示或输入备注文字(4)框架 Frame2 及其内部控件:框架 Frame2:其 Caption 属性设置为“教师信息列表”。在框架 Frame2 内 1 个 Spreadsheet 控件 Spreadsheet1,用于显示教师信息详细清单。在表格在单元格 A1:F1 中分别输入“姓名”、“性别”、“教授课程”、“单位”、“联系电话”和“备注”,加粗字体,居中显示,并设置单元格区域颜色。(5)框架 Frame3 及其内部控件:280 培训

64、管理模块的设计 6 框架 Frame3:其 Caption 属性设置为“信息编辑”。在框架 Frame3 内有 4 个命令按钮,分别用于输入新职工,保存、修改和删除教师信息记录,其功能和属性设置如表 6-10 所示。(6)框架 Frame4 及其内部控件:框架 Frame4:其 Caption 属性设置为“信息查询浏览”。在框架 Frame4 内有 5 个命令按钮和 1 个框架,其中:1 个框架的 Caption 属性设置为空值,Height 属性设置为 3,分别将不同功能的命令按钮分别组合在一起。5 个命令按钮:分别完成对培训信息记录的查询、浏览和重置窗口等功能,各个命令按钮的具体功能和属性

65、设置如表 6-10 所示。(7)用户窗体上的 1 个命令按钮:功能是关闭窗口,其具体功能和属性设置如表 6-10所示。表 6-10 命令按钮控件的功能说明和属性设置 名称属性 Caption 属性 功 能 保存 保存记录 保存培训计划信息记录 修改 修改 修改更新记录 删除 删除 删除记录 查询 查询 启动一个查询窗口,查询记录 重置窗口 重置窗口 刷新窗口 第一条 第一条 浏览第一条记录 下一条 下一条 浏览下一条记录 上一条 上一条 浏览上一条记录 最末条 最末条 浏览最末条记录 退出系统 退出系统 关闭窗口,退出系统 6-4-2 培训教师管理主窗体程序代码设计“培训教师管理”主窗体程序代

66、码与前面介绍的“培训计划管理”主窗体的程序代码大同小异。所不同的是几个数据控件不同,查询的数据表不同,因此调用的一些子程序名称也不同。限于篇幅,此处不再列出详细程序代码清单。详细的程序代码可以参阅光盘的系统软件。6-4-3 培训教师管理子模块应用示例 培训教师管理子模块应用非常简单。执行自定义菜单【培训管理】中的【培训教师管理】命令,或单击【培训管理】自定义工具栏中的【培训教师管理】命令按钮,就可以打开“培训教师管理”窗体用户就可以通过此窗体输入、浏览、编辑、查询培训教师的有关信息。限于篇幅,此处不再论述。281 行政与人力资源管理应用案例详解6-5 课程信息管理子模块 设立课程信息管理子模块,便于了解有关培训课程的情况。课程信息管理子模块,是通过一个“课程信息管理”主窗体和一个“按钮查询”子窗体共同实现的。6-5-1 课程信息管理主窗体设计“课程信息管理”主窗体的结构如图 6-22 所示。在“课程信息管理”主窗体上,有 5个框架、10 个标签、8 个文本框、2 个复合框、2 个 DTPicker 控件和 11 个命令按钮组成。用户窗体及各个控件的功能及属性设置如下。(1)用户窗体:其

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!