基于-VB工资管理系统_第1页
基于-VB工资管理系统_第2页
基于-VB工资管理系统_第3页
基于-VB工资管理系统_第4页
基于-VB工资管理系统_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

1、-PAGE . z航空工业学院高等职业技术学院毕业设计(论文)任务书、毕业设计(论文)题目:工资管理系统、毕业设计(论文)使用的原始资料(数据)及设计技术要求:利用Visual Basic6.0及Microsoft Access2000数据库技术对企业员工工资的根本信息进展管理,要求进展用户需求分析,功能模块的设计,对部门、员工及工资的根本信息进展添加、修改、删除、查询及打印等功能。、毕业设计(论文)工作容:1. 查找资料,撰写开题报告。2. 设计系统主界面。3. 完成部门管理、员工根本信息管理模块的设计。4. 对软件进展调试与测试。、主要参考资料:1韬等,编著.Visual Basic 6.

2、0数据库系统开发实例导航.:清华大学, 20032 丰岚等,编著.手把手教你开发管理信息系统.:希望电子出版设,20023 科技.Visual Basic6.0数据库开发技术与工程实践.:人民邮电,2004 专 业 班 学生 慧明日期: 自 2007 年 2 月 26 日 至 2007年 6 月 15 日指导教师 兼职教师或答疑教师(并指出所负责的局部):专业主任 开题报告毕业课题名称:工资管理系统一选题的依据及课题的意义:随着计算机技术的普及,数据信息处理技术得到了空前开展,人们处理大量数据的能力越来越强,大量以前必需由人工处理的工作现在都可以由计算机代劳。早期的工资统计和发放都是使用人工方

3、式处理纸质材料,不仅花费财务人员大量的时间且不易保存,往往由于个人的因素抄写不慎或计算疏忽,出现工资发放错误的现象。早期工资管理多采取纸质材料和具有较强的时间限制。基于以上原因,企业工资管理系统使用电脑平安保存、快速计算、全面统计,实现工资管理的系统化、规化、自动化。二国外研究概况及开展趋势:20世纪80年代后期,进入到数据管理阶段。该阶段的计算机系统广泛应用于企业管理。同时工资管理系统已经由原来的人工管理走入了计算机管理的时代,作为信息管理主要工具的数据库已经成为举足轻重的角色。数据库就是存放数据的仓库,数据按一定的规律存放在计算机中,在科学技术飞速开展的今天人们越来越依赖计算机把现实中的事

4、物抽象成数据然后以记录的形式加以保存。换个角度看数据库是长期存储在计算机的,有组织的,可共享的数据集合。它具有较小的冗余度,较高的系数据独立性和易扩展性等特征,可以让多个用户在不同的权限下使用。这样用数据库技术来管理工资是一种趋势。三研究容及实验方案;研究容: 本课题的研究容是对数据库理论及软件工程理论的研究,并利用所学的知识将这些理论运用到实践中来,即用这两论开发一套工资管理系统。这套系统包含以下几个功能模块:1工资信息设置 2 工资信息管理 3. 系统其功能模块图如下所示:企业工资管理系统系统局部企业工资信息设置企业工资信息管理修改密码根本工资设置其他工资设置工资公式设置计算实发工资查询工

5、资退出系统出勤统计添加用户导出工资表 图一 系统功能模块图本人研究的是以下几个功能模块:1工资信息设置这个模块的作用是包括设置员工的根本工资和其他工程的金额,如奖金等。并且负责设置员工工资的计算公式.2工资信息管理这个模块包含的信息是包括统计出勤、计算工资、查询工资和导出工资表。四目标,主要特色及工作进度目标:在WINDOWS系统下,运用 VB6.0和ACCESS2000数据库进展开发,实现工资管理系统。主要特色:易操作,外观新颖,界面友好,探索性较强。工作进度:第1至3周:收集相关资料,进展系统方案设计,写出开题报告第4至8周:实现各局部模块功能。 第9至14周:整体调试并进展必要修改。第1

6、5至18周:测试所有功能,写论文。五参考文献1立科,Visual Basic 6.0数据库开发技术与工程实践,人民邮电出版 社,2004.4月2 增敏,王庆建,ACCESS2000实用教程,电子工业出版设,2002.6月3 牛勇,VB编程篇,电子工业出版设,2004.4月4 *士良,计算机软件技术根底,清华大学,2002.2工资管理系统 学生:*波 班级:049042-22指导教师:江晶摘要:企业的工资管理是公司管理的一个重要容。随着企业人员数量增加,企业的工资管理工作也变得越来越复杂。工资管理既涉及到企业劳动人事的管理,同时也是企业财务管理的重要组成局部。工资管理需要和人事管理相联系,同时连

