VF课程设计, 员工工资管理系统
发布时间:2024-11-08
发布时间:2024-11-08
VF课程设计, 工资管理系统
数据库技术与应用课程设计
题目:员工工资管理系统
系别:测绘工程
专业:地理信息系统
班级:
姓名:时柳青 1.功能简介
孙浩 谈士军 王豪
2014年1月2日0624121
VF课程设计, 工资管理系统
工资管理信息系统对企业加强工资管理有着极其重要的作用,就一般的大型企业来说,它的设计内容非常复杂而且繁多,比如拥有工资计算功能,工资统计功能,报表输出功能,而且设计的模块也很多,比如工资管理模块,工资统计模块,报表设计模块,打印输出模块,模糊查询模块等等。通过本系统可以实现员工信息和工资的浏览、查询、编辑和预览打印报表的功能。
2.概要设计
由于这是一次课程设计,制作的系统相对来说比较简单。包括登录模块、数据浏览模块、数据添加模块、数据修改模块、数据删除模块、数据查询模块、数据统计模块、报表输出模块。该工资管理的系统的主要功能如图所示。 工资管理系统
浏览模块要求有员工的基本信息,查询模块个人查询通过职工编号的来查询员工各自的信息,集体查询通过查询一个部门。编辑模块包括添加、修改、删除模块,输出模块包括报表的预览与打印。
3.详细设计
工资管理系统主界面
VF课程设计, 工资管理系统
登录代码如下:
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
VF课程设计, 工资管理系统
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
VF课程设计, 工资管理系统
所用代码如下:
do form 个人查询界面.scx do form 集体查询界面.scx release thisform
集体查询界面
VF课程设计, 工资管理系统
确定代码如下:
do case
case http://bo1.value="生产部"
select 员工表.职工编号,员工表.姓名,工资表.基本工资,工资表.岗位工资,工资表.奖金,工资表.扣所得税,工资表.实发工资 from 员工表,工资表;
where 员工表.部门=='生产部' and 员工表.职工编号=工资表.职工编号 into cursor shchb thisform.grid1.recordsource="shchb" thisform.grid1.refresh
case http://bo1.value="销售部"
select 员工表.职工编号,员工表.姓名,工资表.基本工资,工资表.岗位工资,工资表.奖金,工资表.扣所得税,工资表.实发工资 from 员工表,工资表;
where 员工表.部门=='销售部' and 员工表.职工编号=工资表.职工编号 into cursor xshb thisform.grid1.recordsource="xshb" thisform.grid1.refresh
case http://bo1.value="技术部"
select 员工表.职工编号,员工表.姓名,工资表.基本工资,工资表.岗位工资,工资表.奖金,工资表.扣所得税,工资表.实发工资 from 员工表,工资表;
where 员工表.部门=='技术部' and 员工表.职工编号=工资表.职工编号 into cursor jshb thisform.grid1.recordsource="jshb" thisform.grid1.refresh
case http://bo1.value="公关部"
select 员工表.职工编号,员工表.姓名,工资表.基本工资,工资表.岗位工资,工资表.奖金,工资表.扣所得税,工资表.实发工资 from 员工表,工资表;
VF课程设计, 工资管理系统
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.奖金
VF课程设计, 工资管理系统
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
浏览界面
VF课程设计, 工资管理系统
添加记录界面
VF课程设计, 工资管理系统
所用代码如下:
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
修改界面:
VF课程设计, 工资管理系统
修改记录代码:
if http://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.
http://mand1.caption="确认修改" thisform.refresh thisform.text1.setfocus else
http://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
VF课程设计, 工资管理系统
修改密码界面:
确认代码如下
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= ""
VF课程设计, 工资管理系统
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
VF课程设计, 工资管理系统
打印界面:
预览代码如下:
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
VF课程设计, 工资管理系统
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
VF课程设计, 工资管理系统
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
所用报表如下: 工资报表
还有公关部工资报表,技术部工资报表,销售部工资报表,生产部工资报表类似这里不在一一列举
上一篇:《建筑构造》第三课墙体与地下室
下一篇:工程防水监理实施细则