企业人事管理是企业管理的一个重要内容_第1页
企业人事管理是企业管理的一个重要内容_第2页
企业人事管理是企业管理的一个重要内容_第3页
企业人事管理是企业管理的一个重要内容_第4页
企业人事管理是企业管理的一个重要内容_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

1、1 绪论企业人事管理是企业管理的一个重要内容,随着时代的进步,企业也逐渐变的庞大起来。如何管理好企业内部员工的信息,成为企业管理中的一个大问题。在这种情况下,一个可以规范化,自动化的企业人事管理系统就显得非常必要。最初的人事管理,都是靠人力来完成的。当企业规模比较小的时候,人力可以完成,随着企业的规模越来越大,企业的员工人数也越来越多,依然维持着人力进行人事管理,必然会造成工作效率低,工作错误增高的问题。人事管理系统就是把分散的企事业单位的职工信息实行统一,集中,规范的收集管理,建立分类编号管理,电脑存储查询以及防火,防潮,防蛀,防盗等现代化,专业化的管理系统,为企事业单位和职工解除后顾之忧。

2、企业人事管理系统为企事业单位提供信息咨询,信息检索,信息存取等服务。2 企业人事管理系统的应用背景2.1 企业人事管理系统的发展历史现代人事管理源于传统人事管理,又在某种程度上取代后者。传统的人事管理以“工作”为核心,抑制了人的能动性,不利于工作质量的改进和工作效率的提高,它往往注重事务性操作,不利于人员潜在能力的开发。而现代人事管理就充分认识到人力资源具有能动性和可激励性,其人力资源开发及管理是以“人”为中心,寻求“人”与“工作”相互适应的契合点,将“人”的发展与企业的发展有机地联系起来。管理领域这种人性回归思想,是现代人事管理最突出的标志之一。传统的人事管理强调控制,将员工看作是被管理和控

3、制的对象,将人事制度看作是进行控制的工具;而现代企业人力资源管理则将人视为一种资源,它不仅本身具有价值而且能够创造价值。因此,现代人事管理能够切实做好人力资源规划,确保组织在生存发展过程中对人力资源的需求。现代人事管理系统最早诞生于20世纪70年代末,当时仅在少数企业中用于最简单、最基础的工作。随着科学技术的不断进步,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对人事信息进行管理,具有手工管理所无法比拟的优点,例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提

4、高人事管理的效率,也是企事业单位科学化、正规化管理以及与世界接轨的重要条件。与此同时,人事管理系统也不断地更新换代,功能也日趋强大和完善。特别是近来年Internet的飞速发展,Intranet技术得到应用,为企事业人事管理信息系统提供了良好的支持环境,使其在计算机网络和分布式数据库管理系统的支持下与企事业单位的其他系统,实现了办公、管理、计算、设计、控制、监测以及决策等多功能综合。2.2 国内信息系统的发展现状企业是国民经济的基本单元,而企业信息系统建设是我国企业走向现代化的必由之路。我国目前共有各类企业800万家,这些企业在近20年来,在不同程度上都遇到了企业信息系统建设的问题。80年代以

5、来,国家有关部门就一直非常重视企业信息化的推进。国家有关部门曾重点扶持过一批国有大企业的信息化工程,并以它们为样板在全国制造业企业中推广过CIMS(Computer Integrated Manufacturing Systems)。沈阳鼓风机厂、成都飞机制造厂、北京第一机床厂等,都是这一时期涌现出来的企业信息化样板企业。90年代以后,随着微型计算机、互连网等迅速普及,计算机技术对企业的影响越来越大,企业信息化进一步为人们所重视。有关部门领导曾明确提出:到2000年,全国一千个大型骨干企业基本实现企业信息化,全国大型产业企业80%(含零售业、批发业、仓储业、饮食业和工业企业)全面应用计算机管理

6、,初步实现管理现代化。3040%的中小企业普及计算机管理。1995年以后,我国企业信息化走向了以ERP(Enterprise Resource Planning)为主的道路,许多外国ERP厂商如SAP、BAAN、ORACLE、FOUTH SHIFT等纷纷进入中国,国内目前也已有数十家ERP软件供应商,不少已经形成商品化且有几百家用户。一些调查说明,我国企业购买MRPII、ERP软件的费用在90年代以后迅速增长。例如在机械行业,购买了国外软件公司MRPII(Material Requirement Planning)系统的企业高达66%,企业平均用于硬件的投资费用约为604万元,软件费171万元