7、接工时考勤和医疗保险等等,来生成企业每个职工的根本工资、津贴、医疗保险、保险费、实际发放工资等。资金是企业生存的主要元素,资金的流动影响到企业的整体运作,企业员工的工资是企业资金管理的一个重要的组成局部。早期的工资统计和发放都是使用人工方式处理纸质材料,不仅花费财务人员大量的时间且不易保存,往往由于个人的因素抄写不慎或计算疏忽,出现工资发放错误的现象。早期工资管理多采取纸质材料和具有较强的时间限制。基于以上原因,企业工资管理系统使用电脑平安保存、快速计算、全面统计,实现工资管理的系统化、规化、自动化。企业工资管理系统是典型的信息管理系统MIS,前台程序开发工具采用微软的VB6,后台数据库采用A

8、ccess数据库。VB6是一种面向对象的开发工具,具有组件丰富、语言简单、功能强大的优点。Access数据库具有与VB6无缝连接、操作简单、易于使用的优点。运行结果证明,本企业工资管理系统极大提高了工作效率,节省了人力和物力,最终满足企业财务管理、员工工资发放的需要,同时也成为现代化企业管理的标志。关键词:VB 工资管理 信息管理 数据查询 数据库指导教师目 录TOC o 1-3 h z uHYPERLINK l _Toc169663058第一章 绪论8HYPERLINK l _Toc1696630591.2 企业工资管理系统 PAGEREF _Toc169663059 h 8HYPERLIN

9、K l _Toc169663060第二章 工资管理系统设计分析 PAGEREF _Toc169663060 h 9HYPERLINK l _Toc1696630612.1 应用需求分析 PAGEREF _Toc169663061 h 9HYPERLINK l _Toc1696630622.2 系统功能模块划分 PAGEREF _Toc169663062 h 10HYPERLINK l _Toc1696630632.3系统数据库设计 PAGEREF _Toc169663063 h 12HYPERLINK l _Toc169663064第三章 工资管理系统应用程序设计 PAGEREF _Toc16

10、9663064 h 17HYPERLINK l _Toc16966306531 登录模块详细设计 PAGEREF _Toc169663065 h 17HYPERLINK l _Toc16966306632 主窗体模块详细设计 PAGEREF _Toc169663066 h 20HYPERLINK l _Toc169663067.各项子模块详细设计 PAGEREF _Toc169663067 h 24HYPERLINK l _Toc1696630683.3.1 设置根本工资窗体设计 PAGEREF _Toc169663068 h 24HYPERLINK l _Toc1696630693.3.2

11、其他工程设置窗体设计PAGEREF _Toc169663069 h 26HYPERLINK l _Toc1696630703.3.3 工资计算公式设置窗体设计 PAGEREF _Toc169663070 h 29HYPERLINK l _Toc1696630713.3.4 计算实发工资窗体设计 PAGEREF _Toc169663071 h 31HYPERLINK l _Toc1696630723.3.5 查询工资窗体设计 PAGEREF _Toc169663072 h 33HYPERLINK l _Toc1696630733.3.6 导出工资表窗体设计 PAGEREF _Toc1696630

12、73 h 34HYPERLINK l _Toc16966307434 各项子模块编写要点 PAGEREF _Toc169663074 h 35HYPERLINK l _Toc169663075第四章软件调试与测试 PAGEREF _Toc169663075 h 45HYPERLINK l _Toc169663076第五章 总结 PAGEREF _Toc169663076 h 46HYPERLINK l _Toc169663077参考文献 PAGEREF _Toc169663077 h 47第一章 绪论1.1 数据库管理系统数据库管理系统DBMS是指数据库系统中管理数据的软件系统。DBMS是数据

