企(事)业工资管理系统毕业设计论文.doc_第1页
企(事)业工资管理系统毕业设计论文.doc_第2页
企(事)业工资管理系统毕业设计论文.doc_第3页
企(事)业工资管理系统毕业设计论文.doc_第4页
企(事)业工资管理系统毕业设计论文.doc_第5页
免费预览已结束,剩余20页可下载查看

下载本文档

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

文档简介

毕 业 设 计 论 文企(事)业工资管理系统的设计与实现学 校 姓 名 指导教师 日 期 年月号目录论文摘要 .第一章 引言. 1.1 背景. 1.2 系统介绍.第二章 系统设计 . 2.1 系统目标设计.2.2 开发设计思想. 2.3开发和运行环境选择 . 2.4 系统功能分析. 2.5 系统功能模块设计.第三章 数据库设计. 3.1 数据库需求分析.3.2 数据库概念结构设计.第四章 软件设计 .4.1 实现数据库.4.2 建立登录窗体 .4.3 添加主窗体 .4.4 建立工资管理窗体.4.5 建立部门信息窗体 .4.6建立查询员工工资窗体.4.7添加管理帐户窗体.4.8添加帮助窗体.第五章 结束语.参考文献.论文摘要开发企业工资管理系统的目的就是为了帮助企业财务部门能更好地管理本企业的员工工资,提高工作效率,实现企业工资信息管理的规范化和自动化。本系统使用Visual Basic编程语言,采用Access作为数据库,主要使用Visual Basic中的Ado Data控件来对数据库进行各种操作。使用Ado Data控件操作简单,可以使用最少的代码创建数据库应用程序。而对数据库的操作,既可以使用Ado Data控件直接进行,也可以使用Ado Data控件结合代码操纵。本系统实现了一般工资管理系统对员工工资信息的浏览、添加、删除、修改和查询功能,能够完成对员工当月工资的结算,节省了大量的人工操作的工作量,自动完成众多的信息处理,减少了数据出现错误的几率,加强了工资记录的安全性和完整性。关键词:工资管理,数据库,ADO第一章 引言1.1背景当今社会,资金是企业生存的主要元素,资金的流动影响到企业的整体运作,企业员工的工资是企业资金管理的一个重要的组成部分,因为企业每个月都要涉及发放企业员工工资的问题。而随着企业人员数量的增加,企业的工资管理也变得越来越复杂。企业员工的人数越多,工资的统计工作就越多,工资的发放困难就越大。如果能够实现工资管理的自动化,无疑将给企业管理部门带来很大的方便。传统的纸张材料的数据信息管理方式已经不适合现代企业公司的发展了,实现工资管理的系统化、规范化、自动化,将成为现代公司管理工资的首选。随着计算机的诞生和普及以及计算机网络的发展,我们就可以开发一个工资管理系统,用电脑代替大量的人工统计和计算,完成许多工资信息的处理,同时,使用电脑还可以安全地、完整地保存大量的工作记录。1.2 系统介绍 企业工资管理系统的主要任务是用计算机对各种工资信息进行日常的管理,如查询、修改、增加、删除以及存储等,迅速准确地完成各种工资信息的统计计算和汇总工作,快速打印出工资报表,针对系统服务对象的具体要求,设计了企业工资管理系统。企业工资管理系统主要有以下几大功能:对单位人员的变动进行处理。一个单位的职工不会是一成不变的,总是在不断的变化:有调出、有调入、也有职工在本单位内部调动。因此,设计系统是应考虑到这些情况。对职工的工资进行计算、修改。能对各职工的工资进行计算,即计算罚款、奖金及实发金额等。查询统计功能。要求即可以单项查询,比如查看某个职工的工资情况等;也可以多项查询,比如每年或每月的工资情况等。报表打印功能。每月发放工资时,要求能够打印本月的工资表、随工资发给每个职工的工资条以及工资统计表。第二章 系统设计2.1 系统目标设计通过使用企业工资管理系统,使企业的工资管理工作系统化、规范化、自动化、从而达到提高企业管理效率的目的。系统开发的总体任务是使办公人员可以轻松快捷地完成工资管理的任务。2.2 开发设计思想本系统开发设计思想: 尽量利用企业现有软件环境,采用先进的管理系统方案,从而达到充分利用企业现有资源,提高系统开发水平和应用效果的目的; 系统应符合企业工资管理的规定,满足企业相关人员日常使用的需要,并达到操作过程的直观、方便、实用、安全等要求; 系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于技术维护人员进行补充、维护。 系统应具备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改、备份等操作。2.3 开发和运行环境选择开发工具:Visual Basic 6.0 和 Access 2000运行环境:Windows 98 或Windows 2000XP2.4 系统功能分析企业工资管理系统需要完成的功能主要有: 系统数据初始化; 员工基本信息数据的输入; 员工基本信息数据的修改、删除; 企业工资的基本设定; 员工个人工资表的查询; 员工工资的计算; 工资表的打印。2.5 系统功能模块设计在系统功能分析的基础上,根据Visual Basic 6.0程序编制的特点,得到如图2.5所示的系统功能模块图。工资管理系统工资管理工资统计工资计算管理员帐户工资发放按年统计按月统计按年月统计基础工资按工号查询统计查找打印加班全勤设置职位设置职工设置系统设置添加修改删除图 2.5 系统功能模块图第三章 数据库设计3.1 数据库需求分析在仔细调查企业工资管理过程的基础上,得到本系统所处理的数据流程,如图3.1所示。职位工资设定加班全勤设定职工信息设定工资基本设定职工信息职工工资图 3.1 数据流程图通过对企业工资管理的内容和数据流程分析,设计的数据项和数据结构如下: 员工基本状况。包括的数据库项有姓名,性别,民族,部门,联系电话,家庭地址,身份证号,工号,职位编号,学历,备注等。因为本程序中只涉及到工资管理,故为了说明简单,在数据库中只包含进了与职工的工资相关的资料,如部门信息中的职位编号、职位名称及职位底薪,和加班工资和全勤奖金等。 职位编号的职位名称。包括不同的职位名称和不同的职位底薪。 企业部门及工作岗位信息。包括的数据库项有部门名称、工作岗位名称、工作岗位工资等。 工资的工资金额。包括的数据库项有罚款,实发工资。 工资信息。包含的数据库项有姓名,性别,民族,部门,联系电话,家庭地址,身份证号,工号,职位编号,学历,备注。3.2 数据库概念结构设计根据上面的设计规划出的实体有:职工实体、职工工资实体、工资底薪实体、加班(全勤)工资实体。实体和实体之间的关系E-R图。如图3.2所示。职工职工工资对应包含职位底薪加班工资全勤奖金罚款对应对应对应对应职位名称信息初始化信息初始化工资表图 3.2 实体之间关系E-R图第四章 软件设计4.1 实现数据库 为了在操作过程中使用数据的方便,选用Access作为数据库。启动Access直接建立一个数据库: 打开【文件】菜单,单击【新建】命令,弹出【新建文件】工具栏,选择【空数据库】,打开【文件新建数据库】对话框,更改数据库的路径和数据库名称:工资数据库,单击【创建】按钮。弹出新建的【工资数据库】窗口,如图4.1所示。图 4.1-1 工资数据库图 然后,在工资数据库中创建部门信息表,工资表,管理员,系统初始化信息,职工信息表。如图4.2所示。图 4.1-2 工资数据库图4.2 建立登录窗体在VB中添加Form窗体,在属性值窗口中的(名称)框中改名为:Frmlogin在Frmlogin窗体中添加在添加的控件里面,设置标签Label、文本框Textbox、按钮CommandButton、时钟Timer的属性值,其中使用到用户自定义函数ok()。当用户输入用户名和密码后,按【确定】按钮,调用ok()函数,来判断输入的用户名和密码的正确性或出现的系统提示!如下图4.2所示。图 4.2用户调用的ok()函数,代码如下所示:Private Function ok()Dim i As Integer, j As Integeri = biao.RecordCountIf txtusername.Text = Then MsgBox 您的用户名不能为空!, vbOKOnly, 系统提示 txtusername.SetFocus Exit Function ElseIf txtpsw.Text = Then MsgBox 您的密码不能为空!, vbOKOnly, 系统提示 txtpsw.SetFocus Exit FunctionEnd Ifbiao.MoveFirstFor j = 1 To i If biao.Fields(用户名) = txtusername.Text Then If biao.Fields(密码) = txtpsw.Text Then MDIForm1.Show biao.Close ku.Close Unload Me Exit Function Else: MsgBox 您输入的密码不正确!, vbCritical, 系统提示 txtpsw.Text = txtpsw.SetFocus Exit Function End If Else: biao.MoveNext End IfNext jMsgBox 您输入的用户不存在!, vbCritical, 系统提示txtusername.Text = txtpsw.Text = End FunctionPrivate Sub cmdexit_Click()biao.Closeku.CloseUnload MeEnd Sub若在输入的用户名或密码不正确,都会给出相应的系统提示,然后重新登录。4.3 添加主窗体为了让使用者有一个能轻松操作的界面,系统的主界面设计要求界面友好、功能分块明确、美观大方。如下图4.3-1所示。图 4.3-1这是经过添加VB的标准EXE窗体,在属性更改Form的属性值,使之成为MDI窗体。在窗体上右击,选择【菜单编译器】,打开【菜单编译器】窗口。如图4.3-2所示。图 4.3-2然后在窗口内进行有效的菜单设置,比如:工资管理,工资统计,系统设置,管理员帐户,帮助;还要进行属性的设置。这样菜单便制作完成了。设置完成后,还要给窗体加上漂亮的背景,能给使用者美的感觉。具体操作是:在属性窗口中选择Picture单击,弹出【加载图片】对话框,选择背景图片的具体位置以及图片名称,如下图4.3-3所示。图 4.3-3然后,单击【打开】按钮,这样的主界面背景就制作完成了。4.4建立工资管理窗体在VB中添加MDI子窗体,在属性值窗口中的(名称)框中改名为:Frmgzgl在Frmgzgl窗体中添加标签Label,文本框TextBox,复选框CheckBox,按钮CommandButton,框架Frame,ADODC和DATAGRID控件。其中的ADODC和DATAGRID是在菜单:工程部件 中,会打开【部件】对话框,选择Microsoft ADO Data Control 6.0 (OLEDB)和Microsoft DataGrid Control (OLEDB)。如图4.41所示。图 4.41然后,单击【确定】按钮,加载到VB 6.0的工具箱中。这样就可以很方便的使用其中的控件和后台的Access 数据库连接起来,可以很好的进行数据的添加,修改,查找,删除等操作。其中ADO控件的代码设置如下:Adodc1.Visible = FalseAdodc1.ConnectionString = (Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & App.Path & 工资数据库.mdb;Persist Security Info=False)Adodc1.RecordSource = 工资表这样进行一系列的设置后,工资管理窗口便制作完成,如下图4.4-2所示。图 4.4-24.5 建立工资统计窗体在VB中添加MDI子窗体,在属性值窗口中的(名称)框中改名为:Frmtj,在Frmtj窗体中添加标签Label,文本框TextBox,单选框OptionButton,按钮CommandButton,框架Frame,ADODC和DATAGRID控件。然后在设置一系列的属性值,设置完成后,使窗口如下图4.5所示。图 4.5其中打印是调用的是报表,统计(查找)按钮代码如下:Private Sub cmdok_Click()Dim str1 As String, str2 As Integer, str3 As DateIf opyear.Value And txtyear.Text Then str1 = txtyear.Text txtyear.Text = str2 = 1 ElseIf opmonth.Value And txtmonth.Text Then str1 = - + txtmonth.Text + - txtmonth.Text = str2 = 2 ElseIf opno.Value And txtno.Text Then str1 = txtno.Text txtno.Text = str2 = 3 ElseIf opym.Value And txtyear And txtmonth.Text Then str1 = txtyear.Text + - + txtmonth.Text + - str2 = 4 Else: MsgBox 您输入的信息不全,请从新输入!, vbCritical, 系统提示 txtyear.SetFocus Exit SubEnd IfIf str2 = 1 ThenAdodc1.RecordSource = select * from 工资表 where 工资发放日期 like & str1 & %Set DataGrid1.DataSource = Adodc1DataGrid1.RefreshEnd IfIf str2 = 2 ThenAdodc1.RecordSource = select * from 工资表 where 工资发放日期 like % & str1 & %Set DataGrid1.DataSource = Adodc1DataGrid1.RefreshEnd IfIf str2 = 3 ThenAdodc1.RecordSource = select * from 工资表 where 工号= & str1 & Set DataGrid1.DataSource = Adodc1DataGrid1.RefreshEnd IfIf str2 = 4 ThenAdodc1.RecordSource = select * from 工资表 where 工资发放日期 like & str1 & %Set DataGrid1.DataSource = Adodc1DataGrid1.RefreshEnd IfEnd Sub经过这样的设置和代码的写入,可以通过ADO控件把后台的数据调到前台显示,从而实现了查找功能。4.6 系统设置(一)添加系统设置窗体在VB中添加MDI子窗体,在属性值窗口中的(名称)框中改名为:Frmstar,在Frmstar窗体中添加标签Label,文本框TextBox,按钮CommandButton。然后在设置一系列的属性值,设置完成后,使窗口如下图4.6-1所示。图 4.6-1在进入该窗体时先设置后台的数据库和表的状态。其设置代码如下:Set ku = Workspaces(0).OpenDatabase(App.Path + 工资数据库)Set biao = ku.OpenRecordset(系统初始化信息)这样,可以在前台输入数据直接存到后台的Access数据库里的系统初始化信息表里面。可以很方便的实现工资计算和工资发放的问题。(二)部门信息窗体在VB中添加MDI子窗体,在属性值窗口中的(名称)框中改名为:Frmdep,在Frmdep窗体中添加标签Label,文本框TextBox,按钮CommandButton。然后在设置一系列的属性值,设置完成后,使窗口如下图4.6-2所示。图 4.6-2在进入该窗体时先设置后台的数据库和表的状态。其设置代码如下:Set ku = Workspaces(0).OpenDatabase(App.Path + 工资数据库)Set biao = ku.OpenRecordset(部门信息表)这样,可以在前台输入数据直接存到后台的Access数据库里的系统初始化信息表里面。可以很方便的实现工资计算和工资发放的问题。其中的数据保存代码如下:Private Sub cmdsave_Click()Dim i As Integer, j As IntegerIf txtno.Text = Or txtname.Text = Or txtmoney.Text = Then MsgBox 您输入的信息不全,请确认!, vbCritical, 系统提示 Exit SubEnd IfIf x1 = 1 Thenx1 = 0i = biao.RecordCountbiao.MoveFirstFor j = 1 To i If biao.Fields(职位编号) = txtno.Text Then MsgBox 该职位已存在! Exit Sub Else: biao.MoveNext End IfNext jbiao.AddNewEnd Ifbiao.Fields(职位编号) = txtno.Textbiao.Fields(职位名称) = txtname.Textbiao.Fields(职位底薪) = txtmoney.Textbiao.UpdateMsgBox 数据保存成功!, vbOKOnly, 系统提示txtno.Text = txtname.Text = txtmoney.Text = cmdsave.Enabled = Falsecmdadd.Enabled = Truecmdchange.Enabled = TrueEnd Sub这些设置好后,相对应的职位底薪也将可以添加,修改,保存,删除。(三)添加职工设置窗体在VB中添加MDI子窗体,在属性值窗口中的(名称)框中改名为:Frmwoker,在Frmwoker窗体中添加标签Label,文本框TextBox,按钮CommandButton,框架Frame,ADODC和DATAGRID控件。然后在设置一系列的属性值,设置完成后,使窗口如下图4.6-3所示。图 4.6-3在进入该窗体时先设置前台VB中的ADO和DataGrid控件的代码,和后台的数据库和表连接在一起,其设置代码如下:Adodc1.Visible = FalseAdodc1.ConnectionString = Provider=Microsoft.Jet.OLEDB.4.0;Data Source= + App.Path + 工资数据库.mdb;Persist Security Info=FalseAdodc1.RecordSource = 职工信息表Set DataGrid1.DataSource = Adodc1Set ku = Workspaces(0).OpenDatabase(App.Path + 工资数据库)Set biao = ku.OpenRecordset(职工信息表)这样,可以在前台输入职工信息直接存到后台的Access数据库里的职工信息表里面。可以很方便的实现职工的调入和调出,以及职工信息的修改问题。对于职工信息的查找代码如下所示:Private Sub cmdfind_Click()Dim i As Integer, j As Integer, str1 As Stringbiao.MoveFirststr1 = InputBox(请输入您要查找职工的工号!, 对话框) i = biao.RecordCount For j = 1 To i If biao.Fields(工号) = str1 Then txtname.Text = biao.Fields(姓名) txtsex.Text = biao.Fields(性别) txtmz.Text = biao.Fields(民族) txtdep.Text = biao.Fields(部门) txttel.Text = biao.Fields(联系电话) txtaddress.Text = biao.Fields(家庭地址) txtid.Text = biao.Fields(身份证号) txtnum.Text = biao.Fields(工号) txtno.Text = biao.Fields(职位编号) txtxl.Text = biao.Fields(学历) txtbz.Text = biao.Fields(备注) MsgBox 数据查找成功!, vbOKOnly, 系统提示 Exit Sub Else: biao.MoveNext End If Next j MsgBox 该职工不存在!, vbCritical, 系统提示End Sub在企业管理中,职工的调入和调出是时常发生的,而对职工的查找可以很方便的得到该职工是否存在,若存在会给出他的整个信息,比如:姓名,性别,民族,部门,联系电话,家庭地址,身份证号,工号,职位编号,学历等。4.7 添加管理员帐户窗体在VB中添加MDI子窗体,在属性值窗口中的(名称)框中改名为:Frmchangeuser,在Frmchangeuser窗体中添加标签Label,文本框TextBox,按钮CommandButton。然后在设置一系列的属性值,设置完成后,使窗口如下图4.7所示。图 4.7在进入该窗体时先设置后台的数据库和表的状态。其设置代码如下:Set ku = Workspaces(0).OpenDatabase(App.Path + 工资数据库)Set biao = ku.OpenRecordset(管理员)这样,可以在前台输入数据直接存到后台的Access数据库里的管理员表里面。可以很方便的实现用户的管理。当用户添加一个用户时,需要输入当前的管理员的用户名和密码,添加完成后,按【保存】按钮还要对新添加的用户进行密码核对,以确保管理员的正确性。其保存代码如下:Private Sub cmdsave_Click()If txtusername.Text = Then MsgBox 用户名不能为空!, vbCritical, 系统提示 txtusername.SetFocus Exit SubElseIf txtpsw.Text = Then MsgBox 密码不能为空!, vbCritical, 系统提示 txtpsw.SetFocus Exit SubElseIf txtpsw1.Text = Then MsgBox 确认密码不能为空!, vbCritical, 系统提示 txtpsw1.SetFocus Exit SubElseIf txtpsw.Text txtpsw1.Text Then MsgBox 您两次输入的密码不一致!, vbCritical, 系统提示 txtpsw.Text = txtpsw1.Text = txtpsw.SetFocus Exit SubEnd Ifbiao.Fields(用户名) = txtusername.Textbiao.Fields(密码) = txtpsw.Textbiao.UpdateMsgBox 数据保存成功!, vbOKOnly, 系统提示txtusername.Text = txtpsw.Text = txtpsw1.Text = txtusername.Locked = Truetxtpsw.Locked = Truetxtpsw1.Locked = Truecmdsave.Enabled = FalseEnd Sub而对于管理员的删除,也应该输入当前管理员的用户名和密码。当删除时,还应该判断是否只有一个。因为,管理员至少应该存在一个,这样才能对所有的数据进行操作。删除代码如下:Private Sub cmddelete_Click()Dim str1 As String, str2 As String, i As Integer, j As Integeri = biao.RecordCountIf i = 1 Then MsgBox 该系统至少应有一个管理员!, vbOKOnly, 系统提示 Exit SubEnd Ifstr1 = InputBox(请输入您要删除管理员的用户名!, 对话框)biao.MoveFirstFor j = 1 To iIf biao.Fields(用户名) = str1 Then str2 = In

温馨提示

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

评论

0/150

提交评论