计算机信息管理综合作业--职员信息管理系统Word文件下载.doc
- 文档编号:723894
- 上传时间:2023-04-29
- 格式:DOC
- 页数:30
- 大小:1.01MB
计算机信息管理综合作业--职员信息管理系统Word文件下载.doc
《计算机信息管理综合作业--职员信息管理系统Word文件下载.doc》由会员分享,可在线阅读,更多相关《计算机信息管理综合作业--职员信息管理系统Word文件下载.doc(30页珍藏版)》请在冰点文库上搜索。
用计算机可使人们从繁重的劳动中解脱出来,仅使用一些简单的操作便可及时、准确地获得需要的信息。
企业的职员信息往往是很复杂的,烦琐的。
由于所掌握的职员信息各有差异,各个企业之间的管理体制不尽相同,各类统计计划报表繁多,因此职员信息必须实现计算机化,而且必须根据企业的具体情况制定相应的方案。
该系统的具体任务就是设计一个企业职员信息管理系统,由计算机来代替人工执行一系列诸如增加新进职员信息、修改职员信息、删除离职职员信息、查询及打印等操作。
这样就使管理部门可以轻松快捷地完成职员信息管理的任务,使企业的职员管理工作系统化、规范化、自动化,从而达到提高企业管理效率的目的。
另外职员信息系统是一个机密的工厂信息,应配有相应的安全防护策略,并对用户权限作出规定,以防止机密信息的丢失或外泄。
设计的指导思想是一切为用户着想,界面要美观大方,操作尽量简单明了,而且作为一个实用的应用程序要有良好的容错性,在用户出现误操作时能尽量及时地给出警告,以便用户及时改正。
开发和运行环境
开发工具:
VisualFoxPro6.0
运行环境:
Windows9x、Windows2000、WindowsXP
系统功能
l系统登陆;
l系统数据初始化;
l职员信息数据的增加;
l职员信息数据的修改;
l职员信息数据的删除;
l职员信息的一览和查询;
l职员信息的报表打印。
l修改登陆用户密码
l增加登陆用户
l删除登陆用户
l关于
系统功能模块结构图
系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充、维护。
在系统功能分析的基础上,考虑VisualFoxPro6.0程序编制的特点,得到如下所示的系统功能模块结构图。
登陆界面
主界面
系统维护
关于
退出
报表打印
修改记录
查询
删除记录
增加记录
打印报表
打印预览
一览
修改密码
删除用户
增加用户
条件查询
数据库逻辑结构设计
本系统数据库表的设计结果如下:
职员信息表
字段名
数据类型
字段大小
职员号(主键)
CHARACTER
4
姓名
8
性别
2
生日
10
学历
政治面貌
联系电话
12
家庭住址
40
所属部门
现任职务
进本单位年份
备注
MEMO
用户表
用户名
密码
数据库表测试记录如下(无“备注”):
主要模块的设计说明和程序代码
登陆界面:
在进入系统主界面之前,系统需要进行用户验证才能使用此系统,为防止密码泄露,需将密码显示成“*”号,将密码文本框的Passwordchar项,设成“*”
在“确定”按钮的Click事件中添加如下代码:
SETEXACTON
use用户表
*搜索匹配的用户
LOCATEFORALLTRIM(用户表.用户名)=ALLTRIM(THISFORM.Text1.VALUE)
*如果找到,且密码也匹配,则运行主界面
Iffound()
IFALLTRIM(密码)=ALLTRIM(THISFORM.Text2.VALUE)
*保存登陆用户名
VarUser=ALLTRIM(用户名)
ThisForm.Release
Doformmainform
Else
*密码错误则报错并清空文本框
messagebox("
密码错误"
0,"
Warning!
"
)
ThisForm.Text1.Value="
ThisForm.Text2.Value="
THISFORM.Text1.SETFOCUS
ENDIF
ELSE
*没有找到则进行错误处理
MESSAGEBOX("
用户名不存在,请重新输入"
48,"
职员信息管理系统"
THISFORM.Text1.VALUE="
THISFORM.Text2.VALUE="
THISFORM.Text1.SETFOCUS
ENDIF
closedatabase
SetExactOff
系统主界面
系统主界面是用户进入系统后主要接触的界面,由它可以进入各个功能模块。
分别单击按钮“增加记录”、“修改记录”、“删除记录”、“查询”、“报表打印”可进入与之相对应的功能模块,单击“退出”按钮退出本系统。
在“增加记录”按钮的“Click”事件中添加代码如下:
doformappendrecord
thisform.release
在“修改记录”按钮的“Click”事件中添加代码如下:
doformmodirecord
在“删除记录”按钮的“Click”事件中添加代码如下:
doformdelerecord
在“查询”按钮的“Click”事件中添加代码如下:
doformqueryrecord
在“报表打印”按钮的“Click”事件中添加代码如下:
doformformprint
在“退出”按钮的“Click”事件中添加代码如下:
clearevents
在“系统管理”标签的“Click”事件中添加代码如下:
Thisform.release
doformmaintain
在“关于”标签的“Click”事件中添加代码如下:
“增加记录”模块
企业新进职员都要为其建立人事档案,该模块的功能就是添加新职员信息。
操作很简单,按要求输入完数据后,单击“确定”按钮即可,同时系统会弹出对话框提示输入成功。
“取消”按钮的功能是清空所有文本框。
该模块做了些限制性设计,以防用户误操作。
如:
将输入“职员号”、“入厂年份”的文本框的Format和InputMask属性都设为“9999”,使用户只能输入四位数字,输入其它字符无效。
同样在输入“出生日期”的文本框的Format和InputMask属性都设为“9999/99/99”。
单击“确定”后,如果没有输入“职员号”或输入的“职员号”已存在,系统都会弹出提示信息,以便用户改正。
在“确定”按钮的“Click”事件中添加代码如下:
*检查“职员号”是否为空
ifempty(alltrim(thisform.txtID.value))
messagebox("
职员号不能为空"
错误"
thisform.txtID.setfocus
else
*获取各输入值
inID=alltrim(thisform.txtID.value)
inName=alltrim(thisform.txtName.value)
inSex=alltrim(thisform.txtSex.value)
inBirth=alltrim(thisform.txtBirth.value)
inLearn=alltrim(thisform.txtLearn.value)
inPolitics=alltrim(thisform.txtPolitics.value)
inPhone=alltrim(thisform.txtPhone.value)
inAddress=alltrim(thisform.txtAddress.value)
inDepartment=alltrim(thisform.txtDepartment.value)
inFunction=alltrim(thisform.txtFunction.value)
inDate=alltrim(thisform.txtDate.value)
inMemo=alltrim(thisform.edtMemo.value)
*检查输入的“职员号”是否已存在
setorderto职员号
seekinID
if!
found()
insertinto职员信息表value(inID,inName,inSex,inBirth,inLearn,inPolitics,inPhone,inAddress,inDepartment,inFunction,inDate,inMemo)
messagebox("
添加成功!
信息"
*添加完毕后清空各文本框
thisform.txtID.value='
'
thisform.txtName.value='
thisform.txtSex.value='
thisform.txtBirth.value='
thisform.txtLearn.value='
thisform.txtPolitics.value='
thisform.txtPhone.value='
thisform.txtAddress.value='
thisform.txtDepartment.value='
thisform.txtFunction.value='
thisform.txtDate.value='
thisform.edtMemo.value='
此职员号已存在,请另输一个"
thisform.txtID.setfocus
endif
在“取消”按钮的“Click”事件中添加代码如下:
*清空各文本框
thisform.txtID.value='
thisform.txtName.value='
thisform.txtSex.value='
thisform.txtBirth.value='
thisform.txtLearn.value='
thisform.txtPolitics.value='
thisform.txtPhone.value='
thisform.txtAddress.value='
thisform.txtDepartment.value='
thisform.txtFunction.value='
thisform.txtDate.value='
thisform.edtMemo.value='
doform主界面
“修改记录”模块
职员信息的改变,如:
部门的调动、职位的升降、搬家、换了电话,或者发现输入了错误的信息,就可以进入该模块进行修改。
你可以单击“导航条”逐条定位查找,如果知道要修改职员的职员号,可在最下面的文本框里直接输入该职员号,单击“查找”,如果找到,系统会定位到该记录,如果没有找到,系统会给出提示信息。
该模块也做了与“增加记录”模块相近的限制性设计。
在该表单的数据环境(DataEnvironment)中添加“职员信息表”,将各文本框的ControlSource属性设置为在“职员信息表”中与之相对应的字段,这样便完成了与“职员信息表”的绑定。
在“查找”按钮的“Click”事件中添加代码如下:
seekalltrim(thisform.text1.value)
*错误处理
该职员号不存在"
gotop
thisform.text1.value='
thisform.refresh
“删除记录”模块
如果因为职员离职、退休,或其它原因要删除某条记录,就可进入该模块进行删除。
本模块的控件布局与“修改记录”模块基本相似,只是显示记录的各文本框的Enabled属性均设置为“.f.”(假)。
同“修改记录”模块一样,设置与“职员信息表”的绑定。
在“删除这条记录”按钮的“Click”事件中添加代码如下:
nAnswer=messagebox("
确定要删除吗?
36,"
ifnAnswer=6
thisform.dataenvironment.closetables('
职员信息表'
*以独占方式打开表,执行删除命令
use职员信息表exclusive
deletefrom职员信息表where职员号=alltrim(thisform.txtID.value)
pack
use
thisform.dataenvironment.opentables('
“查询”模块
在本模块,你可以选择查询条件,快速查找到所需的职员信息,也可以一览整个“职员信息表”。
可供选择的查询关键字有“职员号”、“部门”和“职称”3个字段,可单项查询,也可组合查询。
首先,当表单被激活时,根据各复选框的选中情况决定相应的文本框是否可用。
在表单的“Activate”事件中添加代码如下:
flag1=this.check1.value
docase
caseflag1=0
this.text1.enabled=.f.
this.text1.value='
caseflag1=1
this.text1.enabled=.t.
endcase
flag2=this.check2.value
caseflag2=0
bo2.enabled=.f.
bo2.value='
caseflag2=1
bo2.enabled=.t.
flag3=this.check3.value
caseflag3=0
bo1.enabled=.f.
bo1.value='
caseflag3=1
bo1.enabled=.t.
为减少用户输入,在“部门”复选框后用的是组合框。
在组合框的“Init”事件中添加代码如下:
*为组合框添加选项
this.clear
localdm,i
dimensiondm[1]
selectdistinct部门from职员信息表intoarraydm
foreachiindm
empty(i)
this.additem(i)
endfor
当单击复选框后,如果框里有“√”标记,则后面的文本框或组合框可用;
反之,不可用。
在“职员号”复选框的“Click”事件中添加代码如下:
flag=thisform.check1.value
caseflag=0
thisform.text1.enabled=.f.
thisform.text1.value='
caseflag=1
thisform.text1.enabled=.t.
在“姓名”复选框的“Click”事件中添加代码如下:
flag=thisform.check2.value
bo2.enabled=.f.
在“部门”复选框的“Click”事件中添加代码如下:
flag=thisform.check3.value
bo1.enabled=.f.
选中“职称”查询方法同部门查询。
*获取各查询关键字输入值
getid=alltrim(thisform.text1.value)
getzc=alltrim(bo2.value)
getdepart=alltrim(bo1.value)
*获取各复选框的值
flag1=thisform.check1.value
flag2=thisform.check2.value
flag3=thisform.check3.value
*按选中的查询关键字进行查询
ifflag1=0andflag2=0andflag3=0
messagebox("
请输入查询条件"
ifflag1=1andflag2=0andflag3=0
select*from职员信息表where职员号=getid
ifflag1=0andflag2=1andflag3=0
select*from职员信息表where职称=getzc
ifflag1=0andflag2=0andflag3=1
select*from职员信息表where部门=getdepart
ifflag1=1andflag2=1andflag3=0
select*from职员信息表where职员号=getidand职称=getzc
ifflag1=1andflag2=0andflag3=1
select*from职员信息表where职员号=getidand部门=getdepart
ifflag1=0andflag2=1andflag3=1
select*from职员信息表where职称=getzcand部门=getdepart
ifflag1=1andflag2=1andflag3=1
select*from职员信息表where职员号=getidand职称=getzcand部门=getdepart
在“一览”按钮的“Click”事件中添加代码如下:
select*from职员信息表
在“退出”按钮的“Click”事件中添加代码
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 信息管理 综合 作业 职员 系统
![提示](https://static.bingdoc.com/images/bang_tan.gif)