7、,实施及咨询费143万元,合计约800万元。与之类似,其他行业对于信息化的投资,在近几年来也有较大的增长。 国内信息系统存在的问题在企业信息化快速发展的时代,我们在充分肯定这些已经取得的成果的同时也不能忽视一些普遍性的问题。首先是过去10年左右,我国企业信息系统建设虽然轰轰烈烈地发展,但其成功率究竟如何?根据广东省信息中心和信息协会对335家已经实现了信息化的企业的调查,有52.24%的企业认为本企业进行信息化建设的成效一般;认为不理想的有9%;认为效果非常好的只有9.55%。根据研究还发现:一些企业已经投入使用的模块,实际中并未发挥作用,它只是针对若干局部系统,或者特定类型的产品的试运行。运

8、行最好的为库存管理模块,原因主要是库存与其它部门间的相互影响较小。其次,物料单、销售、采购及财务统计模块也在部分企业得到较好的应用。但成本管理及预测模块等使用情况较差。根据另一次对300名来自不同行业、不同企业的中层管理者的调查发现,这些管理者工作的科室中,人均微机数量0.41台的占33%,其中人均微机数量达到1台以上的企业占37%。但是,这些企业中的计算机的97%是用来做文字处理工作,有1/2是用于浏览网页,甚至有1/5的计算机是经常用来玩游戏的。而大多数被调查者都认为:他们企业并没有实现信息化。这些调查和结果分析都说明了:我国企业目前虽然使用计算机已经比较普遍,但许多信息系统的应用情况却并

9、没有达到预想的效果。2.4信息系统开发的紧迫性近几年以上状况已经有了明显好转。随着企业规模的扩大和市场竞争的更加激烈,各类企业都愈来愈认识到人力资源管理的重要性及提升企业自身人力资源管理水平的迫切性,而人力资源管理水平的提升不仅需要高素质的管理人员,而且也需要信息化工具进行辅助,人力资源管理软件也就应运而生了。目前,无论是机关单位、事业单位,还是企业单位,人力资源管理对于组织生存与长远发展所具备的重要性都已经有了明确的认识,对于加强组织本身人力资源管理水平的需求已经产生。随着中国企业管理水平的提高及中国加入WTO的事实,人才的争夺与管理已成为中国企业乃至各级事业、机关单位所面临的严重问题。要应

10、对高强度的竞争无疑是需要优秀的管理人才,而科学管理的实施在信息化的今天是离不开数字化的工具做辅助的。特别在组织规模不断扩大的今天,作为管理人员和组织领导者要想对组织进行有效的管理和正确的决策就必须借助于数字化工具的帮助。在近5年内人力资源管理软件已经迅速发展成为一个巨大的市场,但现在国内一些人力资源开发厂家而言,在人力资源管理软件的深层次开发方面,只能说刚刚启动,现有人力资源系统的厂商的开发层面几乎只停留在人事操作的层面上。国外成熟的产品虽然在理论性和先进性上优于国内产品,但在中国现今人力资源管理制度不规范的现状下,其功能的实用性及有效性已大打折扣,同时其高昂的价格也使得大多数企业望而生畏。同

11、时,中国企业受中华民族深远文化的影响有其与西方企业所不同的管理文化底蕴。而国外软件开发商则很难将产品与中国国情相结合,使得产品无法真正为广大中国企业所受用。因此,结合我国企业情况,开发出适合我们自己的管理软件是很重要。2.5任务的提出及意义管理信息系统就是我们常说的MIS(Management Information System),在强调管理,强调信息的现代社会中它变的越来越普及。而将信息管理系统与企业自动化设备相结合,则是当今社会现代企业的发展趋势。通过这样的管理方式,企业的管理人员、技术人员、统计人员等各部门员工就能从大量烦琐的资料和数据中解脱出来,只需对自己需要的数据和内容进行必须的处

12、理,而不用对每个环节都了如指掌。这在一定程度上能够节省人力物力,同时也大大加强了对数据处理的及时性和准确性。本人的毕业设计任务是开发一个企业人事管理系统,即将信息管理与现代化办公设备相结合。开发本系统希望使人事管理人员可以从年复一年的输入、计算、统计等工作中解脱出来,由于人事方面的数据众多,输入、统计极为不便,输入量大,计算量大。这些工作都以人力来完成将费时费力,而且容易出现错误和疏漏。本系统一次录入信息后,就可以反复多次在不同的信息库中使用。所有输入的信息都将按所属部门、职位、考勤日期、工资日期等详细分类,使客户可以根据需要进行管理操作。因此,该管理系统的目的就是利用计算机对复杂烦琐的数据进

