资源描述
企业人事管理系统
第一章 课程设计题目
1.1 数据库技术和应用课程设计题目
此次为期一周课程设计题目为设计一个企业人事管理系统。
第二章 课程设计要求及目标
2.1 数据库技术和应用课程设计要求及目标
2.1.1课程设计要求
1.符合课题要求,实现对应功效。能够加以其它功效或修饰,使程序愈加完善、合理;
2.要求界面友好美观,操作方便易行;
3.注意程序实用性、安全性;
4.随时统计设计情况(备查,也为编写设计说明书作好准备);
2.1.2课程设计目标
本课程设计其目标在于加深对《数据库技术和应用》原理和程序了解、巩固、提升,让学生做到学以致用,把所学理论知识应用于实际问题处理、编制出完整应用程序,为以后实际编制大型应用软件打下基础。
第三章 课程设计说明介绍
3.1 数据库技术和应用课程设计说明介绍
先建立职员基础信息表、职员考评信息表,在数据库中建立关联,方便后面建立表单使用。
3.1.1 进入界面
“进入”代码以下:
do case
case thisform.optiongroup1.value=1
do form 管理员登陆界面
thisform.release
case thisform.optiongroup1.value=2
do form 通常见户登陆界面
thisform.release
endcase
“退出”代码以下:
quit
3.1.2 登录界面
“确定”代码以下:
*设置密码不能为空,如许可为空则不需此步骤
If Len(Alltrim(Thisform.text2.Value))=0
Messagebox('请输入用户名或密码!')
Return
Endif
Use gly.dbf
Locate For Alltrim(用户名)==Alltrim(Thisform.text1.Value)
*假如没有找到相同统计时实施下面代码
If Eof()
Use
Messagebox('没有此用户!')
Thisform.text1.Value=''
Thisform.text2.Value=''
Thisform.text1.SetFocus
i=i+1
if i<=3
messagebox("密码或用户名错,请重新输入!")
thisform.text2.value=""
thisform.text2.setfocus
else
Messagebox('连续三次输入错误,系统将退出!')
Use
Quit
Endif
Return
ENDIF
*找到后实施动做
If Alltrim(Thisform.text2.Value)==Alltrim(密码)
Mesagebox("能够进入!",4+8,"信息窗口")
do form 管理界面
thisform.release
*在这里添加在正确登录后你要继续实施程度
Else
Use
Messagebox('密码错误!')
Thisform.text2.Value=''
Thisform.text2.SetFocus
i=i+1
if i<=3
messagebox("密码错,请重新输入!")
thisform.text2.value=""
thisform.text2.setfocus
else
Messagebox('连续三次输入错误,系统将退出!')
Use
Quit
Endif
Return
ENDIF
“取消”代码以下:
thisform.text1.value=""
thisform.text2.value=""
thisform.refresh
“退出”代码以下:
do form 进入界面
thisform.release
3.1.3 管理员功效界面
3.1.3.1 添加信息界面
“添加”代码以下:
use 职员信息表
append blank
thisform.txt职员号.readonly=.f.
thisform.txt姓名.readonly=.f.
thisform.txt性别.readonly=.f.
thisform.txt学历.readonly=.f.
thisform.txt籍贯.readonly=.f.
thisform.txt出生日期.readonly=.f.
thisform.txt政治面貌.readonly=.f.
thisform.txt所属部门.readonly=.f.
thisform.txt进企业年份.readonly=.f.
thisform.txt婚姻情况.readonly=.f.
thisform.edt简历2.readonly=.f.
thisform.txt职员号.setfocus
thisform.refresh
“保留”代码以下:
m=messagebox("是否保留?",4+48,"信息窗口")
if m=6
messagebox("信息已保留",48,"信息窗口")
else
delete
pack
endif
thisform.txt职员号.readonly=.t.
thisform.txt姓名.readonly=.t.
thisform.txt性别.readonly=.t.
thisform.txt学历.readonly=.t.
thisform.txt籍贯.readonly=.t.
thisform.txt出生日期.readonly=.t.
thisform.txt政治面貌.readonly=.t.
thisform.txt所属部门.readonly=.t.
thisform.txt进企业年份.readonly=.t.
thisform.txt婚姻情况.readonly=.t.
thisform.edt简历2.readonly=.t.
thisform.txt职员号.setfocus
thisform.refresh
“退出”代码以下:
thisform.release
3.1.3.2 修改信息
可进行修改并保留,同时经过查找所要修改统计,方便管理员修改。
“修改”代码以下:
use 职员信息表
thisform.txt职员号.readonly=.f.
thisform.txt姓名.readonly=.f.
thisform.txt性别.readonly=.f.
thisform.txt学历.readonly=.f.
thisform.txt籍贯.readonly=.f.
thisform.txt出生日期.readonly=.f.
thisform.txt政治面貌.readonly=.f.
thisform.txt所属部门.readonly=.f.
thisform.txt进企业年份.readonly=.f.
thisform.txt婚姻情况.readonly=.f.
thisform.edt简历2.readonly=.f.
thisform.txt职员号.setfocus
“保留”代码以下:
m=messagebox("是否保留?",4+48,"信息窗口")
if m=6
messagebox("信息已保留",48,"信息窗口")
thisform.txt职员号.readonly=.t.
thisform.txt姓名.readonly=.t.
thisform.txt性别.readonly=.t.
thisform.txt学历.readonly=.t.
thisform.txt籍贯.readonly=.t.
thisform.txt出生日期.readonly=.t.
thisform.txt政治面貌.readonly=.t.
thisform.txt所属部门.readonly=.t.
thisform.txt进企业年份.readonly=.t.
thisform.txt婚姻情况.readonly=.t.
thisform.edt简历2.readonly=.t.
thisform.txt职员号.setfocus
else
thisform.refresh
endif
“查找“代码以下:
set order to 职员号
seek allt(thisform.text1.value)
if !found()
messagebox("此职员号不存在",48,"错误")
go top
endif
thisform.text1.value=""
thisform.refresh
3.1.3.3删除界面
“删除”代码以下:
m = messagebox("是否删除?",4+32,"信息窗口")
if m=6
messagebox("统计已经删除!",48,"信息窗口")
delete
pack
select 职员信息表
go bottom
else
thisform.refresh
endif
3.1.3.4查询界面
“查询”代码以下:
getid=allt(thisform.text1.value)
getname=allt(thisform.text2.value)
getdepart=allt(thisform.text3.value)
flag1=thisform.check1.value
flag2=thisform.check2.value
flag3=thisform.check3.value
if flag1=0 and flag2=0 and flag3=0
messagebox("请输入查询条件",48,"错误")
endif
if flag1=1 and flag2=0 and flag3=0
select * from 职员信息表 where 职员号=getid into cursor aa
thisform.grid1.recordsource="aa"
endif
if flag1=0 and flag2=1 and flag3=0
select * from 职员信息表 where 姓名=getname into cursor aa
thisform.grid1.recordsource="aa"
endif
if flag1=0 and flag2=0 and flag3=1
select * from 职员信息表 where 所属部门=getdepart into cursor aa
thisform.grid1.recordsource="aa"
endif
if flag1=1 and flag2=1 and flag3=0
select * from 职员信息表 where 职员号=gettid and 姓名=getname into cursor aa
thisform.grid1.recordsource="aa"
endif
if flag1=0 and flag2=1 and flag3=1
select * from 职员信息表 where 姓名=getname and 所属部门=getdepart into cursor aa
thisform.grid1.recordsource="aa"
endif
if flag1=1 and flag2=0 and flag3=1
select * from 职员信息表 where 职员号=getid and 所属部门=getdepart into cursor aa
thisform.grid1.recordsource="aa"
endif
if flag1=1 and flag2=1 and flag3=1
select * from 职员信息表 where 职员号=getid and 姓名=getname and 所属部门=getdepart into cursor aa
thisform.grid1.recordsource="aa"
endif
“清除”代码以下:
thisform.check1.value=0
thisform.check2.value=0
thisform.check3.value=0
thisform.text1.value=""
thisform.text2.value=""
thisform.text3.value=""
thisform.grid1.recordsource=""
thisform.refresh
3.1.3.5统计界面
“统计”代码以下:
do case
case thisform.optiongroup1.value=1
select 性别,count(*) as 人数 from 职员信息表 group by 性别 into cursor xx
thisform.grid1.recordsource="xx"
thisform.refresh
case thisform.optiongroup1.value=2
select 所属部门,count(*) as 人数 from 职员信息表 group by 所属部门 into cursor yy
thisform.grid1.recordsource="yy"
thisform.refresh
case thisform.optiongroup1.value=3
select 学历,count(*) as 人数 from 职员信息表 group by 学历 into cursor zz
thisform.grid1.recordsource="zz"
thisform.refresh
case thisform.optiongroup1.value=4
select 政治面貌,count(*) as 人数 from 职员信息表 group by 政治面貌 into cursor hh
thisform.grid1.recordsource="hh"
thisform.refresh
endcase
3.1.3.6报表打印界面
“打印预览”代码以下:
do case
case thisform.G2.value=1
report form 职员信息报表 preview
thisform.refresh
case thisform.G2.value=2
report form 职员考评信息报表 preview
thisform.refresh
endcase
“打印”代码以下:
do case
case thisform.G2.value=1
report form 职员信息报表 to printer prompt
thisform.refresh
case thisform.G2.value=2
report form 职员考评信息报表 to printer prompt
thisform.refresh
endcase
3.1.4 用户浏览界面
“第一个”代码以下:
go top
thisform.refresh
“上一个”代码以下:
if.not.bof()
skip -1
thisform.refresh
else
messagebox("已经是第一个了!")
endif
“下一个”代码以下:
if.not.eof()
skip 1
thisform.refresh
else
messagebox("已经是最终一个了!")
endif
“末一个”代码以下:
go bottom
thisform.refresh
“退出”代码以下:
thisform.release
展开阅读全文