VF课程设计--员工工资管理系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库技术与应用课程设计
题目:员工工资管理系统
系别:测绘工程
专业:地理信息系统
班级:0624121
姓名:时柳青孙浩谈士军王豪
2014年1月2日1.功能简介
工资管理信息系统对企业加强工资管理有着极其重要的作用,就一般的大型企业来说,它的设计内容非常复杂而且繁多,比如拥有工资计算功能,工资统计功能,报表输出功能,而且设计的模块也很多,比如工资管理模块,工资统计模块,报表设计模块,打印输出模块,模糊查询模块等等。

通过本系统可以实现员工信息和工资的浏览、查询、编辑和预览打印报表的功能.
2。

概要设计
由于这是一次课程设计,制作的系统相对来说比较简单。

包括登录模块、数据浏览模块、数据添加模块、数据修改模块、数据删除模块、数据查询模块、数据统计模块、报表输出模块.该工资管理的系统的主要功能如图所示。

工资管理系统
浏览模块要求有员工的基本信息,查询模块个人查询通过职工编号的来查询员工各自的信息,集体查询通过查询一个部门。

编辑模块包括添加、修改、删除模块,输出模块包括报表的预览与打印.
3。

详细设计
工资管理系统主界面
登录代码如下:
do case
case thisform。

optiongroup1。

value=1
if thisform.cbo用户名。

value="时柳青" and thisform。

txt密码。