13、行存储和处理,并利用计算机与现代化办公设备的连接实时刷新数据,从而提高企业的工作效率。3 企业人事管理系统的分析和设计3.1 需求分析需求分析的任务就是解决目标系统“做什么”的问题,也就是对目标系统提出完整、准确、清晰、具体的要求。软件需求分析工作也是一个不断认识和逐步细化的过程。该过程将软件计划阶段所确定的软件范围逐步细化到可详细定义的程度,并分析出各种不同的软件元素,然后为这些元素找到可行的解决方法。这个软件主要解决了什么问题?本软件主要针对企业员工的基本资料以及考勤工资等信息的管理。对于计算机不熟练的人员,只要根据提示输入汉字就可以方便的操作。其中要强调的是,各部分之间靠员工编号来连接;

14、在计算工资时,要根据员工的考勤,职位等信息进行计算。系统的综合要求如下: 1、随着人员的流动要求系统能够实现对其相关数据资料的追加、修改及删除等功能。2、为了方便工作,要求能够根据不同的条件实现查询功能。3、在对工资进行统计时,要先进行基本工资的设置,并对其考勤进行统计后,才可实现工资的统计。数据库结果(操作表)表用户提供数据显示查看登录执行条件调用从以上3点不难看出,这些要求就是模块所处理的内容。下面是系统实现的数据流图3.1:图3.1系统实现的数据流图概要设计在需求分析阶段,已经从系统开发的角度出发,把系统按功能逐次分割成层次结构,使每一部分之间又保持一定的联系,这就是所谓的功能设计。在设

15、计阶段,基于这个功能的层次结构把各部分组合起来成为系统。系统主要功能要求按照不同用户名登录系统。对人员资料情况进行添加、修改、查询和删除操作。对人员考勤资料情况进行添加、修改、查询和删除操作。对人员的工资水平及福利制度、工资的计算方式进行设置操作。根据人员的出勤情况、工资发放数额进行设置和查询操作。可添加新的用户,修改用户原有的用户名、密码,删除原有用户。 系统的功能模块设计1. 员工基本信息管理。2. 员工考勤信息管理。 3. 工资信息设置。4 工资信息管理。5 系统。各个功能模块之间关系参见图。修改密码企业人事管理系统查询员工基本信息员工基本信息管理添加员工基本信息修改员工基本信息删除员工

16、基本信息员工考勤信息管理添加员工考勤信息修改员工考勤信息查询员工考勤信息删除员工考勤信息工资信息设置工资信息管理系 统计算公式设置基本工资设置其他项目设置统计出勤信息计算实发工资查询工资添加用户删除登录图3.2 系统的功能模块 详细设计概要设计完成了软件系统的总体设计,规定了各个模块的功能之间的联系,进一步就要考虑实现各个模块规定的功能。从软件开发的工程化观点来看,在使用程序设计语言编制程序以前,需要对所采用算法的逻辑关系进行分析,设计出全部必要的过程细节,并给与清晰的表达,使之成为编码的依据。这就是详细设计的任务。详细设计也叫过程设计或程序设计,它不同于编码或编程。在详细设计阶段,要决定各个

17、模块的实现算法,并精确地表达这些算法。前者涉及所开发项目的具体要求和对每个模块规定的功能,以及算法的设计和评价。后者需要给出适当的算法描述,为此应提供过程设计的表达工具。在理想情况下,算法过程描述应当采用自然语言表达,这样不熟悉软件的人要理解这些规格说明就比较容易,不需要重新学习。以下是系统的数据流程图,如图NYYYY开始管理员登录是否修改密码修改密码选择员工基本信息实现员工基本信息的添加、删除、修改、查询等操作实现员工考勤信息的添加、删除、修改、查询等操作实现员工基本工资、其他项目及计算公式的设置统计出勤、计算工资、查询结果选择员工考勤信息选择员工工资设置选择员工工资信息管理是否进行其他操作

18、结束NNNNNY图3.3系统数据流程图 数据库设计根据详细设计要求,在Access 2003中创建一个新的数据库,命名为,保存在要存放系统的所有工程文件的文件夹中。然后使用设计器创建这个系统需要的所有表格,主要包括用户信息表、员工编号统计表、员工考勤信息表、上下班时间表、员工基本信息表、请假信息表、加班信息表、出差信息表、设定员工工资信息表、设定奖金福利等其他项目信息表、工资计算公式信息表、员工工资统计表、员工出勤统计信息表,这13个数据表的结构设计如下图3.4图6所示:图3.4 用户信息表UserInfo图3.5 员工编号计数表PersonNum图3.6员工考勤信息表AttendanceIn

19、fo图3.7 上下班时间表 TimeSetting图3.8 员工基本信息表StuffInfo图3.9 请假信息表LeaveInfo 图3.10 加班信息表OvertimeInfo图1 出差信息表ErrandInfo图2员工工资设定表 SalarySetting图3 奖金福利等其他项目信息表SalaryOther图4 工资计算公式信息表FormulaSetting图5 员工工资统计表 SalaryStatistics图6员工出勤统计信息表AttendanceStatistics以上是数据库中所有表的设计,系统运行时,所需的数据都是通过调用这些表里的数据得到的。特别注意的是,无论是添加、修改、查询

