Vb做的工资管理系统.docx
《Vb做的工资管理系统.docx》由会员分享,可在线阅读,更多相关《Vb做的工资管理系统.docx(15页珍藏版)》请在冰豆网上搜索。
![Vb做的工资管理系统.docx](https://file1.bdocx.com/fileroot1/2023-1/30/7b7b48be-1772-4661-8911-12644f9b40ee/7b7b48be-1772-4661-8911-12644f9b40ee1.gif)
Vb做的工资管理系统
题目:
工资管理系统
一、1.1应用需求分析:
企业的工资管理是公司管理的一个重要内容。
工资管理既涉及到企业劳动人事的管理,同时也是企业财务管理的重要组成部分。
早期的工资统计和发放都是使用人工方式处理纸质材料,不仅花费财务人员大量的时间且不易保存,往往由于人的因素抄写不慎或计算疏忽,出现工资发放错误的现象。
早期工资管理多采取纸质材料和具有较强的时间限制。
基于以上原因,企业工资管理系统使用电脑安全保存、快速计算、全面统计,实现工资管理的系统化、规范化、自动化。
企业工资管理系统是典型的信息管理系统(MIS),前台程序开发工具采用微软的VB6,后台数据库采用Access数据库。
VB6。
0是一种面向对象的开发工具,具有组件丰富、语言简单、功能强大的优点。
Access数据库具有与VB6.0无缝连接、操作简单、易于使用的优点。
运行结果证明,本企业工资管理系统极大提高了工作效率,节省了人力和物力,最终满足企业财务管理、员工工资发放的需要,同时也成为现代化企业管理的标志。
2.1系统功能模块划分:
根据该企业的业务情况及实现目标,系统功能模块图如图2.1所示:
目的:
利用VisualBasic6.0及MicrosoftAccess2000数据库技术对企业员工工资的基本信息进行管理,要求进行用户需求分析,功能模块的设计,对部门、员工及工资的基本信息进行添加、修改、删除、查询及打印等功能。
二、工资管理系统应用程序设计
1.“登录模块”详细设计
1、实现目标:
登录模块的详细设计主要是用户登录的一个界面,判断登录的用户是管理员还是普通用户,进入后将面对的是主界面,从而进行相关的操作。
2、界面
图用户登陆界面
程序流程图
3、程序说明:
OptionExplicit
DimpwdcountAsInteger
PrivateSubcmdcancel_Click()
username.Text=""
password.Text=""
EndSub
PrivateSubcmdok_Click()
DimsqlAsString,rsAsADODB.Recordset
IfTrim(username.Text="")Then
MsgBox"没有输入用户名称",vbOKOnly+vbExclamation,"
警告"
username.SetFocus
Else
sql="select*fromuserinfowhereuserid='"&username.Text&"'"
Setrs=getrs(sql,"salary")
Ififlag=1Then
Ifrs.EOF=TrueThen
MsgBox"没有这个用户,请重新输入",vbOKOnly+vbExclamation,"
警告"
username.SetFocus
Else
IfTrim(rs.Fields
(1))=Trim(password.Text)Then
rs.Close
Me.Hide
strusername=Trim(username.Text)
userpassword=Trim(password.Text)
frmMain.Show
UnloadMe
Else
MsgBox"密码不正确,请重新输入",vbOKOnly+
vbExclamation,"警告"
password.SetFocus
password.Text=""
EndIf
EndIf
EndIf
EndIf
pwdcount=pwdcount+1
Ifpwdcount=3Then
UnloadMe
EndIf
EndSub
PrivateSubForm_Load()
pwdcount=0
strusername=""
userpassword=""
EndSub
2.“主窗体”模块详细设计
1、界面及目标实现过程:
主窗体设计的界面是用菜单编辑器做的,主要由系统、工资信息设置、工资信息管理和关于这四个大模块组成。
主窗体是进行相关操作的主界面。
员工工资管理系统界面
3、程序说明:
rivateSubMenu_about_Click()
frmabout.Show
frmabout.ZOrder0
EndSub
PrivateSubMenu_adduser_Click(IndexAsInteger)
IfTrim(strusername)<>"admin"Then
MsgBox"对不起,您没有这个权限!
",vbOKOnly+vbExclamation,"警告"
ElseIfTrim(strusername)="admin"Then
frmadduser.Show
frmadduser.ZOrder0
EndIf
EndSub
PrivateSubMenu_basic_Click(IndexAsInteger)
IfTrim(strusername)<>"admin"Then
MsgBox"对不起,您没有这个权限!
",vbOKOnly+vbExclamation,"警告"
ElseIfTrim(strusername)="admin"Then
ichangeflag=1
frmbasicsetting.Show
frmbasicsetting.ZOrder0
EndIf
EndSub
PrivateSubMenu_changepwd_Click(IndexAsInteger)
frmchangepwd.Show
frmchangepwd.ZOrder0
EndSub
PrivateSubMenu_check_Click(IndexAsInteger)
frmresult.Show
frmresult.ZOrder0
frmresult.Caption="信息查询"
EndSub
PrivateSubMenu_exit_Click(IndexAsInteger)
UnloadMe
ExitSub
EndSub
PrivateSubMenu_formulasetting_Click(IndexAsInteger)
IfTrim(strusername)<>"admin"Then
MsgBox"对不起,您没有这个权限!
",vbOKOnly+vbExclamation,"警告"
ElseIfTrim(strusername)="admin"Then
frmformula.Show
frmformula.ZOrder0
EndIf
EndSub
PrivateSubMenu_getsalary_Click(IndexAsInteger)
IfTrim(strusername)<>"admin"Then
MsgBox"对不起,您没有这个权限!
",vbOKOnly+vbExclamation,"警告"
ElseIfTrim(strusername)="admin"Then
frmsumsalary.Show
frmsumsalary.ZOrder0
EndIf
EndSub
PrivateSubMenu_others_Click(IndexAsInteger)
IfTrim(strusername)<>"admin"Then
MsgBox"对不起,您没有这个权限!
",vbOKOnly+vbExclamation,"警告"
ElseIfTrim(strusername)="admin"Then
ichangeflag=1
frmothersetting.Show
frmothersetting.ZOrder0
EndIf
EndSub
PrivateSubMenu_out_Click(IndexAsInteger)
IfTrim(strusername)<>"admin"Then
MsgBox"对不起,您没有这个权限!
",vbOKOnly+vbExclamation,"警告"
ElseIfTrim(strusername)="admin"Then
frmexport.Show
frmexport.ZOrder0
EndIf
EndSub
PrivateSubMenu_sumattendance_Click(IndexAsInteger)
frmsuminout.Show
frmsuminout.ZOrder0
EndSub
3.各项子模块详细设计
“设置基本工资”窗体设计
1、实现目标:
选择“工资信息设置”—>“基本工资设置”菜单设置员工的基本工资,可以根据员工的编号,或者根据员工职务设置基本工资,设置的基本工资为每个小时的工资。
2、界面及控件列表
程序说明:
Setrs=getrs(sql,"salary")
Ifrs.EOF=FalseThen
sql="deletefromsalarysettingwherestuffid='"&Mstuffid.Text&"'"
Calltransactsql(sql,"salary")
EndIf
rs.Close
id=Mstuffid.Text
Calladdrecord
MsgBox"已经设置基本工资",vbOKOnly+vbExclamation,"添加结果"
Callinit
sql="select*fromsalarysetting"
Callfrmresult.basictopic
Callfrmresult.showbasic(sql)
frmresult.Show
frmresult.ZOrder0
Me.ZOrder0
4.“其他项目设置”窗体设计
1、实现目标:
选择“工资信息设置”—>“其他项目设置”菜单,在其他项目设置的窗体中,设置员工当月的奖金、津贴、福利等项目。
2、界面
5.“工资计算公式设置”窗体设计
1、实现目标:
选择“工资信息设置”—>“工资计算公式设置”菜单,在这个计算公式窗体中设置员工实际发放工资的计算公式。
2、界面及主要控件列表
程序说明:
IfMe.textovertimecom=""AndIsNumeric(Me.textovertimecom)=TrueThen
MsgBox"请输入正常加班工资百分比",vbOKOnly+vbExclamation,"提示"
Me.textovertimecom=""
Me.textovertimecom.SetFocus
ElseIfMe.textovertimespe=""AndIsNumeric(Me.textovertimespe)=FalseThen
MsgBox"请输入特殊加班工资百分比",vbOKOnly+vbExclamation,"提示"
Me.textovertimespe=""
Me.textovertimespe.SetFocus
ElseIfMe.texterrand=""AndIsNumeric(Me.texterrand)=FalseThen
MsgBox"请输入出差工资",vbOKOnly+vbExclamation,"提示"
Me.texterrand=""
Me.texterrand.SetFocus
ElseIfMe.textabsent=""AndIsNumeric(Me.textabsent)=FalseThen
MsgBox"请输入旷工扣发工资",vbOKOnly+vbExclamation,"提示"
Me.textabsent=""
Me.textabsent.SetFocus
ElseIfMe.textle=""AndIsNumeric(Me.textle)=FalseThen
MsgBox"请输入迟到早退扣发工资",vbOKOnly+vbExclamation,"提示"
Me.textle=""
Me.textle.SetFocus
Else
Callsetvalue
Callinit
EndIf
6.“计算实发工资”窗体设计
1、实现目标:
选择“工资信息管理”—>“计算实发工资”菜单,在这个窗体中选择需要统计的月份。
选择统计月份后,单击“开始统计”按钮,系统如果已经统计了该月份的工资,系统会显示工资信息列表窗体。
如果系统还没有统计工资,那么系统开始统计工资,然后在信息结果列表窗体中显示统计结果。
2、界面:
图3.8计算工资界面
3、程序说明:
IfMmonth.Text=4Then
firstday=Year(Date)&"-"&Mmonth.Text&"-1"
days=DateDiff("d",Year(Date)&"-"&Mmonth.Text&"-1",_
Year(Date)&"-"&Mmonth.Text+1&"-1")
lastday=Year(Date)&"-"&Mmonth.Text&"-"&days
Callsumsalary(firstday,lastday)
sql="select*fromsalarystatistics"
frmresult.SSTab1.Caption="员工工资统计列表"
Callfrmresult.listtopic
Callfrmresult.showdata(sql)
frmresult.Caption="统计结果列表"
frmresult.ZOrder0
UnloadMe
Else
MsgBox"这个月的工资未统计",vbOKOnly+vbExclamation,"提示"
EndIf
7.“查询工资“窗体设计:
选择“工资信息管理”—“查询工资”菜单,系统显示如图的查询信息窗体,系统默认的是查询出数据库中所有的记录(当管理员进入的时候),当从“员工编号”下拉列表中选择一个员工编号后,单击“查询单人”按钮,就会查询出符合这个员工编号的记录;如果需要返回查询所有信息,单击“查询所有”按钮,系统就会返回所有员工的信息。
在“员工工资统计列表”中单击鼠标右键,会弹出下图的菜单,在“员工其他项目列表”中单击鼠标右键也会出现下图的菜单。
如果要选择“删除基本工资设置”,出现如下的提示:
图3.9删除基本工资设置界面
8.“导出工资表”窗体设计
选择“工资信息管理”—>“导出工资表”菜单,会出现下图的“导出记录”窗体中选择需要导出工资的月份。
选择月份和保存位置后,单击“导出”按钮,系统会开始导出数据。
图3.10导出记录界面
单击“确定”按钮打开导出的文件,单击“取消”按钮回到系统。
图3.11导出工资记录界面
三、运行部分:
1.登陆窗体:
在登录的这个窗体里,我做的特点是:
只要在数据库里有用户信息的,都可以登录,然后显示相关自己的信息,而管理员显示所有的信息。
当输入的用户名或密码不正确的时候,会出现如下的对话框:
图3.12输入用户名不正确或密码错误界面或者,
图3.13密码不正确界面
2.工资信息管理:
在添加用户的窗体里,如果输入的用户密码和确认密码不一致,将出现一个警告对话框:
图3.15用户名和密码不一致界面
基本工资窗体;
图没输入员工编号界面
3.工资查询窗体:
建立工资查询的窗体,在选择员工编号后,单击“查询单人”按钮,返回选择员工的相关信息。
单击“查询全部”按钮,系统返回全部员工的信息。
在这个窗体中使用了SSTab控件,在每一个标签上添加一个MSFlexGrid控件。
当你是管理员登录的时候,他的权限是所有,当你是用户登录的时候,窗体只显示登录用户本人的相关信息。
图3.19用户
登录所显示的界面
导出工资表窗体:
这样就可以在保存的路径里看到导出的Excel表格了。
总结:
企业工资管理系统是一个典型的信息管理系统,其主要通过软件工程方面的选择课题、需求分析、总体设计、选用工具、程序模块、系统测试等几个步骤来实现。
开发本系统的过程中,首先要对企业工资管理进行系统调研,熟悉企业财务、人事、工资发放管理的流程、步骤;其次在系统需求分析过程中,要透过现象看本质,敏锐观察到企业工资管理中存在的各种问题,并在总体设计把握好对问题的分析、理解,进而解决问题;选用开发工具要选用自己最熟悉、应用较多的开发工具,本系统开发选用MSVisualBasic6.0,其具有语言简单、功能强大、组件众多的优点。
程序模块的编制中,重点把握系统内部完整性、功能性、实用性、便捷性,使其能够协调统一、运行无误。
运行结果证明,本企业工资管理系统极大提高了工作效率,节省了人力和物力,最终满足企业财务管理、员工工资发放的需要,同时也成为现代化企业管理的标志。