13、库系统的核心组成局部。对数据库的一切操作,包括定义、更新及各种控制,都是通过DBMS进展的。DBMS总是基于*种数据模型,可以把DBMS看成是*种数据模型在计算机系统上的具体实现。根据数据模型的不同,DBMS可以分成层次型、网状型、关系型、面向对象型等。MS Access 2000就是一种关系型数据库管理系统。关系模型主要是用二维表格构造表达实体集,用外键表示实体间联系。关系模型是由假设干个关系模式组成的集合。关系模式相当于前面提到的记录类型,每个关系实际上是一二维表格。关系模型和层次、网状模型的最大判别是用关键码而不是用指针导航数据,表格简单用户易懂,编程时并不涉及存储构造,技术等细节。SQ

14、L语言是关系型数据库的标准化语言,已得到了广泛的应用。1.2 企业工资管理系统企业工资管理是一项琐碎、复杂而又十分细致的工作,一般不允许发生过失。最初的工资统计和发放都是使用人工方式处理,工作量大的时候,出现错误的机率也随之升高,不仅花费财务人员大量的时间,而且往往由于抄写不慎,或者由于计算的疏忽,出现工资发放错误的现象。同时工资的发放具有较强的时间限制,必须严格按照单位规定的时间完成计算和发放工作。正是企业工资管理的这种重复性、规律性、时间性,使得企业工资管理计算机化成为可能。企业工资管理系统就是使用电脑代替大量的人工统计和计算,完成众多企业工资信息的处理,同时使用电脑还可以平安地、完整地保

15、存大量的企业工资记录。第二章 工资管理系统设计分析2.1 应用需求分析需求分析的过程可以说是一个对具体问题的反复理解和抽象的过程。理解就是对现实问题的理解,要弄清楚终究需要解决什么问题。抽象就是除去问题的外表,提取问题的本质,建立问题的逻辑模型,以便于以后阶段的系统的设计实现。需求分析阶段是软件产品生存命期中的一个重要阶段,其根本任务是确定用户对软件系统的需求。所谓需指用户对软件的功能和性能的要求,就是用户希望软件能什么事情,完成什么样的功能,到达什么性能。通常需求分为两种类型:一种是功能性需求,一种是非功能性需求,这一点也需要有一种清楚的认识。功能性需指需要计算机系统解决的问题,也就是对数据

16、的处理要求,这是一类最主要的需求。非功能性需指实际使用环境所要求的需求,往往是一些限制要求,例如:性能要求,可靠性要求,平安要求,等等。工资管理既涉及到企业劳动人事的管理,同时也是企业财务管理的重要组成局部。工资管理需要和人事管理相联系,同时连接工时考勤和医疗保险等等,来生成企业每个职工的根本工资、津贴、医疗保险、保险费、实际发放工资等。资金是企业生存的主要元素,资金的流动影响到企业的整体运作,企业员工的工资是企业资金管理的一个重要的组成局部。早期的工资统计和发放都是使用人工方式处理纸质材料,不仅花费财务人员大量的时间且不易保存,往往由于个人的因素抄写不慎或计算疏忽,出现工资发放错误的现象。早

17、期工资管理多采取纸质材料和具有较强的时间限制。基于以上原因,企业工资管理系统使用电脑平安保存、快速计算、全面统计,实现工资管理的系统化、规化、自动化。企业工资管理系统是典型的信息管理系统MIS,前台程序开发工具采用微软的VB6,后台数据库采用Access数据库。VB6是一种面向对象的开发工具,具有组件丰富、语言简单、功能强大的优点。 Access数据库具有与VB6无缝连接、操作简单、易于使用的优点。运行结果证明,本企业工资管理系统极大提高了工作效率,节省了人力和物力,最终满足企业财务管理、员工工资发放的需要,同时也成为现代化企业管理的标志2.2 系统功能模块划分根据该企业的业务情况及实现目标,

18、系统功能模块图如图2.1所示:企业工资管理系统系统局部企业工资信息设置企业工资信息管理修改密码根本工资设置其他工资设置工资公式设置计算实发工资查询工资退出系统出勤统计添加用户导出工资表图2.1 系统功能模块在这次系统开发中我主要完成的局部是工资管理和设置方面。开发这个系统的目的就是帮助企业的财务主管部门提高工作效率,实现企业工资信息管理的系统化、规化和自动化。能够和认识管理系统、考勤管理系统相结合,真正实现企业高效、科学、现代化的员工管理。系统最终实现的主要功能如下:企业工资信息设置局部:包括设置员工的根本工资和其他工程的金额,如奖金等。并且负责设置员工工资的计算公式。工资信息设置工资计算公式