20、还是删除,都应保证数据库的一致性,比如删除,就应将所有相关信息全部删除,这样才能保证数据库中每一个表内的数据始终保持一致。4 企业人事管理应用程序设计的具体实现4.1 系统实现方法主要利用ADO技术,界面友好。能自动生产编号,根据用户输入的数据检查其合法性,确保数据正确输入。登陆系统时对用户的请求进行身份验证,经验证合法后允许用户登陆系统,进入系统的信息管理界面。本次设计选择了Access 2000作为后台数据库,利用Visual Basic 6.0提供的数据库开发平台开发前台部分。4.2 VB对数据库的操作方法ActiveX Data Objects (ADO) 是微软最新的数据访问技术。它

21、被设计用来同新的数据访问层OLE DB Provider一起协同工作,以提供通用数据访问(Universal Data Access)。OLE DB是一个低层的数据访问接口,用它可以访问各种数据源,包括传统的关系型数据库,以及电子邮件系统及自定义的商业对象。 ADO向我们提供了一个熟悉的,高层的对OLE DB的Automation封装接口。对那些熟悉RDO的程序员来说,你可以把OLE DB比作是ODBC驱动程序。如同RDO对象是ODBC驱动程序接口一样,ADO对象是OLE DB的接口;如同不同的数据库系统需要它们自己的ODBC驱动程序一样,不同的数据源要求它们自己的OLE DB提供者(OLE

22、DB provider)。目前,虽然OLE DB提供者比较少,但微软正积极推广该技术,并打算用OLE DB取代ODBC。 ADO向VB程序员提供了很多好处。包括易于使用,熟悉的界面,高速度以及较低的内存占用(已实现ADO 的需要占用342K内存,比RDO的的368K略小,大约是的Da所占内存的60)。同传统的数据对象层次(DAO和RDO)不同,ADO可以独立创建。因此你可以只创建一个Connection对象,但是可以有多个,独立的Recordset对象来使用它。ADO针对客户服务器以及WEB应用程序作了优化。最重要的三个ADO对象是Connection、 Recordset和Command。本

23、文将主要使用Connection和Recordset这两个对象。每个Connection的属性定义了与数据源的连接。Recordset对象接收来自数据源的数据。Recordset可以与Connection一起使用,先建立一个连接,然后获取数据。尽管如此,Recordset也可以被单独创建,其Connection参数可以在Open属性定义。一旦安装了ADO,在VB的工程引用对话框中选择 ActiveX Data Objects 1.5 Library (ADODB)。在其下的 ADO Recordset 1.5 Library是一个客户端的版本(ADOR),它定义了有聚的数据访问对象。ADOR

24、对于客户端的数据访问来说是足够的了,因为你不需要Connection对象来建立与远程数据源的联系。 如果你想要访问更多的外部数据源,你需要安装这些外部数据源自己的OLE DB Provider,就像你需要为新的数据库系统安装新的ODBC驱动程序一样。如果该外部数据源没有自己的OLE DB Provider,你就得使用OLE DB SDK来自己为这个外部数据源创建一个OLE DB Provider了。利用Visual Basic开发应用程序时,常常会遇到这样的问题:生成的可执行文件在开发的机器上能够运行,复制到另一台机器上则无法运行,这种现象称之为应用程序与机器环境相关。 造成这种现象主要有两个

25、方面的原因:一是程序在运行过程中调用了一些文件,如数据库文件、文本文件和图片文件等,由于路径使用不当而无法定位;二是Visual Basic编译成的.EXE文件并不是实际意义上的EXE文件,Visual Basic系统中的标准控件和开发过程中用到的第三方控件,都没有包含在内。而跟随VB 6.0一起发布的数据环境(Data Environment)轻松解决了有关数据库程序的这个问题。为了能和你的数据库相连,在设计时,通常需要事先定义数据环境的连接字符串(Connection String)。但在发布你的应用程序时,或在运行你的程序过程中,你可能需要改变事先定义好的连接字符串。实现它的最简单的方法

26、就是利用数据环境。如果在程序中你用到Access数据库,数据环境将把该数据库的路径等信息储存到连接字符串中。当你发布你的应用程序时,你可能想改变该数据库的路径,例如把它放在程序的所在目录的一个子目录中,用下面的代码就能实现。Sub Main()ath & .mdb 确定数据库位置 DataEnvironment1.Connection1.ConnectionString = Provider=Microsoft.Jet.OLEDB.4.0; Data Source= & App.Path & .mdb; Persist Security Info=FalseEnd Sub4.3 功能模块的具体

