免费预览已结束,剩余17页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
公司人力资源管理系统公司人力资源管理系统摘要:此次开发的数据库应用系统为人力资源管理系统,开发平台为Visual Basic和access数据库,行使数据输入、修改、存储、调用查询等作用;使用access数据库形成数据表,进行数据存储。此系统可完成人事档案管理、人员调动,人员出勤管理等功能,并形成相关内容的报表。通过人事档案管理可反映公司人员基本资料、人员离岗情况、人员内部调动情况;通过人员出勤管理可反映公司人员实际出勤情况。在提供详细人员资料的同时,还为保证资料的保密性特设置访问密码,有效控制进入系统人员。通过本系统,一方面实现了公司人力资源信息的数字化管理,确保人员资料保存的完整性和查询、修改等操作的便捷性;另一方面方便了公司对公司人力资源的技术分析,合理进行人力资源的整合,达到优化机构,人尽其才的作用。此系统的建立和使用必将简化公司工作程序,提高公司工作效率,为公司进行企业管理的规范化、系统化起到积极的推动作用.关键字:visual basic、 数据库 、ADO控件前言随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现公司人力资源管理势在必行。对于大中型企业来说,利用计算机支持企业高效率完成劳动人力资源管理的日常事务,是适应现代企业制度要求、推动公司劳动人事管理走向科学化、规范化的必要条件;计算机管理所无法比拟的优点检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人力资源管理的效率,也是公司的科学化、正规化管理,与世界接轨的重要条件。不同的公司具有不同的人力管理制度,这就决定了不同的公司需要不同的人力管理系统。公司人力资源管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。 本系统主要完成对员工基本信息,考勤,调动信息的管理,包括数据库中表的添加、修改、删除等。系统还可以完成对各类信息的浏览、查询、添加、删除、修改等功能。 系统的核心是数据库中各个表联系,每一个表的修改都将联动的影响其它的表,当完成对数据的操作时系统会自动地完成数据库的修改。查询功能也是系统的核心之一,在系统中即有单条件查询和多条件查询,也有精确查询和模糊查询,系统不仅有静态的条件查询,也有动态生成的条件查询,其目的都是为了方便用户使用。系统有完整的用户添加、删除和密码修改功能。 经过分析,我们使用 microsoft公司的 Visual Basic开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。在这么多的访问接口里面微软对于ADO非常的推崇,并且下一代的数据访问技术也将是采取这样的思路,而且本身来说ADO模型简单,但是功能强大,使实现人员无须关心一些底层的操作,而把更多的经历放在业务逻辑的设计上面。 综上所述,我们选择了Visual Basic+ADO+ACCESS来开发整个公司人力资源管理系统。目录第一章 序言1.1 开发背景4 1.2开发目的与意义4第二章 系统的实现功能.5第三章 系统功能与模块的设计 3.1 系统的功能6. 3.2 系统的模块的设计图6第四章 数据库的设计4.1 数据库的描述74.2 数据库图表的设置7第五章 数据执行流程图与解说5.1 登陆主界面流程图.85.2 主界面布局图.8 5.3 设计保存流程图.9 5.4 查询.10第六章 系统的运行及相应的代码解说 6.1 用户登录.116.2 用户添加.126.3 添加员工基本信息.146.4 添加员工调动信息.16 第七章 结论.20 第八章 致谢.21参考文献第一章 序言1.1 开发背景 随着我国市场经济的快速发展和信息化水平的不断提高,如何利用先进的管理手段,提高企业员工信息管理的水平,是当今社会面临的一个课题。提高企业管理水平,必须全方位的提高企业管理知识。只有高质量,高标准的管理才能满足企业的发展需求。面对信息时代的挑战,利用高科技手段来提高企业员工信息管理无疑是一条行之有效的途径。在某种意义上,信息与科技在企业管理与现代化建设中显现出越来越重要的位置,员工管理方面的信息化与科学化,已成为现代化生活水平步入高台阶的重要标志。1.2 开发的目的与意义 通过本课题的设计,学生应掌握软件开发的一般过程与方法,掌握VB中高级控件的使用与编程,掌握访问数据库的方法,掌握较复杂过程之间的数据传递方法。第二章 系统的实现功能1) 能够浏览员工的所有信息2) 能够对员工的信息注册登记管理3) 员工信息资料的数据库建立和管理4) 能够通过员工的一个信息找到个人相关信息(例如:知道员工的ID能够找到该员工的所有有关的信息)5) 通过一条信息找到与之匹配的信息(例如:查询同一性别的所有人员)6) 相关人员能对包含员工的基本信息进行管理(因为员工有关情况不是固定不变的所以一旦员工信息发生改变就要对原有信息进行诸如添加,删除,修改等的操作)7) 多用户数据安全管理,保证各部门的数据安全、完整,对每个使用本系统用户进行权限的设置8) 简易操作,不需要计算机专业人员。9) 员工基本信息的添加、删除和修改,包括员工的ID、姓名、部门、职务、工作电话等10) 考勤查询,查询条件为员工ID、职务、部门等信息的综合查询,允许管理员模糊查询11) 用户管理:设置两个级别用户:管理员和普通用户,用户使用本系统之前必须先通过身份认证(用户名和密码,密码输入有次数限制,连续三次输入错误密码则提示不存在该用户)第三章 系统功能与模块的设计3.1系统的功能用户登陆(用户名和密码进行登陆。)员工基本信息(员工信息的添加,删除,修改,查询)员工考勤信息 (添加考勤信息,修改考勤信息,查询考勤信息,删除考勤信息,设置上下班时间)员工调动信息 (添加信息调动,修改调动信息,删除调动信息,查询调动信息)3.2各个模块的具体功能如图所示:员工基本信息员工考勤信息员工调动信息添加删除修改查询添加考勤信息息息修改考勤信息查询考勤信息删除考勤信息设置上下班时间添加信息调动修改调动信息查询调动信息用户登陆删除调动信息第四章 数据库设计4.1数据库的描述:根据系统需要,设定以下表:1)用户表:用户名,密码,权限。2)员工信息表:用户的ID,姓名,密码,性别,部门,职务,工作电话,与其上一次谈话的时间,家庭电话,移动电话,生日4.2数据库图表的设置 a)用户表的内容设置 字段数据类型字段大小必填字段索引允许为空用户名文本50是无否密码文本50否无是权限文本50是无否b)员工信息表内容的设置用户的ID数据类型字段大小比填字段索引允许为空姓名文本50是无否密码文本50是无否性别文本50否无是部门文本50否无是职务文本50否无是工作电话文本50否无是与其上一次谈话的时间文本50否无是家庭电话文本50否无是移动电话文本50否无是生日文本50否无是第五章 数据执行流程与解说5.1 主界面流程图检测数据库中有无管理员用户,如果有,则等待用户输入用户名和密码,否则按程序本身自动执行插入命令,新建一个管理员用户,并等待用户输入.登陆主界面 Y 验证用户NY验证密码.验证用户名和密码是否正确,错误次数不能超过三次,超过三次则退出系统登陆界面 Y进入主界面当验证通过后,检测该登陆用户的管理权限,并设置变量传输给主窗体. 5.2 主界面布局图主界面 用户登陆 员工基本信息员工考勤信息员工调动信息退出系统 退出系统密用 添 删 修 查 添 删 修 查 添 删 修 查 码 户 加 除 改 询 加 除 改 询 加 除 改 询修 权信 信 信 信 信 信 信 信 信 信 信 信改 限 息 息 息 息 息 息 息 息 息 息 息 息 设计说明:此窗体为主窗体操作界面,为配合数据执行模式,自制了如QQ那样的菜单,使众多功能都能整齐而有序的排列.实现功能:(1).获得登陆界面传递的权限信息,设置用户是否可以使用(增加员工,,删除员工信息等)这些操作.(2).默认进入人力资源管理菜单,设置等待操作状态 5.3 设计保存流程图执行保存 保存状态 获取操作表名 员工信息 数据完整性 是否有重复 插入数据 退出操作流程 设计说明:1.在点击上列按钮后,系统属于可保存状态,不可修改状态,不可删除状态.2.保存功能实现:验证输入对象:即是保存员工信息的内容,判断表格中是否为空,为空提示并退出操作。验证用户输入的数据中是否有必填的字段未填的,如果有,提示退出操作,等待用户补齐。以上顺利完成,对每行进行组织语句(插入语句),然后执行该语句,语句成功提示并退出操作,否则通过防错提示并退出操作。5.4 查询对于查询,本系统设定的查询为达到对查询各种语句而设定了用户自己来组织SQL语句,只要选择对应的表就然后加入一些条件,就可以按要求查询到所有的对应值。第六章 系统的运行及相应的代码解说6.1 用户登录 图1 此界面主要是让用户根据其用户名称和密码进行登录,在名称与密码不符时,将会提出相应的提示信息,其主要代码如下:Private Sub cmdOK_Click() Dim SQL As String Dim rs As ADODB.Recordset If Trim(UserName.Text = ) Then MsgBox 没有输入用户名称,请重新输入!, vbOKOnly + vbExclamation, 警告 UserName.SetFocus Else 查询用户 SQL = select * from UserInfo where UserID= & UserName.Text & Set rs = TransactSQL(SQL) If iflag = 1 Then If rs.EOF = True Then MsgBox 没有这个用户,请重新输入!, vbOKOnly + vbExclamation, 警告 UserName.SetFocus Else If Trim(rs.Fields(1) = Trim(PassWord.Text) Then rs.Close Me.Hide gUserName = Trim(UserName.Text) 保存用户名称 FrmMain.Show Unload Me Else MsgBox 密码不正确,请重新输入!, vbOKOnly + vbExclamation, 警告 PassWord.SetFocus PassWord.Text = End If End If Else Unload Me End If End If pwdCount = pwdCount + 1 判断输入次数 If pwdCount = 3 Then Unload Me Exit Sub End IfEnd SubPrivate Sub Form_Load() pwdCount = 0 gUserName = End SubPrivate Sub PassWord_KeyDown(KeyCode As Integer, Shift As Integer) TabToEnter KeyCodeEnd SubPrivate Sub UserName_KeyDown(KeyCode As Integer, Shift As Integer) TabToEnter KeyCodeEnd Sub62 用户的添加 图2 其主要作用是增加新用户及密码,并对其进行相应的判断,同时将起保存到数据库中,其重要代码如下: Private Sub cmdOK_Click() Dim SQL As String Dim rs As ADODB.Recordset If Trim(UserName.Text) = Then 判断用户名称是否为空 MsgBox 请输入用户名称!, vbOKOnly + vbExclamation, 警告 Exit Sub UserName.SetFocus Else SQL = select * from UserInfo where UserID= & UserName & Set rs = TransactSQL(SQL) If rs.EOF = False Then 判断是否已经存在用户 MsgBox 这个用户已经存在!请重新输入用户名称!, vbOKOnly + vbExclamation, 警告 UserName.SetFocus UserName.Text = PassWord.Text = confirmPWD.Text = Exit Sub Else If Trim(PassWord.Text) Trim(confirmPWD.Text) Then 判断两次密码是否相同 MsgBox 两次输入的密码不一致,请重新输入密码!, vbOKOnly + vbExclamation, 警告 PassWord.Text = confirmPWD.Text = PassWord.SetFocus Exit Sub ElseIf Trim(PassWord.Text) = Then 判断密码是否为空 MsgBox 密码不能为空!, vbOKOnly + vbExclamation, 警告 PassWord.Text = confirmPWD = PassWord.SetFocus Else 添加用户 SQL = insert into UserInfo (UserID,UserPWD) values( & UserName SQL = SQL & , & PassWord & ) TransactSQL (SQL) MsgBox 添加成功!, vbOKOnly + vbExclamation, 添加结果 重新设置初始化为空 UserName.Text = PassWord.Text = confirmPWD.Text = UserName.SetFocus End If End If End IfEnd SubPrivate Sub Form_Load() UserName.Text = PassWord.Text = confirmPWD.Text = End Sub63 添加员工基本信息 图3 其主要作用是:添加员工的基本信息,同时对有些信息进行判断,看其是否符合要求,其重要代码如下:Private Sub cmdOK_Click() Dim SQL As String Dim temp As String Dim num As Integer Dim rs As New ADODB.Recordset If Trim(Me.StuffName) = Then 判断员工姓名是否为空 MsgBox 请输入员工姓名!, vbOKOnly + vbExclamation, 警告! Me.StuffName.SetFocus Exit Sub End If 同上 If rs.EOF = False Then 判断是否已经存在员工记录 MsgBox 已经存在这个员工的记录!, vbOKOnly + vbExclamation, 警告! Me.StuffName.SetFocus Me.StuffName.SelStart = 0 rs.Close Else Call addNewRecord MsgBox 记录已经成功添加!, vbOKOnly + vbExclamation, 添加结果! SQL = update PersonNum set Num= Num+1 计数器加1 TransactSQL (SQL) SQL = select * from PersonNum 员工编号初始化 Set rs = TransactSQL(SQL) num = rs(0) num = num + 1 temp = Right(Format(100000000 + num), 7) Me.ID = P & temp rs.Close Call init SQL = select * from StuffInfo 显示信息列表 员工基本信息列表.createList (SQL) 员工基本信息列表.Show 员工基本信息列表.ZOrder 0 Me.ZOrder 0 显示窗体继续添加 End If ElseIf flag = 2 Then 修改操作 SQL = update StuffInfo set SGender= & Gender.Text & ,SPlace= 同上 TransactSQL (SQL) MsgBox 记录已经成功修改!, vbOKOnly + vbExclamation, 修改结果! Unload Me SQL = select * from StuffInfo 员工基本信息列表.createList (SQL) 员工基本信息列表.Show End IfEnd SubPrivate Sub Form_Load() Dim rs As New ADODB.Recordset Dim SQL As String Dim num As Integer Dim temp As String With Gender 添加性别选项 .AddItem 男 .AddItem 女 End With If flag = 1 Then 判断为添加信息 Me.Caption = 添加 + Me.Caption Gender.ListIndex = 0 SQL = select * from PersonNum Set rs = TransactSQL(SQL) num = rs(0) num = num + 1 temp = Right(Format(10000000 + num), 7) Me.ID = P & temp rs.Close ElseIf flag = 2 Then 判断为修改信息 Set rs = TransactSQL(gSQL) If rs.EOF = False Then With rs Me.ID = rs(0) Me.StuffName = rs(1) 同上 End With rs.Close Me.Caption = 修改 & Me.Caption Me.ID.Enabled = False Me.StuffName.Enabled = False Else MsgBox 目前没有员工!, vbOKOnly + vbExclamation, 警告! End If End IfEnd Sub6.4添加员工调动信息 图4该程序主要是添加员工的调动信息,根据起调动情况,重新输入新情况,并将起保存到记录中,其主要代码如下:Option ExplicitPublic str1 As String 保存修改时的SQL语句Public ID As Integer 保存记录编号Private baddflag As BooleanPrivate Sub AID_KeyDown(KeyCode As Integer, Shift As Integer) TabToEnter KeyCodeEnd SubPrivate Sub AID_LostFocus() Dim SQL As String Dim rs As New ADODB.Recordset SQL = select SName,SDept,SPosition from StuffInfo where SID= & Me.AID.Text & Set rs = TransactSQL(SQL) If rs.EOF = False Then Me.AName = rs(0) 初始化员工姓名 Me.AOldDept = rs(1) Me.AOldPosition = rs(2) Else MsgBox 员工编号输入错误,或者没有这个员工!, vbOKOnly + vbExclamation, 警告! Me.AID = Me.AID.SetFocus Me.AID.ListIndex = 0 End If rs.CloseEnd SubPrivate Sub cmdCancel_Click() Unload Me Exit SubEnd SubPrivate Sub checkinput() If Me.ANewPosition = Then MsgBox 请输入新的职务!, vbOKOnly + vbExclamation, 警告! Me.ANewPosition.SetFocus ElseIf Me.AOutTime = Or IsDate(Me.AOutTime) = False Then MsgBox 请输入正确的调出时间!, vbOKOnly + vbExclamation, 警告! Me.AOutTime = Me.AOutTime.SetFocus 同上 Else baddflag = True End IfEnd SubPrivate Sub cmdOK_Click() Dim SQL As String Dim rs As New ADODB.Recordset baddflag = False Call checkinput If baddflag = True Then If flag = 1 Then 添加记录 Call checkinput SQL = select * from AlterationInfo Set rs = TransactSQL(SQL) rs.AddNew rs.Fields(1) = Me.AID 同上 rs.Update rs.Close SQL = update StuffInfo set SDept= & Me.ANewDept & , SPosition= SQL = SQL & Me.ANewPosition & where SID= & Me.AID & TransactSQL (SQL) MsgBox 已经添加调动信息!, vbOKOnly + vbExclamation, 添加结果! SQL = select * from AlterationInfo order by ID 员工调动信息列表.Adodc1.ConnectionString = Provider=Microsoft.Jet.OLEDB.4.0;Data Source= + App.Path + Person.mdb 员工调动信息列表.Adodc1.RecordSource = SQL If SQL Then 员工调动信息列表.Adodc1.Refresh End If Set 员工调动信息列表.DataGrid1.DataSource = 员工调动信息列表.Adodc1.Recordset 员工调动信息列表.DataGrid1.Refresh 员工调动信息列表.Show 员工调动信息列表.ZOrder 0 Call init Me.ZOrder 0 Else 修改记录 Call checkinput SQL = update StuffInfo set SDept= & Me.ANewDept & , SPosition= SQL = SQL & Me.ANewPosition & where SID= & Me.AID & Transa
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026届浙江省乐清市第二中学高二上数学期末检测模拟试题含解析
- 河南农业职业学院《宝石鉴定导论》2024-2025学年第一学期期末试卷
- 贺州学院《幼儿教师艺术技能专项训练》2024-2025学年第一学期期末试卷
- 吉林省吉化一中2026届生物高一第一学期期末检测模拟试题含解析
- 2026届山东历城二中化学高二第一学期期末联考试题含解析
- 上海市卢湾高中2025年化学高二上期末学业质量监测模拟试题含解析
- 2024年四川辅警协警招聘考试备考题库含答案详解ab卷
- 2023年西宁辅警协警招聘考试备考题库附答案详解(综合题)
- 河北省保定市博野县2026届生物高二第一学期期末质量检测模拟试题含解析
- 安徽省江淮十校2025年生物高二第一学期期末达标检测模拟试题含解析
- 体系致胜-打造完整营销体系,构建全面竞争能力
- 石台县景区负氧离子监测分析报告
- 《乡土中国》读书分享读书感悟读后感图文课件
- 社会学概论全套PPT完整教学课件
- 高考数必考七个题型
- 5、白莲河抽水蓄能电站引水工程施工组织设计
- 美术教学评一体化课时设计
- 东明石化电脱盐技术改造方案
- 污水处理建设项目施工方案
- 贷款业务的核算1课件
- GB/T 14079-1993软件维护指南
评论
0/150
提交评论