人事管理系统设计(pdf 45页).pdf_第1页
人事管理系统设计(pdf 45页).pdf_第2页
人事管理系统设计(pdf 45页).pdf_第3页
人事管理系统设计(pdf 45页).pdf_第4页
人事管理系统设计(pdf 45页).pdf_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

案例 6 人事管理系统 案例引言 人事管理系统是企事业单位在人事管理的主要内容之一 通过掌握人员基 本信息 加强和规范自身管理行为 造就和培养一支高素质的员工队伍 促进单位的稳定和健康发展 本章主要讲解人事管理系统的制作方法和制 作技巧 366 Excel 2007综合应用案例电子书 人事管理系统是企事业单元的一个重要应用 包括聘用 培训 考核和晋升等多个方 面 在对人事管理时 需要查询大量的信息 人事管理系统就可以解决这个问题 本章以 VBA 在人事资料管理的应用为例讲解 6 16 1 系统描述 人事管理系统虽然单位的大小可能不同 但功能大同小异 基本类似 在此以最常用 的应用功能为基础来设计人事管理系统 达到学习目的 6 1 1 设计思路 人事管理系统主要是对员工资料进行管理 常用功能包括新增员工登记 查询和修改 员工资料 实例掌握本单位员工信息和员工信息更新的目的 6 1 2 关键技术 用户窗体的创建和控制 创建一个窗体 并在窗体上绘制控件用来接收用户的输入 或者显示相应的信息 向 窗体添加控件有以下几种方法 1 单击 工具箱 中的控件 然后在窗体单击 控件以默认大小出来 可以通过拖动来 改变其大小 2 将控件从 工具箱 中拖到窗体 控件同样以默认大小出来 3 当创建多个相同控件时 可双击 工具箱 中所需的控件 然后在窗体中每单击一次 便可创建一个控件 利用窗体的属性可以修改其外观 例如大小 颜色 位置及动作等 同时在编写事件 时也会显示各种初始化的设置 6 1 3 关键技术 用户窗体和控件的事件 在人事管理系统中会用到很多用户窗体和控件的事件 本章以以下几个事件为例重点 讲解 1 Initialize 事件 Initialize 事件发生在加载对象后 显示对象前 该事件的语法格式如下 Private Sub object Initialize 2 BeforeUpdate 事件 格式中的 object 表示一个对象 367 案例 6 人事管理系统 在控件中的数据要改变前 BeforeUpdate 事件触发 该事件的语法格式如下 Private Sub object BeforeUpdate ByVal Cancel As MSForms ReturnBoolean 3 Click 事件 鼠标单击控件时触发 Click 事件 该事件的语法格式如下 Private Sub object Click 6 26 2 设计人事管理表格 人事管理系统最重要的一个环节是保存员工基本信息的员工基本信息表 首先设计员 工基本信息表 用来在管理系统中调用 根据设计要求 本系统的功能要求比较简单常用 表格格式简单 使用前设置好表头 即可 用户不用直接操作此表 所有操作都通过用户窗体完成 打开 Excel 并新建工作表 单击 A1 单元格 输入 员工基本信息表 从 A2 单元格到 L2 单元格依次输入 编号 姓名 性别 民族 出生年月 学历 身份证号 职称 职务 工作部门 联系方式 和 备注 文本 选中 A1 L1 区域 在 开始 选项卡中 选择 对齐方式 选项组中的 合并后居中 按钮 依次在所选的区域中输 入对应的项目 368 Excel 2007综合应用案例电子书 并单击 将鼠标移至工作表 Sheet1 的标签处并单击右键 在弹出的快捷菜单中选择 重命名 菜单命 令 将工作表 Sheet1 重命名为 员工基本信息表 单击左上角 Office 按钮 在弹出菜单中选择 另存为 Excel 工作簿 菜单命令 将工作簿命名为 人事管理系统 xlsx 并保存 单击 重命名 单击 合并后居中 按钮 369 案例 6 人事管理系统 根据设计要求 完成表头建设即可 里面的数据通过以后在用户窗体来逐步添加 6 36 3 设计登录窗体 人事管理系统最重要的常用功能是新增员工和查询修改 设计登录窗体时主要体现这 两个功能 根据设计要求 可以设计为登录界面 步骤如下 第 1 步 主窗体建设 打开上节 Excel 工作簿 人事管理系统 xlsx 将鼠标移至工作表 Sheet2 的标签处并单击右 键 在弹出的快捷菜单中选择 重命名 菜单命令 将工作表 Sheet2 并重命名为 登录界面 单击 重命名 370 Excel 2007综合应用案例电子书 在 视图 选项卡中 选择 显示 隐藏 选项组中的 编辑栏 网格线 和 标题 三个 按钮前的复选项取消 在 插入 选项卡中 选择 插图 选项组中 形状 命令 并单击 在下拉菜单中选择 矩 形 矩形 命令 按鼠标左键直接拖曳绘出如下图形 去掉三个按钮前的复选项 371 案例 6 人事管理系统 在所绘制的矩形区域内单击右键 在弹出的菜单中选择 设置形状格式 菜单命令 打开 设置形状格式 对话框 选择 填充 颜色 深蓝 文字 2 淡色 80 主 题颜色并单击 然后单击 关闭 按钮 关闭对话框 372 Excel 2007综合应用案例电子书 完成主窗体的建设 第 2 步 设置界面标题 主窗体完成的基础上 在 开始 选项卡中 选择 字体 选项组中将字体设置为 粗体 字体颜色设置为 黑色 字体设置为 宋体 正文 字号设置为 18 在 开始 选项卡中 选择 对齐方式 选项组中的 顶端对齐 命令 并单击 输入界面标题文字 人事管理系统 第 3 步 绘制界面按钮 在 插入 选项卡中 选择 插图 选项组中的 形状 命令 在弹出下拉菜单中选择 矩 形 圆角矩形 命令 373 案例 6 人事管理系统 按鼠标左键直接拖曳 在主界面中绘出如下按钮 单击此按钮 输入文字 新增员工 完成 新增员工 按钮 重复上述 新建按钮 输入文字 查询修改 完成 查询修改 按钮创建 374 Excel 2007综合应用案例电子书 单击左上角 Office 按钮 在弹出菜单中选择 保存 菜单命令 根据设计要求 完成登录窗体建设 并用来做为以后管理系统的主界面 6 46 4 设计人事信息窗体 人事管理系统完成主界面设计后 接下来需要完成功能模块设计 主要是新增员工和 查询修改两个功能模块 本节首先设计新增员工模块 新增员工模块的功能是收集整理新员工的基本资料 并添加到员工基本信息表中 虽 然可以直接在员工信息表中添加 但表中所有数据处在一个可修改范围 容易误操作破坏 原来数据 而本节所设计的是通过一个用户窗体添加数据到原始的员工基本信息表中 隔 离原始数据 提高了安全性 Tips 复制 新增员工 按钮后 可在主窗体中粘贴出一个按钮 将新复制的 新增员工 按钮 改为 查询修改 即可 375 案例 6 人事管理系统 6 4 1 设计窗体界面 在设计用户窗体时 主要就是完成对员工基本信息表的添加和维护 窗体的各个功能 块也应参照员工基本信息表的表头项目来设计完成 第 1 步 插入窗体 打开工作簿 人事管理系统 xlsx 在 开发工具 选项卡中 选择 代码 选项组中的 Visual Basic 命令 进入 VBA 环境下 选择 插入 用户窗体 菜单命令 选择 名称 并将属性设为 Form1 同时将 Caption 的属性改为 新增员工资料 打开 Excel 工作表 选择快捷键 Alt F11 进入 VBA 环境 376 Excel 2007综合应用案例电子书 第 2 步 建立窗体标签 单击 工具箱 控件 中的 标签 按钮 在窗体中绘制一个标签 在左侧设置其 AutoSize 属性设为 Ture 使标签控件的大小与 输入的内容自动适应以改变大小 将 Caption 的属性设为 姓名 单击 视图 工具箱 可以打开 工具箱 对话框 377 案例 6 人事管理系统 重复本步的 完成如下窗体建设 第 3 步 建立窗体文本框 单击 工具箱 控件 中的 文本框 按钮 可以复制 姓名 标签 逐个粘贴后更改各个标签的 Caption 的属性 378 Excel 2007综合应用案例电子书 在窗体中紧接 姓名 后绘制一个文本框 在左侧设置其 名称 属性设为 TextName 将 MaxLength 的属性设为 4 重复本步的 完成如下窗体建设 并将 民族 后的文本框 名称 属性设为 TextNation 出生年月 后的文本框 名称 属性设为 TextBirth 身份证号 后的文本框 名称 在 Excel 应用中 字母和汉字是一样的长度 但在很多程序设计时往往是一个汉字 占两个字母长度 379 案例 6 人事管理系统 属性设为 TextID 工作部门 后的文本框 名称 属性设为 TextDep 联系方式 后 的文本框 名称 属性设为 TextPhone 和 备注 后的文本框 名称 属性设为 TextMemo 第 4 步 建立窗体选项按钮 单击 工具箱 控件 中的 选项按钮 在窗体中紧接 性别 后绘制一个 选项按钮 在左侧依次设置其 名称 属性设为 OptionMan AutoSize 属性设为 Ture Caption 属性设为 男 GroupName 属 性设为 GroupSex 和 Value 属性设为 Ture 380 Excel 2007综合应用案例电子书 然后再同样绘制一个 选项按钮 依次将其 名称 属性设为 OptionWoman AutoSize 属性设为 Ture Caption 属性设为 女 GroupName 属性设为 GroupSex 和 Value 属性设为 False 第 5 步 建立窗体复选框 单击 工具箱 控件 中的 复合框 按钮 在设置 选项按钮 的 Value 属性设为 Ture 表示选中状态 而 Value 属性 设为 False 表示未选中状态 381 案例 6 人事管理系统 在窗体的 学历 后绘制一个 复选框 在左侧设置其 名称 属性设为 ComboBoxEdu 然后为 职称 和 职务 分别绘制两个 复选框 并将其各自的 名称 属性分别设为 ComboBoxTitle 和 ComboBoxDuty 第 6 步 建立窗体命令按钮 单击 工具箱 控件 中的 命令按钮 382 Excel 2007综合应用案例电子书 在窗体的低端分别建立两个名称为 增加 和 取消 的按钮 并将其各自的 名称 属性 分别设为 CmdSave 和 CmdCancel 单击 保存 按钮 在弹出的窗口中选择 否 弹出窗口 另存为 保存类型 中选择 Excel 启用宏的工作簿 命令 单击 保存 按钮 即保存为工作簿 人事管理系统 xlsm 383 案例 6 人事管理系统 完成人事信息管理新增员工的主窗体设计 但没有后台代码的支持还是无法实现新增 员工的功能 需要进一步设计后台代码 6 4 2 设计人事信息管理代码 在用户窗体创建完好各控件后 并设置好各控件属性时 就可以开始编写代码了 在 编写窗体的初始化代码 可首先添加复选框控件的下拉列表项目 第 1 步 设计复选框的下拉列表项代码 打开上节完成的工作簿 人事管理系统 xlsm 单击 开发工具 Visual Basic 选项卡 在 VBA 环境下 双击 新增员工资料 用户窗体 打开代码窗口 并选择右侧的下拉箭头 选择 Initialize 事件 384 Excel 2007综合应用案例电子书 在光标闪烁处输入以下代码 添加项目到 学历 复合框 ComboBoxEdu AddItem 硕士 ComboBoxEdu AddItem 本科 ComboBoxEdu AddItem 专科 ComboBoxEdu AddItem 其它 添加项目到 职称 复合框 ComboBoxTitle AddItem 高工 ComboBoxTitle AddItem 工程师 ComboBoxTitle AddItem 经济师 ComboBoxTitle AddItem 会计师 ComboBoxTitle AddItem 技术员 添加项目到 职务 复合框 ComboBoxDuty AddItem 总经理 ComboBoxDuty AddItem 厂长 ComboBoxDuty AddItem 主任 ComboBoxDuty AddItem 科长 ComboBoxDuty AddItem 组长 第 2 步 设计出生年月代码 385 案例 6 人事管理系统 选择 对象 下拉菜单中的 TextBirth 命令 选择 过程 下拉菜单中的 BeforeUpdate 事件 在光标闪烁处输入以下代码 If Not IsDate TextBirth Value Then 判断是否为日期格式 MsgBox 请输入正确的出生年月 提示 显示提示信息 TextBirth SelStart 0 设置文本框的起始位置 TextBirth SelLength Len TextBirth Value 设置文本框选取文字的长度 Cancel True 设置焦点停留在改控件 End If 386 Excel 2007综合应用案例电子书 第 3 步 设计身份证号代码 选择 对象 下拉菜单中的 TextID 命令 选择 过程 下拉菜单中的 BeforeUpdate 事件 在光标闪烁处输入以下代码 Dim strid As String 暂存身份证号 strid TextID Value If Len strid 15 And Len strid 18 Then MsgBox 身份证号错误 请重新输入 15 或 18 位的身份证号 提示 TextID SelStart 0 TextID SelLength Len TextID Value Cancel True End If 387 案例 6 人事管理系统 第 4 步 设计 取消 按钮代码 选择 对象 下拉菜单中的 CmdCancel 命令 在光标闪烁处输入以下代码 Me Hide 隐藏用户窗体 Sheets 登录界面 Activate 激活登录界面工作表 第 5 步 设计 增加 按钮代码 选择 对象 下拉菜单中的 CmdSave 命令 388 Excel 2007综合应用案例电子书 在光标闪烁处输入以下代码 If TextName Value Then 判断姓名是否为空 MsgBox 请输入姓名 提示 显示提示信息 TextName SetFocus 设置焦点到姓名框 Exit Sub 退出子过程 End If Add 调用添加数据子过程 第 6 步 设计 Add 子过程代码 选择 对象 下拉菜单中的 通用 命令 389 案例 6 人事管理系统 选择 插入 过程 菜单命令 将弹出窗口 添加过程 的 名称 内输入 add 并单击 确定 在光标闪烁处输入以下代码 Dim intRow As Integer 定义变量 保存行数 Dim strBh As String 定义变量 保持编号 Sheets 员工基本信息表 Activate 激活 员工基本信息表 Sheets 员工基本信息表 Range A1 Select 390 Excel 2007综合应用案例电子书 获取员工基本信息表已有数据行数 intRow ActiveCell CurrentRegion Rows Count strBh Cells intRow 1 取得最后编号 按规则产生新的编号 strBh Y Format Right strBh 4 1 0000 intRow intRow 1 将用户窗体上的数据填充到 员工基本信息表 的新行上 Cells intRow 1 strBh Cells intRow 2 TextName Value If OptionMan Value Then Cells intRow 3 男 Else Cells intRow 3 女 End If Cells intRow 4 TextNation Value Cells intRow 5 TextBirth Value Cells intRow 6 ComboBoxEdu Value Cells intRow 7 NumberFormatLocal 设置身份证列为文本格式 Cells intRow 7 TextID Value Cells intRow 8 ComboBoxTitle Value Cells intRow 9 ComboBoxDuty Value Cells intRow 10 TextDep Value Cells intRow 11 NumberFormatLocal 设置联系电话为文本格式 Cells intRow 11 TextPhone Value Cells intRow 12 TextMemo Value 第 7 步 设计 新增员工 子过程代码 选择 插入 模块 菜单命令 391 案例 6 人事管理系统 在新插入的 模块 1 窗口下 选择 插入 过程 菜单命令 将弹出窗口 添加过程 名称 内输入 新增员工 并单击 确定 392 Excel 2007综合应用案例电子书 在光标闪烁处输入以下代码 Form1 Show 第 8 步 登录界面的连接 切换到工作簿 人事管理系统 xlsm 的登录界面 单击 新增员工 自选按钮 在选择框上单击右键 选择弹出菜单 指定宏 菜单命令 393 案例 6 人事管理系统 弹出 宏 对话框 单击选择 新增员工 子过程 并单击 确定 按钮 选择 审阅 保护工作表 按钮 单击 保存 按钮 保存工作簿 人事管理系统 xlsm 选择保护工作表是为了防止对数据或格式的更改 394 Excel 2007综合应用案例电子书 完成人事信息管理新增员工的主窗体代码设计 需要测试其功能是否达到需求 6 4 3 测试人事信息管理窗体 在所建 员工基本信息表 中 一定注意要有数据 因为新增员工代码需要从一个已 有的编号开始 所以测试前一定切换到 员工基本信息表 中添加一个员工编码 打开工作簿 人事管理系统 xlsm 切换到 员工基本信息表 中并输入一条数据 再切换到 登录界面 将鼠标移至 新增员工 按钮 将变为手形 395 案例 6 人事管理系统 单击 新增员工 按钮 弹出 新增员工资料 窗体 在各控件中逐条输入内容 如果出生年月输入错误 将弹出错误提示 单击 确定 按钮光 标继续留在 出生年月 文本框等待输入 396 Excel 2007综合应用案例电子书 当各项内容输入完毕后 单击 增加 按钮保存数据 则系统自动将 新增员工资料 窗体输入的内容增加到 员工基本信息表 中 可以重复在 新增员工资料 窗体中输入员工资料 当完成输入后单击 取消 按钮即可退 出该窗体 返回主界面 输入出生年月时要有遵循一定时间格式 如 1970 08 08 397 案例 6 人事管理系统 通过测试找出问题和不足 并测试功能是否实现 是否可以满足需求 6 56 5 设计员工信息查询 查询修改是人事管理系统的另一重要功能模块 通过查询可以从大量的数据中找出需 要的信息 可以极大的提高了工作效率 方便对信息的管理 设计查询功能时 先通过 InputBox 函数接收用户的输入 然后在 员工基本信息表 中进行查询 若查询有此数据 便显示在用户窗体 6 5 1 设计数据有效性代码 设计查询功能时 要输入一定查询依据 而一般情况是输入查询员工的编号或姓名 并且需要判断是否有效 打开工作簿 人事管理系统 xlsm 单击 开发工具 Visual Basic 选项卡 398 Excel 2007综合应用案例电子书 进入 VBA 环境下 双击 模块 模块 1 菜单命令 在代码编辑器窗口顶端光标闪烁处输入以下代码 Public strStatus As String 全局变量 保存窗体的使用状态 Public intCurrentRow As Integer 全局变量 保存已找到数据的行数 对于查询需要多次判断 设计代码如下 Sub 查询资料 Dim strS As String 保存 InputBox 函数的输入值 在查询时 将查询到的数据显示在上节创建的用户窗体中 但上节创建的用户窗体 只考虑了新增数据功能 为了可以显示查询数据 需对用户窗体进行修改 在这里引入 一个全局变量 strStatus 来记录窗体的使用状态 如果 strStatus 变量为 查询 则用户窗 体读取 员工基本信息表 中的数据 并显示在相应控件中 打开 Excel 工作表 选择快捷键 Alt F11 进入 VBA 环境 399 案例 6 人事管理系统 Dim intRow As Integer 暂存查找到的数据行 保存编号和姓名列 Dim rngNo As Range rngName As Range 单元格区域对象 通过 InputBox 函数接收用户输入值 可为编号或姓名 strS InputBox 请输入员工的编号或姓名进行查询 查询员工资料 If strS Then 在员工基本信息表中 查找编号和姓名列 Set rngNo Sheets 员工基本信息表 UsedRange Find 编号 Set rngName Sheets 员工基本信息表 UsedRange Find 姓名 If rngNo Is Nothing Or rngName Is Nothing Then MsgBox 员工基本信息表错误 请通知系统维护员 End If 查询前先将 intRow 变量设为 1 方便后面进行判断 intRow 1 在员工基本信息表的编号列查询是否有输入的字符串 Set rngNo rngNo EntireColumn Find strS 如果在编号列中找到 则将数据所在行数赋值给 intRow 变量 If rngNo Is Nothing Then 在员工基本信息表的姓名列查询是否有输入的字符串 Set rngName rngName EntireColumn Find strS 如果在姓名列中找到 则将数据所在行数赋值给 intRow 变量 If Not rngName Is Nothing Then intRow rngName Row End If Else intRow rngNo Row End If 如果变量 intRow 的值大于 0 则表示已找到数据 If intRow 0 Then strStatus 查询 intCurrentRow intRow Form1 Show Else MsgBox 没找到 strS 相关的数据 提示 End If End If End Sub 此代码的设计主要是判断输入数据的有效性 若符合查询要求 即可显示相关数据 判断有效性也是进行查询的开始 6 5 2 设计查询代码 400 Excel 2007综合应用案例电子书 当判断查询有效后 即进入查询模块 并显示出数据 第 1 步 设计查询资料子过程 在进入 VBA 环境下 在 模块 模块 1 代码编辑器窗口下 选择 插入 过程 菜单命令 将弹出窗口 添加过程 名称 内输入 查询资料 并单击 确定 在光标闪烁处输入上节所设计的查询判断有效性代码 401 案例 6 人事管理系统 第 2 步 设计查询显示功能 双击 窗体 Form1 切换 新增员工资料 窗体 双击 新增员工资料 用户窗体 打开代码窗口 并选择右侧的下拉箭头 选择 Initialize 事件 402 Excel 2007综合应用案例电子书 在原来代码不变的基础上 在后面输入如下代码 CmdSave Caption 增加 在非查询模式下 按钮标题为 增加 Me Caption 新增员工资料 If strStatus 查询 Then Dim intRow As Integer intRow intCurrentRow 将所找到数据的行数保存到一个局部变量中 将员工基本信息表中相应数据逐项填写到用户窗体中 With Sheets 员工基本信息表 TextName Value Cells intRow 2 Value If Cells intRow 3 Value 男 Then OptionMan Value True Else OptionWoman Value True End If TextNation Value Cells intRow 4 Value TextBirth Value Cells intRow 5 Value ComboBoxEdu Value Cells intRow 6 Value TextID Value Cells intRow 7 Value ComboBoxTitle Value Cells intRow 8 Value ComboBoxDuty Value Cells intRow 9 Value TextDep Value Cells intRow 10 Value TextPhone Value Cells intRow 11 Value TextMemo Value Cells intRow 12 Value End With CmdSave Caption 保存 将原来的 增加 按钮标题改为 保存 Me Caption 查询 修改员工资料 修改窗口标题 End If 第 3 步 设计修改功能 选择 对象 下拉菜单中的 通用 命令 403 案例 6 人事管理系统 选择 过程 的 add 子过程 修改原 add 子过程代码如下 Dim intRow As Integer 定义变量 保存行数 Dim strBh As String 定义变量 保持编号 Sheets 员工基本信息表 Activate 激活 员工基本信息表 If strStatus 查询 Then intRow intCurrentRow Else Sheets 员工基本信息表 Range A1 Select 获取员工基本信息表已有数据行数 intRow ActiveCell CurrentRegion Rows Count strBh Cells intRow 1 取得最后编号 按规则产生新的编号 strBh Y Format Right strBh 4 1 0000 intRow intRow 1 将用户窗体上的数据填充到 员工基本信息表 的新行上 Cells intRow 1 strBh End If Cells intRow 2 TextName Value If OptionMan Value Then 404 Excel 2007综合应用案例电子书 Cells intRow 3

温馨提示

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

评论

0/150

提交评论