27、实现4.3.1建立公共模块为了提高代码的效率方便维护,在VB中可以用模块来存放工程中经常使用的函数、过程和全局变量等。在这个系统中,每个模块都要使用数据库,因此可以使用一个公用的数据操作函数,来执行一系列的SQL语句。在这里,我要论述一下我建立工作模块的过程:在VB中新建一个工程,工程项目名为Stuff.MIS,将它保存为。该模块中一些变量定义代码如下:1、首先以下是添加的变量定义:Public gUserName As String 保存用户名称Public flag As Integer 添加和修改的标志Public gSQL As String 保存SQL语句Public kqsql A

28、s String 保存查询考勤结果SQL语句Public kqsql2 As String 保存查询其他考勤结果SQL语句Public ArecordID As Integer 保存上下班记录编号Public LrecordID As Integer 保存请假记录编号Public OrecordID As Integer 保存加班记录编号Public ErecordID As Integer 保存出差记录编号Public iflag As Integer 数据库是否打开标志Public z As Integer 是否删除的标志Public strPublicSQL As String 传递SQ

29、L字符串Public ichangeFlag As Integer 修改标志2、在公共模块中还要添加SQL语句 如:添加执行SQL语句命令的函数 Dim strConnection As String Dim strArray() As String Set con = New ADODB.Connection 创建连接 Set rs = New ADODB.Recordset 创建记录集 On Error GoTo TransactSQL_Error strConnection = Provider=Microsoft.jet.oledb.4.0;Data Source= & App.Pat

30、h & Person.mdb strArray = Split(sql) con.Open strConnection 打开连接 End Function 还要添加一个返回记录集的函数 Set con = New ADODB.Connection 创建连接 Set rs = New ADODB.Recordset 创建记录集 On Error GoTo getRS_Error strConnection = Provider=Microsoft.jet.oledb.4.0;Data Source= & App.Path & strConnection = strConnection & dat

31、abasename & .mdb strArray = Split(sql) con.Open strConnection 打开连接 rs.Open Trim(sql), con, adOpenKeyset, adLockOptimistic Set getRS = rs 返回记录集 iflag = 1 End Function4.3.2 用户登录界面模块登录窗体如下图4.1所示 图4.1用户登录窗体用户登录模块设计思路:每个用户登录系统都须经过身份验证。只有用户名和密码与用户信息表中对应信息相匹配才能进入系统。当登录者正确的用户名和密码登录时,他可以使用系统提供的所有功能,并能对所有用户进行