value="123" do form 工资管理系统欢迎界面.scx
else
i=i+1
if i〈=3
messagebox(”用户名或密码错误")
thisform.cbo用户名。

value=”"
thisform。

txt密码.value="”
thisform.cbo用户名。

setfocus
else
messagebox("信息有误,不能登录”)
endif
endif
case thisform.optiongroup1.value=2
if thisform.cbo用户名。

value="孙浩” and thisform.txt密码.value=”456"
do form 一般用户登录后的界面.scx
else
k=k+1
if k〈=3
messagebox(”用户名或密码错误”)thisform。

cbo用户名。

value="" thisform。

txt密码.value=””thisform.cbo用户名.setfocus
else
messagebox("信息有误,不能登录”) endif
endif
endcase
退出代码如下:
release thisform
工资管理系统欢迎界面
所用代码如下:
do form 浏览界面.scx
do form 个人查询界面.scx
do form 集体查询界面.scx
do form 添加记录界面.scx
do form 修改记录界面。

scx
do form 删除记录界面.scx
do form 打印界面.scx
所用代码如下:
do form 个人查询界面.scx do form 集体查询界面.scx release thisform
集体查询界面
确定代码如下:
do case
case bo1.value=”生产部"
select 员工表。

职工编号,员工表.姓名,工资表。

基本工资,工资表。

岗位工资,工资表。

奖金,工资表.扣所得税,工资表.实发工资from 员工表,工资表;
where 员工表.部门=='生产部’ and 员工表.职工编号=工资表。

职工编号into cursor shchb thisform.grid1。

recordsource=”shchb"
thisform.grid1.refresh
case bo1.value=”销售部”
select 员工表.职工编号,员工表。

姓名,工资表.基本工资,工资表。

岗位工资,工资表.奖金,工资表。

扣所得税,工资表.实发工资from 员工表,工资表;
where 员工表。

部门==’销售部’ and 员工表。

职工编号=工资表。

职工编号into cursor xshb thisform。

grid1。

recordsource="xshb”
thisform。

grid1.refresh
case thisform。

combo1。

value="技术部"
select 员工表.职工编号,员工表。

姓名,工资表.基本工资,工资表。

岗位工资,工资表。

奖金,工资表。

扣所得税,工资表。

实发工资from 员工表,工资表;
where 员工表.部门=='技术部' and 员工表。

职工编号=工资表。

职工编号into cursor jshb thisform.grid1.recordsource="jshb”
thisform。

grid1。

refresh
case bo1。

value="公关部”
select 员工表。

职工编号,员工表.姓名,工资表.基本工资,工资表.岗位工资,工资表。

奖金,工资表.扣所得税,工资表.实发工资from 员工表,工资表;
where 员工表.部门=='公关部' and 员工表。

职工编号=工资表.职工编号into cursor ggb
thisform。

grid1.recordsource=”ggb"
thisform.grid1。

refresh
endcase
个人查询界面
确定代码如下
zgbh=alltrim(thisform.text1。

value)
select 工资表
set order to tag 职工编号
seek zgbh
if found ()
select 工资表.职工编号,员工表.姓名,员工表.性别,员工表。

工作日期,员工表。

职称,工资表.基本工资,工资表。

岗位工资,工资表。

奖金,工资表。

津贴,工资表。

扣所得税,工资表。

实发工资;
from 员工表,工资表;
where 工资表.职工编号==alltrim(thisform.text1.value) and 员工表。

职工编号=工资表。

职工编号into cursor 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.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,"信息窗口") append blank
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
修改界面:
修改记录代码:
if mand1.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
thisform。

command1.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
if empty(thisform.text2.value) or empty(thisform。

text1。

value) messagebox(”请输入用户名称和密码!",48,"警告")
else
locate for 用户名 =alltrim(thisform。

text1.value)
if 密码=alltrim(thisform.text2。

value)
If ALLTRIM(thisform.text3.Value) == "”
MessageBox(”新密码”, 16, ”提示”)
else
If ALLTRIM(thisform。

text3。

Value) != ALLTRIM(thisform.text4。

Value) MessageBox("俩次输入的新密码不同”, 16,”提示")
thisform.text3。

value= "”
thisform。

text4。

value= ”"
else
locate for 用户名=ALLTRIM(thisform。

text1.Value)
replace 密码with thisform.text3。

Value
thisform.release
MessageBox("密码已经成功修改,请在下次登录时使用新密码”)Endif
Endif
else
messagebox(”用户名或密码错误,请重新输入!",64,”警告")
thisform.text2.value= ””
thisform.text1。

value= ””
endif
endif
close all table
release thisform
do form 工资管理系统主界面.scx.
删除界面
删除记录代码如下
zgbh=alltrim(thisform.text1.value)
if messagebox(”真的要删除当前记录吗?",32+4+256,"删除记录")=6 use 工资表exclusive
set order to tag zgbh
seek text1
delete
pack
endif
thisform.refresh
打印界面:
预览代码如下:
if thisform。

check1.value=1
report form 工资报表。

frx preview
endif
if thisform。

check2。

value=1
report form 生产部工资报表。

frx preview
endif
if thisform。

check3.value=1
report form 销售部工资报表.frx preview
endif
if thisform.check4.value=1
report form 技术部工资报表.frx preview
endif
if thisform。

check5。

value=1
report form 公关部工资报表.frx preview
endif
打印代码如下:
do case
if thisform.check1。

value=0 and thisform。

check2.value=0 and thisform.check3。

value=0 and thisform。

check4.value=0 and thisform.check5.value=0 messagebox(”请选定部门!”)
endif
case this。

value=2
if thisform.check1.value=1
report form 工资报表。

frx to printer
endif
if thisform。

check2。

value=1
report form 生产部工资报表to printer
endif
if thisform.check3。

value=1
report form 销售部工资报表to printer
endif
if thisform.check4.value=1
report form 技术部工资报表to printer
endif
if thisform。

check5.value=1
report form 公关部工资报表to printer
endif
if thisform。

check1。

value=0 and thisform.check2.value=0 and thisform。

check3。

value=0 and thisform。

check4.value=0 and thisform.check5.value=0 messagebox(”请选定部门!")
endif
case this.value=3
thisform。

release
endcase
打印代码如下:
do case
if thisform。

check1.value=0 and thisform.check2.value=0 and thisform。

check3。

value=0 and thisform。

check4.value=0 and thisform。

check5.value=0 messagebox(”请选定部门!")
endif
case this.value=2
if thisform。

check1.value=1
report form 工资报表.frx to printer
endif
if thisform.check2.value=1
report form 生产部工资报表to printer
endif
if thisform。

check3。

value=1
report form 销售部工资报表to printer
endif
if thisform。

check4。

value=1
report form 技术部工资报表to printer
endif
if thisform.check5。

value=1
report form 公关部工资报表to printer
endif
if thisform。

check1.value=0 and thisform。

check2。

value=0 and thisform。

check3。

value=0 and thisform.check4.value=0 and thisform.check5。

value=0 messagebox("请选定部门!”)
endif
case this.value=3
thisform。

release
endcase
所用报表如下:工资报表
还有公关部工资报表,技术部工资报表,销售部工资报表,生产部工资报表类似这里不在一一列举
4。

连编程序
连编应用程序项目本设计的收尾工作。

通过连编将项目资源,如视图、查询、表单、报表、菜单、类、过程这些包含于项目管理器中的文件信息结合在一起,生成一个扩展名为
salary.exe可执行文件的应用程序。

连编程序之前,要进行设置主文件、确定包含或排除文件、设置项目信息等操作.完成这些操作后,运行主程序,当主程序没有错误后,即可连编项目
Set talk off
Clear all
Close all
Clear all
_screen。

Visibie=.f.
Set sysmenu off
Set defa to sys(5)+sys(2003)+’\'
Do form 工资管理系统主界面。

scx
Read events
Return
Quit
5.心得体会
当今世界,信息科学技术已经渗透到经济、文化和社会的各个领域,迅速改变着人们的观念、生活和社会结构,作为大学生的我们应该紧跟时代潮流,不断丰富自己的知识,以适应知识经济发展的需要.通过这次关于工资管理系统的课程设计,让我更加深刻地感受到了掌握计算机知识的重要,并在这短暂的实践中熟练的掌握了数据库的设计、表单的设计、表单与数据库的连接、SQL语言的使用和了解它的功能:数据定义、数据操纵、数据控制,以及简单VF程序的编写。

基本实现了工资的管理,包括系统的登录、员工信息的录入、员工信息的浏览、员工信息的查询、员工信息的修改和员工信息的删除,并对Visual FoxPro6。

0的各种功能有了进一步的了解,并且使我的动手操作能力得到了很大提高,为我们以后更加深入的学习奠定了基础。

我们通过这次对工资管理系统的设计,在让我充分感受信息技术带给我们方便的同时,也让我充分认识到自己知识的匮乏,所以,我们平时要加强知识的积累来提高我们的知识水平和操作能力,从而提高我们的基本素质,使能更好的满足社会需求。

这次实验的成功很大程度上依赖于老师的讲解,在此对老师表示深深的谢意。

同时,也希望学校以后能给我们提供更多的实践机会,把课堂上的理论知识运用到实践当中,来提高我们各方面的素质,为我们步出校门,及早融入社会打下坚实基础。

总之,这次课程设计让我们受益匪浅,我们以后会更加注重这方面知识的学习与积累,使我们在经济全球化的今天能够经得起时代的考验。

相关文档
最新文档