19、设置其他工资设置根本工资设置图2.2 工资信息设置模块企业工资信息管理局部:包括统计出勤、计算工资、查询工资和导出工资表。工资信息管理导出工资表计算实发工资出勤统计查询工资图2.3 工资信息管理模块系统局部:包括添加用户和修改密码。系统退出系统修改密码添加用户图2.4 系统模块2.3系统数据库设计数据库是信息管理系统的后台,存储着所有的信息,在信息管理系统中有着很重要的地位。数据库设计的好与坏,直接影响到这个系统的运行效率。良好的数据库设计,可以提高数据信息的存储效率,确保数据信息的完整性和一致性。针对企业工资信息管理系统的需求,通过对员工工资计算过程的容分析,为本系统设计如下的数据项和数据构

20、造:根本工资信息:包括员工编号和根本工资元/小时。根本工资信息员工编号根本工资图2.5 根本工资实体E-r图其他工程信息:包括员工编号、奖金、津贴、福利、扣发等。其他工程设置奖金津贴福利扣发图2.6 其他工程实体E-R图计算公式信息:包括加班费的百分比、出差工资、旷工、迟到早退扣发等。计算公式加班费出差工资旷工扣发图2.7计算公式实体E-R图启动Access 2000,创立新的数据库,命名为Salary.mdb和Person.mdb,保存在要存放这个系统所有工程文件的文件夹中。在使用的时,要把应用程序和这两个数据库保存在同一个文件夹中。表2.1 员工出勤统计信息表:字 段类 型长 度是否空说

21、明id自动编号长整型否记录编号stuffid文本50否员工编号stuffname文本50否员工recordmonth日期/时间否统计时间attendance数字长整型否出勤天数lateearly数字长整型否迟到早退次数absent数字长整型否旷工次数overtime数字长整型否正常加班次数overtimespe数字长整型否特殊加班次数errand数字长整型否出差次数表2.2 员工工资计算公式信息表:字 段类 型长 度是否空说 明overtime数字长整型否正常加班工资百分比overtimespe数字长整型否特殊加班工资百分比errand数字长整型否出差工资absent数字长整型否旷工工资le数

22、字长整型否迟到早退表2.3 员工其他工程设置:字 段类 型长 度是否空说 明id自动编号长整型否记录编号stuffid文本50否员工编号yearmonth日期/时间否年月type数字长整型否类型name文本50是类型money货币货币否名称remark备注是备注表2.4 员工工资统计信息表:字 段类 型长 度是否空说 明id自动编号长整型否记录编号stuffid文本50否员工编号stuffname文本50否员工yearmonth日期/时间否时间basicsalary货币货币根本工资bonus货币货币奖金welfare货币货币福利allowance货币货币津贴abatement货币货币扣发les

23、ub货币货币迟到早退扣发absentsub货币货币旷工扣发overtime货币货币加班费errand货币货币出差费others货币货币其他金额total货币货币总额表2.5 员工信息表:字 段类 型长 度是否空说 明sid文本50否员工编号sname文本50否员工sgender文本50否性别splace文本50否籍贯sage数字长整型否年龄sbirthday日期/时间否生日sdegree文本50是学历sspecial文本50是专业saddress文本50是住址scode文本50是 stel文本50是semail文本50是EmailsworkTime日期/时间否参加工作时间sintime日期/时

24、间否进入公司时间sdept文本50是部门spaytime日期/时间否起薪时间sposition文本50是职务sremark文本50是备注表2.6 用户信息表:字 段类 型长 度是否空说 明userid文本50否用户名称userpwd文本50否用户密码第三章 工资管理系统应用程序设计31 登录模块详细设计1、实现目标:登录模块的详细设计主要是用户登录的一个界面,判断登录的用户是管理员还是普通用户,进入后将面对的是主界面,从而进展相关的操作。登录的界面主要由用户名和密码的信息,还有一些标题设置,确定和取消的按钮组成。通过标题可以知道此系统的大概容,由此,登录界面的设计完成。 2、界面:图3.1 用

25、户登陆界面登陆界面程序流程图如下:输入用户名密码开场用户名密码是否正确进入系统密码错误是否图3.2 登陆程序流程图3、程序说明:Option E*plicitDim pwdcount As IntegerPrivate Sub cmdcancel_Click() username.Te*t = password.Te*t = End SubPrivate Sub cmdok_Click() Dim sql As String Dim rs As ADODB.Recordset If Trim(username.Te*t = ) Then MsgBo* 没有输入用户名称, vbOKOnly +