32、管理;如果登录者未输入和输入不存在的用户名或密码,则系统会以弹出窗口的形式,进行警告提示,直至输入正确为止。 当输入用户名和密码后的判断情况,以下是部分代码:Private Sub cmdOK_Click() Dim sql As String If Trim(UserName.Text = ) Then MsgBox 没有输入用户名称,请从新输入!, vbOKOnly + vbExclamation, 警告 Else 查询用户 sql = select * from UserInfo where UserID= & UserName.Text & Set rs = TransactSQL(s

33、ql) If iflag = 1 Then If rs.EOF = True Then MsgBox 没有这个用户,请重新输入!, vbOKOnly + vbExclamation, 警告 Else If Trim(rs.Fields(2) = Trim(PassWord.Text) Then gUserName = Trim(UserName.Text) 保存用户名称 Unload Me Else MsgBox 密码不正确,请重新输入!, vbOKOnly + vbExclamation, 警告 PassWord.Text = End If End If Else Unload Me End

34、 IfEnd IfpwdCount = pwdCount + 1 判断输入次数If pwdCount = 3 Then Unload Me Exit SubEnd IfEnd Sub4.3.3 系统主界面用户登录后,将进入建立系统主界面,参见图。该界面所有功能一目了然。图系统主界面 设置系统主界面的菜单编辑器,将所有主菜单和二级菜单进行设置,设置界面如图图4.3系统主界面菜单编辑器 系统主界面的代码,主要是对各菜单.frm调出显示,具体的显示基本相同,如下以“添加员工基本信息”为例的代码:Private Sub Add_Stuff_Click() 添加员工信息 flag = 1 frmStuf

35、f_info.ZOrder 0End Sub4.3.4 员工基本信息模块 员工基本信息模块包括添加员工信息、修改员工信息、查询员工信息、删除员工信息4个操作。员工基本信息界面如图图4.4 员工基本信息界面图 1添加员工信息界面如下图图4.5 添加员工信息界面当操作员进入系统,根据设计要求,需要添加新的员工信息时,在基本信息界面页,右键点击进入“添加员工基本信息”菜单,员工编号会自动调用数据库的编号ID,自动生成即将添加的记录编号;其他文本框全部为空,只需输入员工名称和其它信息即可完成员工信息编辑操作,在按窗体上的确定按钮即可检查该员工信息是否合法并存入数据库,否则按取消按钮。在添加上述所有数据

36、项后,点击确定后,系统会判断所填写的数据项是否为空、或者是格式不符合等条件,如不符合,则会以提示框的形式给予警告,重新填写。部分代码实现如下:Private Sub cmdOK_Click() If checkFormat(Me.ID.Text) = False Then Exit Sub If Trim(Me.StuffName) = Then 判断员工姓名是否为空 MsgBox 请输入员工姓名!, vbOKOnly + vbExclamation, 警告! Exit Sub End If If Trim(Me.Age) = Then 判断年龄是否为空 MsgBox 请输入员工年龄!, vb

37、OKOnly + vbExclamation, 警告! Exit Sub End If If Trim(Me.Birthday) = Then 判断生日是否为空 MsgBox 请输入员工生日!, vbOKOnly + vbExclamation, 警告! Exit Sub End If If Trim(Me.Dept) = Then 判断部门是否为空 MsgBox 请输入员工所在部门!, vbOKOnly + vbExclamation, 警告! Exit Sub End If If Trim(Me.Position) = Then 判断职务是否为空 MsgBox 请输入员工职务!, vbOK

38、Only + vbExclamation, 警告! Exit Sub End If If Not IsDate(Me.Birthday) Then 判断生日的格式MsgBox 生日请按照(yyyy-mm-dd)方式输入!, vbOKOnly + vbExclamation, 警告! Exit Sub Else Me.Birthday = Format(Me.Birthday, yyyy-mm-dd) End IfIf Not IsDate(Me.WorkTime) Then 判断参加工作时间的格MsgBox 参加工作时间请按照(yyyy-mm-dd)方式输入!, vbOKOnly + vbEx

39、clamation, 警告! Exit Sub Else Me.WorkTime = Format(Me.WorkTime, yyyy-mm-dd) End If If Not IsDate(Me.InTime) Then 判断加如本公司时间格式MsgBox 进入本公司时间请按照(yyyy-mm-dd)方式输入!, vbOKOnly + vbExclamation, 警告! Exit Sub Else Me.InTime = Format(Me.InTime, yyyy-mm-dd) End If If Not IsDate(Me.PayTime) Then 判断起薪时间格式MsgBox 起薪

40、时间请按照(yyyy-mm-dd)方式输入!, vbOKOnly + vbExclamation, 警告! Exit Sub Else Me.PayTime = Format(Me.PayTime, yyyy-mm-dd) End If If flag = 1 Then 添加操作tuffName) sql = sql & and SGender= & Gender.Text & and SBirthday= sql = sql & Trim(Me.Birthday) & and SDept= & Trim(Me.Dept) sql = sql & and SPosition= & Trim(M

41、e.Position) & Set rs = TransactSQL(sql) If rs.EOF = False Then 判断是否已经存在员工记录 MsgBox 已经存在这个员工的记录!, vbOKOnly + vbExclamation, 警告! Me.StuffName.SelStart = 0 Else Call AddNewRecord MsgBox 记录已成功添加!, vbOKOnly + vbExclamation, 添加结果! sql = update PersonNum set Num = Num + 1 计数器加1 TransactSQL (sql) sql = sece

42、ct * from PersonNum 员工编号初始化 Set rs = TransactSQL(sql) num = rs(1) mum = mum + 1 temp = Right(Format(10000000 + num), 7) Me.ID = P & temp Call init Unload frmStuff_info sql = select * from StuffInfo 显示信息列表 frmResult.createList (sql) frmResult.ZOrder 0 Me.ZOrder 0 显示窗体继续添加 End If Unload Me. End IfEnd

43、Sub 2. 修改员工信息界面 图4.6 修改员工信息界面当操作员点击菜单的“修改员工基本信息”,或是在显示员工信息界面点击右键,即可调出“修改员工信息界面”菜单,由于是修改信息,所以在此将员工编号和员工姓名设定为不可选,其他信息都可以修改,修改后按确认按钮,就会显示修改后的信息了,修改后点击确定,会将修改的信息覆盖数据库中原来的信息,然后,再从数据库中调出,显示在员工基本信息列表里。修改员工的基本信息,通过查询,选择所需要修改的用户,在“添加员工的基本信息”的界面中进行修改,修改的代码实现如下:ElseIf flag = 2 Then 修改操作 sql = update StuffInfo

