最新vfp做的企业人事管理系统.doc
Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-datevfp做的企业人事管理系统vfp做的企业人事管理系统企业人事管理系统第一章 课程设计的题目1.1 数据库技术与应用课程设计的题目 本次为期一周的课程设计的题目为设计一个企业人事管理系统。第二章 课程设计的要求及目的2.1 数据库技术与应用课程设计的要求及目的2.1.1课程设计的要求1.符合课题要求,实现相应功能。可以加以其他功能或修饰,使程序更加完善、合理;2.要求界面友好美观,操作方便易行;3.注意程序的实用性、安全性;4.随时记录设计情况(备查,也为编写设计说明书作好准备);2.1.2课程设计的目的本课程设计其目的在于加深对数据库技术与应用的原理和程序的理解、巩固、提高,让学生做到学以致用,把所学的理论知识应用于实际问题的解决、编制出完整的应用程序,为以后的实际编制大型的应用软件打下基础。第三章 课程设计的说明介绍3.1 数据库技术与应用课程设计的说明介绍 先建立职工基本信息表、职工考核信息表,在数据库中建立关联,以便后面建立表单使用。3.1.1 进入界面“进入”代码如下:do casecase thisform.optiongroup1.value=1do form 管理员登陆界面 thisform.releasecase thisform.optiongroup1.value=2do form 一般用户登陆界面thisform.releaseendcase“退出”代码如下:quit 3.1.2 登录界面“确定”代码如下:*设置密码不能为空,如允许为空则不需此步骤If Len(Alltrim(Thisform.text2.Value)=0Messagebox('请输入用户名或密码!')ReturnEndifUse gly.dbf Locate For Alltrim(用户名)=Alltrim(Thisform.text1.Value) *如果没有找到相同记录时执行下面代码If Eof()UseMessagebox('没有此用户!')Thisform.text1.Value=''Thisform.text2.Value=''Thisform.text1.SetFocusi=i+1if i<=3messagebox("密码或用户名错,请重新输入!")thisform.text2.value=""thisform.text2.setfocuselseMessagebox('连续三次输入错误,系统将退出!')UseQuitEndifReturnENDIF*找到后执行的动做If Alltrim(Thisform.text2.Value)=Alltrim(密码)Mesagebox(可以进入!,信息窗口)do form 管理界面thisform.release*在这里添加在正确登录后你要继续执行的程度ElseUseMessagebox('密码错误!')Thisform.text2.Value=''Thisform.text2.SetFocusi=i+1if i<=3messagebox("密码错,请重新输入!")thisform.text2.value=""thisform.text2.setfocuselseMessagebox('连续三次输入错误,系统将退出!')UseQuitEndifReturnENDIF“取消”代码如下:thisform.text1.value=""thisform.text2.value=""thisform.refresh“退出”代码如下:do form 进入界面thisform.release3.1.3 管理员功能界面3.1.3.1 添加信息界面“添加”代码如下:use 职工信息表append blankthisform.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职工号.setfocusthisform.refresh “保存”代码如下:m=messagebox("是否保存?",4+48,"信息窗口")if m=6 messagebox("信息已保存",48,"信息窗口")elsedeletepackendifthisform.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职工号.setfocusthisform.refresh“退出”代码如下:thisform.release3.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职工号.setfocuselsethisform.refreshendif“查找“代码如下:set order to 职工号seek allt(thisform.text1.value)if !found()messagebox("此职工号不存在",48,"错误")go topendifthisform.text1.value=""thisform.refresh3.1.3.3删除界面“删除”代码如下: m = messagebox("是否删除?",4+32,"信息窗口")if m=6 messagebox("记录已经删除!",48,"信息窗口") delete pack select 职工信息表 go bottomelse thisform.refreshendif3.1.3.4查询界面“查询”代码如下:getid=allt(thisform.text1.value)getname=allt(thisform.text2.value)getdepart=allt(thisform.text3.value)flag1=thisform.check1.valueflag2=thisform.check2.valueflag3=thisform.check3.valueif flag1=0 and flag2=0 and flag3=0messagebox("请输入查询条件",48,"错误")endifif flag1=1 and flag2=0 and flag3=0select * from 职工信息表 where 职工号=getid into cursor aathisform.grid1.recordsource="aa"endifif flag1=0 and flag2=1 and flag3=0select * from 职工信息表 where 姓名=getname into cursor aathisform.grid1.recordsource="aa"endifif flag1=0 and flag2=0 and flag3=1select * from 职工信息表 where 所属部门=getdepart into cursor aathisform.grid1.recordsource="aa"endifif flag1=1 and flag2=1 and flag3=0select * from 职工信息表 where 职工号=gettid and 姓名=getname into cursor aathisform.grid1.recordsource="aa"endifif flag1=0 and flag2=1 and flag3=1select * from 职工信息表 where 姓名=getname and 所属部门=getdepart into cursor aathisform.grid1.recordsource="aa"endifif flag1=1 and flag2=0 and flag3=1select * from 职工信息表 where 职工号=getid and 所属部门=getdepart into cursor aathisform.grid1.recordsource="aa"endifif flag1=1 and flag2=1 and flag3=1select * from 职工信息表 where 职工号=getid and 姓名=getname and 所属部门=getdepart into cursor aathisform.grid1.recordsource="aa"endif“清除”代码如下:thisform.check1.value=0thisform.check2.value=0thisform.check3.value=0thisform.text1.value=""thisform.text2.value=""thisform.text3.value=""thisform.grid1.recordsource=""thisform.refresh3.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.refreshendcase 3.1.3.6报表打印界面“打印预览”代码如下:do casecase thisform.G2.value=1report form 职工信息报表 previewthisform.refreshcase thisform.G2.value=2report form 职工考核信息报表 previewthisform.refreshendcase“打印”代码如下:do casecase thisform.G2.value=1report form 职工信息报表 to printer promptthisform.refreshcase thisform.G2.value=2report form 职工考核信息报表 to printer promptthisform.refreshendcase3.1.4 用户浏览界面“第一个”代码如下:go topthisform.refresh“上一个”代码如下:if.not.bof()skip -1thisform.refreshelsemessagebox("已经是第一个了!")endif“下一个”代码如下:if.not.eof()skip 1thisform.refreshelsemessagebox("已经是最后一个了!")endif“末一个”代码如下:go bottomthisform.refresh“退出”代码如下:thisform.release-