VF课程设计员工工资管理系统.docx
《VF课程设计员工工资管理系统.docx》由会员分享,可在线阅读,更多相关《VF课程设计员工工资管理系统.docx(20页珍藏版)》请在冰豆网上搜索。
VF课程设计员工工资管理系统
数据库技术与应用课程设计
题目:
员工工资管理系统
系别:
测绘工程
专业:
地理信息系统
班级:
0624121
姓名:
时柳青孙浩谈士军王豪
2014年1月2日
1.功能简介
工资管理信息系统对企业加强工资管理有着极其重要的作用,就一般的大型企业来说,它的设计内容非常复杂而且繁多,比如拥有工资计算功能,工资统计功能,报表输出功能,而且设计的模块也很多,比如工资管理模块,工资统计模块,报表设计模块,打印输出模块,模糊查询模块等等。
通过本系统可以实现员工信息和工资的浏览、查询、编辑和预览打印报表的功能。
2.概要设计
由于这是一次课程设计,制作的系统相对来说比较简单。
包括登录模块、数据浏览模块、数据添加模块、数据修改模块、数据删除模块、数据查询模块、数据统计模块、报表输出模块。
该工资管理的系统的主要功能如图所示。
工资管理系统
浏览模块要求有员工的基本信息,查询模块个人查询通过职工编号的来查询员工各自的信息,集体查询通过查询一个部门。
编辑模块包括添加、修改、删除模块,输出模块包括报表的预览与打印。
3.详细设计
工资管理系统主界面
登录代码如下:
docase
casethisform.optiongroup1.value=1
ifthisform.cbo用户名.value="时柳青"andthisform.txt密码.value="123"
doform工资管理系统欢迎界面.scx
else
i=i+1
ifi<=3
messagebox("用户名或密码错误")
thisform.cbo用户名.value=""
thisform.txt密码.value=""
thisform.cbo用户名.setfocus
else
messagebox("信息有误,不能登录")
endif
endif
casethisform.optiongroup1.value=2
ifthisform.cbo用户名.value="孙浩"andthisform.txt密码.value="456"
doform一般用户登录后的界面.scx
else
k=k+1
ifk<=3
messagebox("用户名或密码错误")
thisform.cbo用户名.value=""
thisform.txt密码.value=""
thisform.cbo用户名.setfocus
else
messagebox("信息有误,不能登录")
endif
endif
endcase
退出代码如下:
releasethisform
工资管理系统欢迎界面
所用代码如下:
doform浏览界面.scx
doform个人查询界面.scx
doform集体查询界面.scx
doform添加记录界面.scx
doform修改记录界面.scx
doform删除记录界面.scx
doform打印界面.scx
所用代码如下:
doform个人查询界面.scx
doform集体查询界面.scx
releasethisform
集体查询界面
确定代码如下:
docase
casebo1.value="生产部"
select员工表.职工编号,员工表.姓名,工资表.基本工资,工资表.岗位工资,工资表.奖金,工资表.扣所得税,工资表.实发工资from员工表,工资表;
where员工表.部门=='生产部'and员工表.职工编号=工资表.职工编号intocursorshchb
thisform.grid1.recordsource="shchb"
thisform.grid1.refresh
casebo1.value="销售部"
select员工表.职工编号,员工表.姓名,工资表.基本工资,工资表.岗位工资,工资表.奖金,工资表.扣所得税,工资表.实发工资from员工表,工资表;
where员工表.部门=='销售部'and员工表.职工编号=工资表.职工编号intocursorxshb
thisform.grid1.recordsource="xshb"
thisform.grid1.refresh
casebo1.value="技术部"
select员工表.职工编号,员工表.姓名,工资表.基本工资,工资表.岗位工资,工资表.奖金,工资表.扣所得税,工资表.实发工资from员工表,工资表;
where员工表.部门=='技术部'and员工表.职工编号=工资表.职工编号intocursorjshb
thisform.grid1.recordsource="jshb"
thisform.grid1.refresh
casebo1.value="公关部"
select员工表.职工编号,员工表.姓名,工资表.基本工资,工资表.岗位工资,工资表.奖金,工资表.扣所得税,工资表.实发工资from员工表,工资表;
where员工表.部门=='公关部'and员工表.职工编号=工资表.职工编号intocursorggb
thisform.grid1.recordsource="ggb"
thisform.grid1.refresh
endcase
个人查询界面
确定代码如下
zgbh=alltrim(thisform.text1.value)
select工资表
setordertotag职工编号
seekzgbh
iffound()
select工资表.职工编号,员工表.姓名,员工表.性别,员工表.工作日期,员工表.职称,工资表.基本工资,工资表.岗位工资,工资表.奖金,工资表.津贴,工资表.扣所得税,工资表.实发工资;
from员工表,工资表;
where工资表.职工编号==alltrim(thisform.text1.value)and员工表.职工编号=工资表.职工编号intocursorchx
thisform.txt姓名.value=chx.姓名
thisform.txt性别.value=chx.性别
thisform.txt工作日期.value=chx.工作日期
thisform.txt职称.value=chx.职称
thisform.txt基本工资.value=chx.基本工资
thisform.txt岗位工资.value=chx.岗位工资
thisform.txt奖金.value=chx.奖金
thisform.txt津贴.value=chx.津贴
thisform.txt扣所得税.value=chx.扣所得税
thisform.txt实发工资.value=chx.实发工资
thisform.refresh
else
thisform.txt姓名.value=""
thisform.txt性别.value=""
thisform.txt工作日期.value=""
thisform.txt职称.value=""
thisform.txt基本工资.value=""
thisform.txt岗位工资.value=""
thisform.txt奖金.value=""
thisform.txt津贴.value=""
thisform.txt扣所得税.value=""
thisform.txt实发工资.value=""
messagebox("没有找到记录!
",48,"警告")
endif
浏览界面
添加记录界面
所用代码如下:
m=messagebox("是否添加?
",4+32,"信息窗口")
appendblank
thisform.refresh
thisform.text1.enabled=.t.
thisform.text2.enabled=.t.
thisform.text3.enabled=.t.
thisform.text4.enabled=.t.
thisform.text5.enabled=.t.
thisform.text6.enabled=.t.
thisform.text7.enabled=.t.
thisform.text8.enabled=.t.
thisform.text9.enabled=.t.
thisform.text10.enabled=.t.
thisform.text11.enabled=.t.
thisform.refresh
确定代码
thisform.text1.enabled=.f.
thisform.text2.enabled=.f.
thisform.text3.enabled=.f.
thisform.text4.enabled=.f.
thisform.text5.enabled=.f.
thisform.text6.enabled=.f.
thisform.text7.enabled=.f.
thisform.text8.enabled=.f.
thisform.text9.enabled=.f.
thisform.text10.enabled=.f.
thisform.text11.enabled=.f.
thisform.refresh
修改界面:
修改记录代码:
ifmand1.caption="修改记录"
thisform.text1.enabled=.T.
thisform.text2.enabled=.T.
thisform.text3.enabled=.T.
thisform.text4.enabled=.T.
thisform.text5.enabled=.T.
thisform.text6.enabled=.T.
thisform.text7.enabled=.T.
mand1.caption="确认修改"
thisform.refresh
thisform.text1.setfocus
else
mand1.caption="修改记录"
thisform.text1.enabled=.f.
thisform.text2.enabled=.f.
thisform.text3.enabled=.f.
thisform.text4.enabled=.f.
thisform.text5.enabled=.f.
thisform.text6.enabled=.f.
thisform.text7.enabled=.f.
endif
修改密码界面:
确认代码如下
USE用户密码表.dbf
ifempty(thisform.text2.value)orempty(thisform.text1.value)
messagebox("请输入用户名称和密码!
",48,"警告")
else
locatefor用户名=alltrim(thisform.text1.value)
if密码=alltrim(thisform.text2.value)
IfALLTRIM(thisform.text3.Value)==""
MessageBox("新密码",16,"提示")
else
IfALLTRIM(thisform.text3.Value)!
=ALLTRIM(thisform.text4.Value)
MessageBox("俩次输入的新密码不同",16,"提示")
thisform.text3.value=""
thisform.text4.value=""
else
locatefor用户名=ALLTRIM(thisform.text1.Value)
replace密码withthisform.text3.Value
thisform.release
MessageBox("密码已经成功修改,请在下次登录时使用新密码")
Endif
Endif
else
messagebox("用户名或密码错误,请重新输入!
",64,"警告")
thisform.text2.value=""
thisform.text1.value=""
endif
endif
closealltable
releasethisform
doform工资管理系统主界面.scx.
删除界面
删除记录代码如下
zgbh=alltrim(thisform.text1.value)
ifmessagebox("真的要删除当前记录吗?
",32+4+256,"删除记录")=6
use工资表exclusive
setordertotagzgbh
seektext1
delete
pack
endif
thisform.refresh
打印界面:
预览代码如下:
ifthisform.check1.value=1
reportform工资报表.frxpreview
endif
ifthisform.check2.value=1
reportform生产部工资报表.frxpreview
endif
ifthisform.check3.value=1
reportform销售部工资报表.frxpreview
endif
ifthisform.check4.value=1
reportform技术部工资报表.frxpreview
endif
ifthisform.check5.value=1
reportform公关部工资报表.frxpreview
endif
打印代码如下:
docase
ifthisform.check1.value=0andthisform.check2.value=0andthisform.check3.value=0andthisform.check4.value=0andthisform.check5.value=0
messagebox("请选定部门!
")
endif
casethis.value=2
ifthisform.check1.value=1
reportform工资报表.frxtoprinter
endif
ifthisform.check2.value=1
reportform生产部工资报表toprinter
endif
ifthisform.check3.value=1
reportform销售部工资报表toprinter
endif
ifthisform.check4.value=1
reportform技术部工资报表toprinter
endif
ifthisform.check5.value=1
reportform公关部工资报表toprinter
endif
ifthisform.check1.value=0andthisform.check2.value=0andthisform.check3.value=0andthisform.check4.value=0andthisform.check5.value=0
messagebox("请选定部门!
")
endif
casethis.value=3
thisform.release
endcase
打印代码如下:
docase
ifthisform.check1.value=0andthisform.check2.value=0andthisform.check3.value=0andthisform.check4.value=0andthisform.check5.value=0
messagebox("请选定部门!
")
endif
casethis.value=2
ifthisform.check1.value=1
reportform工资报表.frxtoprinter
endif
ifthisform.check2.value=1
reportform生产部工资报表toprinter
endif
ifthisform.check3.value=1
reportform销售部工资报表toprinter
endif
ifthisform.check4.value=1
reportform技术部工资报表toprinter
endif
ifthisform.check5.value=1
reportform公关部工资报表toprinter
endif
ifthisform.check1.value=0andthisform.check2.value=0andthisform.check3.value=0andthisform.check4.value=0andthisform.check5.value=0
messagebox("请选定部门!
")
endif
casethis.value=3
thisform.release
endcase
所用报表如下:
工资报表
还有公关部工资报表,技术部工资报表,销售部工资报表,生产部工资报表类似这里不在一一列举
4.连编程序
连编应用程序项目本设计的收尾工作。
通过连编将项目资源,如视图、查询、表单、报表、菜单、类、过程这些包含于项目管理器中的文件信息结合在一起,生成一个扩展名为salary.exe可执行文件的应用程序。
连编程序之前,要进行设置主文件、确定包含或排除文件、设置项目信息等操作。
完成这些操作后,运行主程序,当主程序没有错误后,即可连编项目
Settalkoff
Clearall
Closeall
Clearall
_screen.Visibie=.f.
Setsysmenuoff
Setdefatosys(5)+sys(2003)+’\’
Doform工资管理系统主界面.scx
Readevents
Return
Quit
5.心得体会
当今世界,信息科学技术已经渗透到经济、文化和社会的各个领域,迅速改变着人们的观念、生活和社会结构,作为大学生的我们应该紧跟时代潮流,不断丰富自己的知识,以适应知识经济发展的需要。
通过这次关于工资管理系统的课程设计,让我更加深刻地感受到了掌握计算机知识的重要,并在这短暂的实践中熟练的掌握了数据库的设计、表单的设计、表单与数据库的连接、SQL语言的使用和了解它的功能:
数据定义、数据操纵、数据控制,以及简单VF程序的编写。
基本实现了工资的管理,包括系统的登录、员工信息的录入、员工信息的浏览、员工信息的查询、员工信息的修改和员工信息的删除,并对VisualFoxPro6.0的各种功能有了进一步的了解,并且使我的动手操作能力得到了很大提高,为我们以后更加深入的学习奠定了基础。
我们通过这次对工资管理系统的设计,在让我充分感受信息技术带给我们方便的同时,也让我充分认识到自己知识的匮乏,所以,我们平时要加强知识的积累来提高我们的知识水平和操作能力,从而提高我们的基本素质,使能更好的满足社会需求。
这次实验的成功很大程度上依赖于老师的讲解,在此对老师表示深深的谢意。
同时,也希望学校以后能给我们提供更多的实践机会,把课堂上的理论知识运用到实践当中,来提高我们各方面的素质,为我们步出校门,及早融入社会打下坚实基础。
总之,这次课程设计让我们受益匪浅,我们以后会更加注重这方面知识的学习与积累,使我们在经济全球化的今天能够经得起时代的考验。