44、set SGender= & Gender.Text & ,SPlace= sql = sql & Trim(Me.Place) & ,SAge= & Trim(Me.Age) sql = sql & ,SBirthday= & Trim(Me.Birthday) & , sql = sql & SDegree= & Trim(Me.Degree) & , sql = sql & SSpecial= & Trim(Me.Speciality) & , sql = sql & SAddress= & Trim(Me.Address) & , sql = sql & SCode= & Trim(M

45、e.Code) & , sql = sql & STel= & Trim(Me.Tel) & ,SEmail= & Trim(Me.Email) & , sql = sql & SWorkTime= & Trim(Me.WorkTime) & , sql = sql & SInTime= & Trim(Me.InTime) & ,sql = sql & SDept= & Trim(Me.Dept) & ,SPayTime= & Trim(Me.PayTime) sql = sql & ,SPosition= & Trim(Me.Position) & , sql = sql & SRemark

46、= & Trim(Me.Remark) & where SID= & Trim(Me.ID) & TransactSQL (sql) MsgBox 记录已经成功修改!, vbOKOnly + vbExclamation, 修改结果! sql = select * from StuffInfo frmResult.createList (sql) Unload frmStuff_info图4.7 查询员工信息界面 操作员可通过三个多选条件进行查询所需要查询的员工,选择“员工编号”和“员工姓名”即可实现的单一查找,而选择“进入本公司时间”的查询结果则为范围查找,会将所有符合此时间段的所有员工在数据

47、库中调出。 实现条件判断的部分代码如下:Private Sub setSQL() 设置SQL语句 If IDcheck.Value = vbChecked Then query = select * from StuffInfo where SID= & Trim(Me.SID) & End If If NameCheck.Value = vbChecked Then query = select * from StuffInfo where SName= & Trim(Me.SName) & End If If TimeCheck.Value = vbChecked Then query =

48、 select * from StuffInfo where SInTime between # query = query & fromdate & #and # & todate & # End If If IDcheck.Value = vbChecked And NameCheck.Value = vbChecked Then query = select * from StuffInfo where SID= & Trim(Me.SID) query = query & and SName= & Trim(Me.SName) & End If If NameCheck.Value =

49、 vbChecked And TimeCheck.Value = vbChecked Then query = select * from StuffInfo where SName= & Trim(Me.SName) query = query & and SInTime between# & fromdate query = query & #and# & todate & # End IfEnd Sub4. 删除操作员点击“删除员工信息”,即可调出如图的查询界面,查询出所需删除的员工信息,鼠标右键点击员工信息,确定是否删除此条信息,如确定即可删除。4.3.5 员工考勤信息模块图4.8员工

50、考勤信息菜单界面添加考勤信息 此菜单包括“添加上下班信息”、“添加其他考勤信息”两个菜单。1 图 4.9 添加员工考勤信息_上下班信息 当操作员点击“添加员工上下班信息”的菜单,可通过下拉菜单对在编的员工的考勤信息进行操作,右侧员工姓名会随员工编号的变化自动更新,当前日期为操作员的操作时间,此处设为不可操作。对员工的上下班时间进行设置,点击“确定”后,会调出添加的信息在菜单中显示。 部分实现代码如下:Private Sub cmdOK_Click() If Me.InFlag = True Then 添加上班记录 aflag = 入 If Me.InTime = Or IsDate(Me.In

51、Time) = False Then MsgBox 请输入正确的时间!, vbOKOnly + vbExclamation, 警告! Me.InTime = Else If addflag = False Then Call in_add MsgBox 已经添加上班记录!, vbOKOnly + vbExclamation, 警告! Call init Me.InFlag = False Else Call init Me.InFlag = False End If End If Unload FrmAttendance End If If Me.OutFlag = True Then 添加下

52、班记录 aflag = 出 End If End Sub图 4.10 添加员工其他考勤信息界面图 4.11 添加员工考勤信息_其他信息 同理,员工的其他考勤信息,包括员工的请假、加班、出差事务信息的记录。这里需要说明的是,每次只能添加一项记录,在“其他考勤信息”处,选择添加相应的考勤信息,添加完成后,点击确定,同样会调出添加的信息在菜单中显示。修改考勤信息此菜单包括“修改上下班信息”、“修改其他考勤信息”两个菜单。本处的两个菜单,是对所有在编人员的操作,操作员点击菜单的“修改上下班信息”,主菜单界面中会调出所有数据库的人员信息,操作员只需在所要修改的员工信息处,双击鼠标,即可弹出“修改上下班信