26、vbE*clamation, 警告 username.SetFocus Else sql = select * from userinfo where userid= & username.Te*t & Set rs = getrs(sql, salary) If iflag = 1 Then If rs.EOF = True ThenMsgBo* 没有这个用户,请重新输入, vbOKOnly + vbE*clamation, 警告 username.SetFocus Else If Trim(rs.Fields(1) = Trim(password.Te*t) Then rs.CloseMe

27、.Hide strusername = Trim(username.Te*t) userpassword = Trim(password.Te*t) frmMain.Show Unload Me Else MsgBo* 密码不正确,请重新输入, vbOKOnly + vbE*clamation, 警告 password.SetFocus password.Te*t = End If End If End If End If pwdcount = pwdcount + 1 If pwdcount = 3 Then Unload Me End IfEnd SubPrivate Sub Form_L

28、oad() pwdcount = 0 strusername = userpassword = End Sub32 主窗体模块详细设计1实现目标:在这个工程中,选择使用多文档界面。使用这个窗体的好处是可以使程序更加有条理。对于一个多任务的应用程序,使用多文档窗体还可以减少占用的系统资源。2、界面及目标实现过程:主窗体设计的界面是用菜单编辑器做的,主要由系统、工资信息设置、工资信息管理和关于这四个大模块组成。主窗体是进展相关操作的主界面。在这几个里,管理员有所有的权利进展各种操作。图3.4 员工工资管理系统界面3、程序说明:rivate Sub Menu_about_Click() frmabo

29、ut.Show frmabout.ZOrder 0End SubPrivate Sub Menu_adduser_Click(Inde* As Integer) If Trim(strusername) admin Then MsgBo* 对不起,您没有这个权限!, vbOKOnly + vbE*clamation, 警告 ElseIf Trim(strusername) = admin Then frmadduser.Show frmadduser.ZOrder 0 End IfEnd SubPrivate Sub Menu_basic_Click(Inde* As Integer) If

30、Trim(strusername) admin Then MsgBo* 对不起,您没有这个权限!, vbOKOnly + vbE*clamation, 警告 ElseIf Trim(strusername) = admin Then ichangeflag = 1 frmbasicsetting.Show frmbasicsetting.ZOrder 0 End IfEnd SubPrivate Sub Menu_changepwd_Click(Inde* As Integer) frmchangepwd.Show frmchangepwd.ZOrder 0End SubPrivate Sub

31、 Menu_check_Click(Inde* As Integer) frmresult.Show frmresult.ZOrder 0 frmresult.Caption = 信息查询End SubPrivate Sub Menu_e*it_Click(Inde* As Integer) Unload Me E*it SubEnd SubPrivate Sub Menu_formulasetting_Click(Inde* As Integer) If Trim(strusername) admin Then MsgBo* 对不起,您没有这个权限!, vbOKOnly + vbE*clam

32、ation, 警告 ElseIf Trim(strusername) = admin Then frmformula.Show frmformula.ZOrder 0 End IfEnd SubPrivate Sub Menu_getsalary_Click(Inde* As Integer) If Trim(strusername) admin Then MsgBo* 对不起,您没有这个权限!, vbOKOnly + vbE*clamation, 警告 ElseIf Trim(strusername) = admin Then frmsumsalary.Show frmsumsalary.Z

33、Order 0 End IfEnd SubPrivate Sub Menu_others_Click(Inde* As Integer) If Trim(strusername) admin Then MsgBo* 对不起,您没有这个权限!, vbOKOnly + vbE*clamation, 警告 ElseIf Trim(strusername) = admin Then ichangeflag = 1 frmothersetting.Show frmothersetting.ZOrder 0 End IfEnd SubPrivate Sub Menu_out_Click(Inde* As

34、Integer) If Trim(strusername) admin Then MsgBo* 对不起,您没有这个权限!, vbOKOnly + vbE*clamation, 警告 ElseIf Trim(strusername) = admin Then frme*port.Show frme*port.ZOrder 0 End IfEnd SubPrivate Sub Menu_sumattendance_Click(Inde* As Integer) frmsuminout.Show frmsuminout.ZOrder 0End Sub.各项子模块详细设计设置根本工资窗体设计1、实现目

35、标:选择工资信息设置根本工资设置菜单设置员工的根本工资,可以根据员工的编号,或者根据员工职务设置根本工资,设置的根本工资为每个小时的工资。2、界面及控件列表图3.5 设置根本工资界面表3.1 设置根本工资主要控件列表对 象属 性设 置optionbuttonCaption员工编号optionbuttonCaption员工职务mand1caption确认mand2caption取消3、程序说明:Set rs = getrs(sql, salary)If rs.EOF = False Thensql = delete from salarysetting where stuffid= & Me.s

36、tuffid.Te*t & Call transactsql(sql, salary)End Ifrs.CloseCall addrecordMsgBo* 已经设置根本工资, vbOKOnly + vbE*clamation, 添加结果Call initsql = select * from salarysettingCall frmresult.basictopicCall frmresult.showbasic(sql)frmresult.Showfrmresult.ZOrder 0Me.ZOrder 0其他工程设置窗体设计1、实现目标:选择工资信息设置其他工程设置菜单,在其他工程设置的窗

37、体中,设置员工当月的奖金、津贴、福利等工程。2、界面及主要控件列表图3.6其他工程设置界面表3.2 其他工程主要控件对 象属 性设 置dtpicker名称dttimebobo*名称idframe名称frameinfote*tte*t空Optionbuttonvaluefalse3、程序说明:sql = select * from salaryother If ichangeflag = 1 Then Call add MsgBo* 已经添加记录, vbOKOnly + vbE*clamation, 提示 Call frmresult.othertopic Call frmresult.show

38、other(sql) frmresult.Show Unload Me Else If Me.optionbonus.Value = True Then itype = 1 ElseIf Me.optionallowance.Value = True Then itype = 2 ElseIf Me.optionwelfare.Value = True Then itype = 3 ElseIf Me.optionabatement.Value = True Then itype = 4 ElseIf Me.optionothers.Value = True Then itype = 5 re

39、sumdate = recordtime sql = sql & and YearMonth=* & recordtime & * and sql = sql & Type= & itype Call transactsql(sql, Salary) Call add Call frmsumsalary.resumsalary(resumdate) sql = select * from salaryother Call frmresult.othertopic Call frmresult.showother(sql) frmresult.Show Unload Me End If工资计算公

40、式设置窗体设计1、实现目标:选择工资信息设置工资计算公式设置菜单,在这个计算公式窗体中设置员工实际发放工资的计算公式。2、界面及主要控件列表图3.7 计算公式界面表3.3 主要控件列表对 象属 性设 置lablecaption界面所示mandcaption界面所示te*tte*t空3、程序说明:IfMe.te*tovertime = And IsNumeric(Me.te*tovertime) = True Then MsgBo* 请输入正常加班工资百分比, vbOKOnly + vbE*clamation, 提示 Me.te*tovertime = ElseIf Me.te*tovertim

41、espe = And IsNumeric(Me.te*tovertimespe) = False Then MsgBo* 请输入特殊加班工资百分比, vbOKOnly + vbE*clamation, 提示 Me.te*tovertimespe = ElseIf Me.te*terrand = And IsNumeric(Me.te*terrand) = False Then MsgBo* 请输入出差工资, vbOKOnly + vbE*clamation, 提示 Me.te*terrand = ElseIf Me.te*tabsent = And IsNumeric(Me.te*tabsen

42、t) = False Then MsgBo* 请输入旷工扣发工资, vbOKOnly + vbE*clamation, 提示 Me.te*tabsent = ElseIf Me.te*tle = And IsNumeric(Me.te*tle) = False Then MsgBo* 请输入迟到早退扣发工资, vbOKOnly + vbE*clamation, 提示 Me.te*tle = Else Call setvalue Call init End If计算实发工资窗体设计1、实现目标:选择工资信息管理计算实发工资菜单,在这个窗体中选择需要统计的月份。选择统计月份后,单击开场统计按钮,系

43、统如果已经统计了该月份的工资,系统会显示工资信息列表窗体。如果系统还没有统计工资,则系统开场统计工资,然后在信息结果列表窗体中显示统计结果。2、界面:图3.8计算工资界面3、程序说明:If Me.month.Te*t = 4 Then firstday = Year(Date) & - & Me.month.Te*t & -1 days = DateDiff(d, Year(Date) & - & Me.month.Te*t & -1, _ Year(Date) & - & Me.month.Te*t + 1 & -1) lastday = Year(Date) & - & Me.month.

44、Te*t & - & days Call sumsalary(firstday, lastday) sql = select * from salarystatistics frmresult.SSTab1.Caption = 员工工资统计列表 Call frmresult.listtopic Call frmresult.showdata(sql) frmresult.Caption = 统计结果列表 frmresult.ZOrder 0 Unload MeElse MsgBo* 这个月的工资未统计, vbOKOnly + vbE*clamation, 提示End If查询工资窗体设计选择工

45、资信息管理查询工资菜单,系统显示如图的查询信息窗体,系统默认的是查询出数据库中所有的记录当管理员进入的时候,当从员工编号下拉列表中选择一个员工编号后,单击查询单人按钮,就会查询出符合这个员工编号的记录;如果需要返回查询所有信息,单击查询所有按钮,系统就会返回所有员工的信息。在员工工资统计列表中单击鼠标右键,会弹出下列图的菜单,在员工其他工程列表中单击鼠标右键也会出现下列图的菜单。如果要选择删除根本工资设置,出现如下的提示:图3.9 删除根本工资设置界面导出工资表窗体设计选择工资信息管理导出工资表菜单,会出现下列图的导出记录窗体中选择需要导出工资的月份。选择月份和保存位置后,单击导出按钮,系统会

46、开场导出数据。图3.10 导出记录界面单击确定按钮翻开导出的文件,单击取消按钮回到系统。图3.11 导出工资记录界面34 各项子模块编写要点1、登陆窗体:在登录的这个窗体里,我做的特点是:只要在数据库里有用户信息的,都可以登录,然后显示相关自己的信息,而管理员显示所有的信息。当输入的用户名或密码不正确的时候,会出现如下的对话框:图3.12 输入用户名不正确或密码错误界面或者,图3.13 密码不正确界面2、主窗体:在主窗体的设计中,我在系统的下拉菜单里包括有添加用户、修改密码和退出系统。在这个模块里普通用户只有修改自己的密码的权利。在添加用户的窗体里:添加3个标签、3个文本框和2个命令按钮,然后

47、设置它们相关的属性。在修改密码的窗体里:添加了3个标签,用来显示信息;3个文本框用来输入用户名称和用户密码;2个按钮用来确定和取消操作,然后设置它们的属性。3、工资信息设置:在工资信息设置的下拉菜单里包括有根本工资信息设置、其他工程信息设置和计算公式设置。在这个模块里,普通用户没有任何权利进展相关的操作。在根本工资窗体里:添加了2个选项按钮、2个下拉列表、2个标签、1个文本框和2个按钮,然后设置它们的属性。在其他工程设置的窗体里:使用了一个DTPicker控件获得添加记录的时间,要使用这个控件需要添加部件类库,选择工程部件命令,选择Microsoft Windows mon Controls-

48、2 6.0(sp4)项,然后设置相关的属性。4、工资信息管理:在工资信息管理的下拉菜单里包括有统计出勤信息、计算实发工资、查询工资和导出工资表。在这个模块里,普通用户有统计出勤信息和查询工资的权利,但是都显示的是自己的信息。在出勤统计窗体里:添加一个下拉列表、一个标签和2个命令按钮,然后设置相关的属性。在出勤结果信息列表的窗体里:使用了Adodc控件和DataGrid控件,控件的Visible属性一定要设置为False。在计算实发工资窗体里添加的控件和统计出勤记录窗体的控件一样。在工资统计列表窗体里:使用了SSTab控件,在每一个标签上添加一个MSFle*Grid控件,然后设置它们的属性。在导

49、出工资表的窗体中使用了mondDialog控件,要使用这个控件需要在控件窗体中,选择Microsoft mon Dialog Control6.0(sp3)项,同时因为数据表格是导出到E*cel,所以需要添加引用。选择工程引用菜单,在引用窗体中选择Microsoft E*cel 9.0 Object Library项,这样才能够成功导入到E*cel。在这个窗体里,我做的特点是:权利分工明确。当管理员进入的时候他有所有的权利,单击哪个模块就会弹出相对应的窗体。而普通用户则不能,我把它进展了权限设置,会弹出权限的对话框。图3.14 权限错误界面在添加用户的窗体里,如果输入的用户密码和确认密码不一致

50、,将出现一个警告对话框:图3.15 用户名和密码不一致界面然后输入与用户密码一样的密码,我这里的密码都是以*的形式表达,是不可见的。添加的用户将保存在数据库的userinfo里。单击取消按钮就卸载此窗体,添加用户的过程到此完成。5、根本工资窗体:在建立根本工资窗体时,这个窗体会在两个地方使用到,一个就是添加,另一个就是修改,在窗体载入时系统应自动判断状态。选择员工编号或选择职务,然后填写工资金额,单击确定按钮,系统就会按照选择的方式,设置员工的根本工资。在做根本工资这个窗体时,我的想法是:当你在修改根本工资的信息,首先都要从数据库中调出相关的信息,然后把它删除掉,再从数据库中的员工信息表中调出

51、所要的信息,然后再一次的添加所要设置的信息。当你没输入员工编号的时候,会出现下列图的对话框;图3.16 没输入员工编号界面当没输入员工的职务时会出现错误的信息。6、其他工程设置:在建立其他工程设置的窗体时,也在两个地方使用,即添加和修改,在载入时也需要判断状态。选择员工编号,再选择需要添加的工程和进额,单击确定按钮,即可添加其他工程。在其他工程设置这个窗体里,我用了一个Frame控件和几个optionButton控件,目的在于:在添加其他工程时,只能有一个设置是有效的,而且还可以添加其他的工程,还有备注等等,这些都便于记录。这里还有一个DTPicker控件是用来记录添加其他工程的时间,我觉得这

52、个控件非常好。还有就是每次添加成功后,系统需要初始化,更新一下。在设置完这个窗体后将会弹出查询工资的窗体。7、工资计算公式:在建立工资计算公式的窗体时,输入容后,单击确定按钮,设置计算公式中使用的数字。在计算公式设置的窗体里,单击恢复默认值按钮系统将会恢复公式中的默认值。这里的恢复默认值功能采用的方法比拟简单,就是在一个函数中设置了固定的默认值。如果需要使用可变的默认值,可以在数据库中设置一项默认值字段,这样可以方便的更改默认值。当输入的格式与设定的格式不一致的时候,会弹出相关的对话框。8、计算实发工资:建立计算实发工资的窗体,这个窗体的建立和统计出勤记录的窗体比拟相似,选择月份后,单击开场统

53、计按钮,即可统计员工工资。在计算实发工资的窗体里,如果输入的月份的工资没统计会弹出如下的对话框:图3.17 输入月份工资没统计界面否则会出现如下的对话框:图3.18 输入月份有统计界面单击确定后,就会出现工资信息列表,这时你将看见所有关于你想要的信息。9、工资查询窗体:建立工资查询的窗体,在选择员工编号后,单击查询单人按钮,返回选择员工的相关信息。单击查询全部按钮,系统返回全部员工的信息。在建立工资查询即工资统计结果列表的窗体时,我觉得这是一个最难的窗体。不仅是因为它的设置,还有就是它的代码和数据库相连的操作。在这个窗体中使用了SSTab控件,在每一个标签上添加一个MSFle*Grid控件。当

54、你是管理员登录的时候,他的权限是所有,当你是用户登录的时候,窗体只显示登录用户本人的相关信息。他没有任何权限,只能看到自己的信息,这是我做这个窗体的特色。窗体的局部代码为:管理员的权限If strusername = admin Then sql = select stuffid from salarysetting Set rs = getrs(sql, salary) If rs.EOF = False Then While Not rs.EOF Me.id.AddItem rs(0) rs.MoveNe*t Wend rs.Close End If Me.id.ListInde* = 0

55、 Case 0 sql = select * from salarysetting Call basictopic Call showbasic(sql) Case 1 sql = select * from salaryother Call othertopic Call showother(sql) Case 2 sql = select * from salarystatistics order by id desc Call listtopic Call showdata(sql) End Select Else 用户的权限 sql = select sid from stuffinf

56、o where sname= & strusername & Set rs = getrs(sql, salary) While Not rs.EOF Me.id.AddItem rs(0) rs.MoveNe*t Wend rs.MoveFirst sd = rs(0) rs.Close Me.id.ListInde* = 0 Case 0 sql = select * from salarysetting where stuffid= & sd & Call basictopic Call showbasic(sql) Case 1 sql = select * from salaryother where stuffid= & sd & Call othertopic Call showother(sql

温馨提示

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

评论

0/150

提交评论