53、息”或是“修改其他考勤信息”,修改后,确定后,会覆盖原数据库信息。具体实现代码如下:. Else 修改记录If MsgBox(确定修改编号为 & Me.ASID & 的员工信息?, vbOKCancel, 提示!) = vbOK Then If Me.InFlag = True Then If DateDiff(s, Me.InTime, rsTime(0) 0 Then ieary = 1 End If sql = update AttendanceInfo set AOutTime=# & Me.OutTime & #, sql = sql & AEarly= & iearly & whe

54、re ID= & ArecordID TransactSQL (sql) 修改下班记录 Call frmAResult.ShowData(sql2) MsgBox 信息已经修改!, vbOKOnly + vbExclamation, 修改结果! Unload Me End If Else Unload Me End IfEnd If.查询考勤信息 2图 4.12 查询员工考勤信息 根据查询条件,如勾选员工编号,查询出所选择员工的出勤记录、请假记录、加班记录、出差记录,如图 4. 13 图3查询某个员工考勤记录根据上面的查询条件,如勾选时间段,则会调出是某一时间段的所有员工的考勤情况。查询结果如

55、图 4.144 查询某时间段的员工考勤记录 上述调出数据库中的相匹配的数据,具体的实现代码如下:Public Sub ShowData(query As String) . Set rsAttendance = TransactSQL(query) If rsAttendance.EOF = False Then With recordlist .Rows = 1 .Rows = .Rows + 1 .TextMatrix(.Rows - 1, 0) = rsAttendance(0) .TextMatrix(.Rows - 1, 1) = rsAttendance(1) .TextMatri

56、x(.Rows - 1, 2) = rsAttendance(2) .TextMatrix(.Rows - 1, 3) = rsAttendance(3) .TextMatrix(.Rows - 1, 4) = rsAttendance(4) If IsNull(rsAttendance(5) Then .TextMatrix(.Rows - 1, 5) = Else .TextMatrix(.Rows - 1, 5) = rsAttendance(5) End If If IsNull(rsAttendance(6) Then .TextMatrix(.Rows - 1, 6) = Else

57、 .TextMatrix(.Rows - 1, 6) = rsAttendance(6) End If .TextMatrix(.Rows - 1, 7) = rsAttendance(7) .TextMatrix(.Rows - 1, 8) = rsAttendance(8) Wend End With End IfEnd Sub删除考勤信息 此菜单包括“删除上下班信息”、“删除其他考勤信息”两个菜单。本处的两个菜单,是对所有在编人员的操作,操作员点击菜单的“删除上下班信息”,主菜单界面中会调出所有数据库的人员信息,操作员只需在所要修改的员工信息处,双击鼠标,即可弹出“删除上下班信息”或是“

58、删除其他考勤信息”,修改后,确定后,会更新原数据库信息。设置上下班时间图 4.13 设置上下班时间 操作员点击“设置上下班时间”菜单,即可对上下班时间进行调整。4.3.6工资信息设置模块4 工资信息设置模块 该模块包括工资基本工资设置、其他项目设置、工资计算公式设置三个子菜单组成。1. 设置基本工资 如图4.15图4.15 设置员工基本工资 此菜单是对员工的基本工资的设置,通过下拉菜单可以选择员工编号及其职务,输入相应的金额,点击确定后,储存至数据库,并打开所有数据库的基本工资表。 2. 其他项目设置 如图图4.16 设置其他项目 此菜单设置员工的福利、奖金、津贴、扣发等项目的费用,当操作员选

59、择相应的项目添加完成后,点击确定,会将数据信息记录至数据库,并在前台的“员工其他项目列表”进行显示。 3. 工资计算公式设置 如图 4.17图4.17 工资计算公式设置操作员添加值之后,系统就会根据添加的值进行工资的统计了。 4.3.7 工资信息管理模块 图4.18 工资信息管理 1. 出勤统计 如图图4.19 统计出勤记录 00 员工考勤信息列表 这一部分的内容是难点,首先将前边的添加过的考勤按月统计,然后根据添加的工资公式统计出每个人的工资。下面我用数据流图4.21来表示工资信息管理在统计考勤的过程中,需要进行一系列的统计,首先判断是否含有出勤记录,然后统计出勤天数、迟到次数、早退次数、正

60、常加班次数、特殊加班次数、出差次数以及旷工次数,这些都统计完后,系统提示:统计完毕。月度员工考勤统计表 基本工资奖金等表基本工资等设置计算工资月度工资表发放工资图4.21工资信息管理数据流图以下是部分代码显示:Private Sub cmdOK_Click() sql = select AEarly from AttendanceInfo where AEarly=1 and AStuffID= sql = sql & rsPerson(0) & and ADate between # & firstday & # and # sql = sql & lastday & # 统计天数按从每月的

温馨提示

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

评论

0/150

提交评论