VF人事管理系统
1 引言
在现今的商品社会是一个讲究效率的社会,人们有很强的时间观念,尤其在人事管理领域,人工对人事档案的管理就不够完善,为此开发了人事管理系统软件,更适用于现今的办公自动化领域。该系统软件简单、易学、便于管理,是对人事管理的一种工具。向用户提供文档是软件设计者与用户交互的一个重要手段,该用户手册就是必不可少的一部分。
1.1 编写目的:该手册是为了方便用户使用人事管理系统软件,阐明如何使用人事管理系统,向用户解释该软件的作用或在必要时作为参考。
1.2 工程的名称:人事管理系统
1.3 定义
人事管理系统: 人事管理是帮助行政人员对人事档案的管理软件。使用Visual FoxPro6.0编程语言,独立完成其功能。
1.4 参考资料
1.4.1.VisualFoxPro6.0数据 冶金工业出版社 蔡卓毅 林盛雄 黄 竺 计算机世界日报 蔡文水
1.4.2.软件工程 邓良松 刘海岩 陆丽娜 西安电子科技大学出版社
1.4.3.VisualFoxPro6.0程序设计教程 智西湖 雷治军 西北农林科技大学出版社
1.4.4.数据库系统概论 萨师煊 王珊 高等教育出版社
1.4.5.计算机软件工程环境与软件工程 董士海 北京科学出版社
1.4.6.数据库和数据库管理系统王珊 陈红 文继荣
2 运行环境的要求
2.1 支持软件
a. 操作系统:、WINDOWS 98 、WINDOWS NT、WINDOWS ME、WINDOWS 2000 、WINDOWS XP均可运行。
b. 编程语言: VFP6.0
2.2 硬件环境
CPU :Celeron 300 或更高。
内存:32M, 推荐128M。
硬盘:要求剩余空间大于2GB
3 软件的描述
3.1 目标及作用范围
该软件应用于管理领域,对人事档案的管理提供了一个完善的工具,可以完成输入、删除、查询的功能,减轻行政人员的工作负担。它将会成为管理领域中极为完善的人事管理工具。
3.2 功能描述:人事管理系统软件具有输入、输出、查找、删除功能。
3.3 性能
a 时间:在软件方面,响应时间,更新处理时间,数据传送和转换时间,处理和解决问题时都比较快且迅速,完全满足用户要求。
b 灵活性:当用户需求,如操作方式,运行环境等发生变化时,设计的软件要做适当调整,灵活性非常大。
c有效性:用户利用本软件根据需要输入所需关键字,界面就会输出所需的相应内容。
3.4主要模块介绍
a.主界面模块
当用户启动本软件后,进入登录界面,用户根据自己的权限进行登陆该模块提供管理系统的主界面,是主系统的唯一入口和出口,该界面提供用户选择并调用各子模块。
b.功能选择界面
功能选择模块只有管理员才能调用,其他用户无此权限。此模块是管理员接触和操作的对象,管理员对系统的使用和管理几乎都是通过此表单进行的。
c.浏览模块
该模块是提供全部人事档案浏览的界面。
d.查询模块
该模块提供查询符合某一条件的人事档案的界面。
e.统计模块
该模块提供按某一条件进行统计的界面。
f.编辑模块
该模块提供对按档案进行更改、删除和新增的界面。
g.报表模块
该模块按一定格式将人事档案以报表格式输出
4.本软件还有很多的不足之处,如果遇到问题请与系统开发组联系。
引 言
利用计算机进行信息控制和数据处理,不仅提高了工作效率,而且大大的提高了其安全性。六十年代初期,计算机技术就开始应用于数据库的管理,形成了初期的信息系统。我国的信息管理系统是九十年代初开始快速发展的,对信息管理系统的应用比起世界先进水平还相当落后。
一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。作为计算机应用的一部分,使用计算机对人事档案信息进行管理,具有手工管理所无法比拟的优点,例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。
人事管理系统是一个企业单位不可缺少的部分,它的内容对于企业的决策者和管理者来说都至关重要。因此,开发这样一套管理软件成为很有必要的事情,在下面我们将以开发一套人事管理系统为例,谈谈其开发过程和所涉及到的问题及解决方法。
系 统 概 况
2.1人事管理系统的简介
人事档案管理系统主要包含职工个人基本情况,家庭情况,社会关系等各方面信息,内容比较庞大复杂。同时还综合考虑档案管理工作的性质,总结归纳出所需实现的功能。主要是为人事档案进行服务,针对人事的变动对人事资料进行的录入、删除、查询、统计等功能。36
VF人事管理系统
2.2人事管理系统的功能
2.2.1.灵活的数据记录编辑功能.可以随时对记录进行增加,修改,更新,删除,浏览等编辑操作。
2.2.2.强大的数据库表查询功能.便于在实际档案管理操作中对人员情况进行统计查看。
2.2.3具备分级用户权限管理设置.以确保档案的保密性和安全性。
2.2.4.具有分类统计功能.使用表或表单显示的功能,该统计表或表单可根据数据库中记录情况的变化而变化。
2.2.5.具有较友好的人机界面.各种操作可以在直观的界面上通过人机交互进行。
需 求 分 析
3.1系统功能分析
人事管理系统的主要任务 是对人事档案进行整理,使得能方便快捷地对人事档案进行查询、统计、更新、并且能按一定要求输出报表。
3.2模块功能设计若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
3.2.1用户登录模块功能
功能:设置使用人事管理系统的用户及其使用权限。
操作:系统启动后,首先要做的就是用户登录。若不登录系统,所有功能都无法使用。用户只有登录系统后,根据其具有的权限,才能执行一定的操作。进入该功能后,要求输入用户的登录名及其口令,只有其登录名和口令完全正确,才能进入人事管理系统。系统会根据为用户分配的权限,设置其对应的功能有效,用户就可操作该功能
用户分为管理员、一级用户、二级用户。通常,系统的权限分为三大部分,即:
管理权限:设置用户和系统参数。
输入权限:个人档案输入、家庭成员输入和社会关系输入。
查询权限:档案查询、档案统计。
根据需要,可以把这些功能分配给不同的员工。管理员具有对系统的最大权限,管理员才可以修改所以用户密码和权限。其他用户不能执行此功能。二级用户对系统有最小权限。每一权限对应系统菜单上的一项功能,可为该用户选择任意的权限
整个人事管理系统由多个功能模块组成,不同的模块完成不同的功能,可以为不同的职工分配不同的功能,使其具有不同的权限,完成其权限所对应的功能,从而很好地管理好整个系统。
该模块提供管理系统的主界面,是主系统的唯一入口和出口。
3.2.2查询模块功能
功能:对档案卡片的查询功能,包括精确条件查询和模糊条件查询。
该模块的主要分为两部分:一是在文本框中输入要查询的字段等;二是用来显示用户进行查询的字段及查询、退出按钮。当查询的条件输入完毕,点击确定按钮,完成该模块的查询功能。会调出另外一个窗口来显示用户所要查询的符合条件的所有员工的资料。根据人事档案中的各字段,选择相应的条件操作符输入相应的值即可进行档案查询。在这里可以查到符合程序要求的任何信息。在这里的选项中输入规定的范围即可查到相关的人事信息。
该模块提供查询符合某一条件的人事档案的界面。
3.2.3统计模块功能
功能:按规定的要求进行的统计,它可以较详细直观的统计出要求的结果。统计可以详细的按职务按职称、按部门、按学历以数字的形式或者以表的形式显示出来。
将单位内所有的人事信息进行全面的统计。该模块主要是综合各方面的人数统计;对各部门的人数、各职称的人数、各职位段人数以及学历段人数等的统计并且以报表的形式显示。并且本模块提供重新统计功能,方便在一定时间段内对各项人数的进行更新,保持数据库中数据的即时性[2]。
3.2.4编辑模块功能
档案编辑模块中有3个子模块。他们是档案卡片、家庭成员和社会关系等功能。这些功能因管理员的权限不同所表示出的功能使用也不同,只有管理员才拥有数据修改及删除的权利。在这些功能里详细的记录了所有单位员工的资料。
a.档案卡片管理
功能:对全部员工的信息进行全局浏览,除了浏览信息的功能外,还有一些基本操作的功能:添加记录,对员工的详细资料进行修改,删除员工记录。
b.家庭成员管理
功能:对全部员工的家庭成员信息进行编辑,浏览;实现方法同个人简历功能实现的方法一样。
c.社会关系表
功能:对全部员工的家庭成员信息进行编辑,浏览;实现方法同个人简历功能实现的方法一样。
有些功能普通用户没有此权限。
3.2.5报表模块
对数据库数据和文档的输出通常有两种方式:屏幕显示和打印机打印。屏幕显示因为受屏幕的尺寸和不能永久性保存的限制而不能广泛使用,因而通过打印机打印就成为数据库文档输出不可替代的手段。报表就是用户使用打印机输出数据库数据和文档的一种常用的方式[3]。
功能:该模块按一定格式和要求以报表形式输出。此模块中有4个子模块。它们是个人档案输出、员工社会关系输出、职工基本信息输出和单位部门名册。
操作:在该模块中,可以有两种方式把数据库数据显示出来。在计算机屏幕预览或通过打印机打印作为永久数据保存。
VF人事管理系统
3.3数据流程图
数据库设计
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
创建数据库是设计系统的第一步,其关键问题在于确定所需的表结构并为之建立索引。为了使系统设计精练实用,体现关系型数据库的特点,本系统还为各相关表建立关系。
4.1数据项设计
通过需求分析,可确定系统的数据项和数据结构如下:
a.人事档案(编号、姓名、性别、出生年月、联系电话、住址、籍贯、文化程度、职称、部门、职务、基本工资、简历)。
b.家庭成员(编号、家属姓名、与员工关系、出生年月)。
c.社会关系(编号、关系姓名、与员工关系、出生年月)。
d.密码表(S1编码、S2操作员、S3密码)
4.2概念结构设计[2]
本系统在需求分析的基础上设计出能够满足用户需求的各种实体。根据上面的分析所得的实体有:人事档案实体、家庭成员实体和社会关系实体。各实体间的关系如图:
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
简历
关系姓名
出生年月
家属姓名
出生年月
家庭成员
4.3逻辑结构设计
人事档案表
列名
数据类型
宽度
可否为空
说明
编号
数值型
(10)
否
编号
姓名
字符型
(10)
否
姓名
性别
字符型
(2)
否
性别
出生年月
日期型
(8)
否
出生年月
住址
字符型
(30)
可
住址
电话
数值型
(11)
可
电话
籍贯
字符型
(10)
否
籍贯
文化程度
字符型
(10)
可
文化程度
职称
字符型
(10)
可
职称
部门
字符型
(10)
否
部门
职务
字符型
(10)
否
职务
工资
数值型
(10)
否
工资
简历
备注型
否
简历
家庭成员表
列名
数据类型
宽度
可否为空
说明
编号
数值型
(10)
否
编号
家属姓名
字符型
(10)
否
家属姓名
关系
字符型
(10)
否
关系
出生年月
日期型
(8)
否
出生年月
社会关系表
列名
数据类型
宽度
可否为空
说明
编号
数值型
(10)
否
编号
关系姓名
字符型
(10)
否
关系姓名
与员工关系
字符型
(10)
否
与员工关系
出生年月
日期型
(8)
否
出生年月
密码表
字段
字段名
类型
宽度
小数位
1
S1
字符型
1
2
S2
字符型
8
3
S3
字符型
4
Windows下Visual FoxPro6.0的程序实现
在VFP6.0中,所提供的“项目管理器”和“应用程序生成器”是系统开发人员的强大工具,利用应用程序向导,无需编写任何代码,就可以创建一个项目和一个VFP6.0应用程序框架,简化开发工作。
5.1 创建主程序
“人事管理系统”就是用向导建立的项目和应用程序框架。系统的主程序是自动生成的,为了满足系统需求,对主程序做如下修改:
在主文件的首部,添加下面语句:
_screen.caption="人事管理系统"
_screen.picture='3.JPG'
_SCREEN.WINDOWSTATE=2
PUBLIC k1,k2,k3,k4,k5,k6,k7,k8,k9,k10,k11,k12,k13,k14,k15,k16 ,k18
STORE 0 TO k1,k2,k3,k4,k5,k6,k7,k8,k9,k10,k11,k12,k13,k14,k15,k16,k18
DO FORM 登录表单.SCX
其目的是控制系统主菜单,让相应的菜单命令“跳过”是之成为灰色显示而不起作用。当不同权限用户进入系统是在更改这些变量的值,使菜单命令可用。通过这种方法,实现对不同权限的用户赋予不同的操作权限目的。再者就是执行系统登陆表单。退出并保存主程序文件。
5.2登录界面的制作过程:
1.新建一个表单 添加两个按钮,分别为“确认”、“退出”;添加一个组合框和一个文本框,属性设置为:
ROWSOURCE,CONTROLSOURCE和DISPLAYVALUE:密码表.S2操作员
ROWSOURCE TYPE :6-字段
STYLE :2-下拉列表框
2.表单初始为:public n
n=1
VF人事管理系统
“确定”按钮的CLICK代码为:
yhm =thisform.combo1.value
mm=allt(thisform.text1.value)
locate for S2操作员=yhm
do case
allt(密码表.S1编码)=="00000".and.mm==allt(密码表.S3密码)
messagebox("程序员,你有权修改数据!"+chr(13)+"请按'确定'进入",0+48,"欢迎进入!")
store 1 to K1,K2,K3,K4,K5,K6,K7,K8,K9,K10,K11,K12,K13,K14,K15,K16,k18
thisform.release
DO FORM MAIN
case allt(密码表.S1编码)=="00001".and.mm==allt(密码表.S3密码)
messagebox("普通用户,可以浏览数据!"+chr(13)+"请按'确定'进入",0+48,"欢迎进入!")
store 1 to k6,k7,K8,K9,K10,K11,K12,K13,K14,K15,K16
thisform.release
case allt(密码表.S1编码)=="00002".and.mm==allt(密码表.S3密码)
messagebox("普通用户,可以浏览数据!"+chr(13)+"请按'确定'进入",0+48,"欢迎进入!")
store 1 to K6,K7,K9,K10,K11,K12,K13,K14,K15
thisform.release
otherwise
n=n+1
if n<=3
messagebox("口令错误,请重新输入!你还有"+allt(str(4-n))+"次机会",0+48,"口令最多3次")
thisform.text1.value=""
thisform.text1.setfocus
else
messagebox("",0+48,"")
quit
*thisform.release
endif
endcase
5.3主界面表单
1.建立一个表单.在项目管理器的文档页中选择表单,单击“新建”,弹出表单设计器,设置“Caption”属性“功能功能选择界面”
2.在该表单上添一个“容器”控件“Container1”.“容器”控件是可包含其他控件的空间,并且允许访问被包含控件
3.在“Container1”控件上添加六个“按钮”控件.他们的“Caption”属性分别为“浏览”、 “查询”、 “统计”、 “编辑”、 “打印”、 “退出”
4.在表单上添加“图象”控件“Image1”,并设置“Stretch”属性为“2—Stretch”、“Picture”属性为图片所在位置.
5.双击按钮控件可以弹出代码编辑器
浏览 DO FORM LN
查询 DO FORM JMCX
编辑 DO FORM DABJ
统计 DO FORM TJ
打印 DO FORM DADY
退出 THISFORM.RELEASE
6.表单名为”MAIN”
5.4浏览表单
1.新建一个表单, Caption属性为“浏览档案”然后在表单加一个“表格”控件。
2.用“表格生成器”为表格设定数据源.右击“表格”控件弹出快捷菜单.选择“生成器”,弹出“表格生成器”对话框。
3.在“数据库和表”中选择“人事管理”数据库,在选“人事档案”表. 单击向左的单箭头,排除“简历”。
4.单击“确定”按钮。
5.为表单添加按钮控件,“Caption”属性“确定”, 代码为release thisform
6.调整后.将表单取名LN
5.5查询表单
1. 有项目管理器建一个表单.设置“CAPTION” 属性为“查询”.添加一个选项按钮设置“AUTOSIZE”属性“T.-真”,设置“BOTTONCOUNT”属性为“2”。
2.将两个选项按钮的“CAPTION”属性修改为“按编号查询”和“按姓名查询”;设置“AUTOSIZE”属性“T.-真”,设置”按编号查询”按钮的”VALUE “属性为1。
3.在表单中添加一个按钮和一个文本框控件.“Caption”属性改为“开始查询”.这样,当单击“开始查询”按钮时,系统将根据选项按钮的值,即是“按编号查询”还是“按姓名查询”
“开始查询“按钮的CLICK 事件代码
select
go top
if thisform.OPTIONgroup1.value=1
locate for 编号=val(trim(thisform.text1.value))
else
locate for 姓名=trim(thisform.text1.value)
endif
thisform.refresh
if.not.found()
wait window’没有找到所要的记录!按任意键或鼠标继续….’
Endif
4. 查到记录显示出来.先右击表单,选择“生成器”命令,或从“表单”菜单选择“快速表单”,弹出“表单生成器”,在“数据库和表”中选择“人事管理”数据库,其下选“人事档案”表.单击向右的双箭头,选所有的字段.
5. 为表单添加一个“退出”,“ Caption” 属性为“退出”,其CLICK事件代码
THISFORM.RELEASE
6. 表单名字为CX 保存
5.6编辑表单
5.6.1 dabj表单
1.建立一个表单。在项目管理器的文档页中选择表单,单击“新建”,1弹出表单设计器,设置“Caption”属性“档案编辑”。在表单中添加一个Lable1,设置其“Caption”属性“请先选择要更新的档案”,其“Backstyle”属性为“0-透明”。
2.在表单中添加“Optiongroup1”其“backstyle”属性为“0-透明”,“Buttoncount”属性为“3”,“Value”值为“1”单击“单选按钮组”选择编辑,3个按钮的“Caption”分别设置为“人事卡片编辑”,“家庭成员表编辑”,“社会关系表编辑”。
3.在表单中添加4个按钮 分别为“添加”、“删除”、“修改”、“退出”
代码如下:
添加代码:
do case
case thisform.optiongroup1.option1.value=1
do form bj
case thisform.optiongroup1.option2.value=1
do form jtbj
case thisform.optiongroup1.option3.value=1
do form shehuln
endcase
删除代码:
do case
case thisform.optiongroup1.option1.value=1
do form bj
case thisform.optiongroup1.option2.value=1
do form jtbj
case thisform.optiongroup1.option3.value=1
do form shehuln
endcase
修改代码:
do case
case thisform.optiongroup1.option1.value=1
do form bj
case thisform.optiongroup1.option2.value=1
do form jtbj
case thisform.optiongroup1.option3.value=1
do form shehuln
endcase
4. 保存表单名为dabj.
5.6.2 BJ表单
1.在项目管理器的文档页中选择表单,单击“新建”,弹出表单设计器,设置“Caption”属
VF人事管理系统
性“编辑”, 从“表单”菜单中选择“快速表单”,弹出表单生成器. 在“数据库和表”中选择“人事管理”数据库,其下选“人事档案”表.单击向右的双箭头,选所有的字段.
2.按编辑表单要实现的功能,表单应有“更改”、“新增空记录”、“删除”等记录,还添加 “第一个”、“最后一个”等按钮。
“第一个”代码
go top
wait’已到开头’window nowait
thisform.command1.enabled=.f.
thisform.command2.enabled=.f.
thisform.command3.enabled=.t.
thisform.command4.enabled=.t.
thisform.refresh
“前一个”代码
skip-1
if bof() &&假如指针已到开头
wait’已到开头’window nowait
go top
thisform.command1.enabled=.f.
thisform.command2.enabled=.f.
else &&指头还没有指向第一个记录
thisform.command1.enabled=.t.
thisform.command2.enabled=.t.
endif
thisform.command3.enabled=.t.
thisform.command4.enabled=.t.
thisform.refresh
“后一个”代码
skip
thisform.command1.enabled=.t.
thisform.command2.enabled=.t.
if eof() &&假如指针已到结尾
wait’ 已到结尾’window nowait
go bottom
thisform.command3.enabled=.f.
thisform.command4.enabled=.f.
else &&指针尚未到结尾
thisform.command3.enabled=.t.
thisform.command4.enabled=.t.
endif &&假设结束
thisform.refresh
“最后一个”代码
go bottom
wait’已到结尾’window nowait
thisform.command1.enabled=.t.
thisform.command2.enabled=.t.
thisform.command3.enabled=.f.
thisform.command4.enabled=.f.
thisform.refresh
3.编辑时,选择相应的记录,便可以在对应的文本框中进行编辑,然后单击“更改”按钮,编辑的结果会反映到人事档案表
4.若要添加一个记录,则先添加“新增空记录”按钮,在相应的文本框中添入数据,然后单击“更改”,记录就会添加到数据库中.若要删除一个记录,选择相应的记录,单击“删除”按钮,
5.为表单添加一个“退出”按钮,以退出编辑表单。
“新增空记录”代码:
append blank
thisform.refresh
“更改”代码:
result= (.f.)
if result==.t.
??chr(7)
=messagebox(“修改成功!”,48,”信息窗口”)
thisform.refresh
endif
“删除”代码:
use 人事档案
if messageBOX("确实要删除记录吗?",1+64+256,"提示")=1
delete
pack
thisform.refresh
else
thisform.refresh
endif
6.保存表单取名 BJ
5.7统计程序
5.7.1 tj表单
1.新建一个表单“统计”添加一个按钮组4个按钮
2.四个按钮为“统计职务”、“统计部门”、“统计职称”、“统计文化程度”在右边添加一个“图象”空间,并设“STRETCH”属性为”2-STRETCH”,”PICTURE”属性所在位置
“统计职务”代码
wait window "正在统计。。。。" timeout 2
report form tjzw environment preview **调用一个报表
“统计部门”代码
DO form tjbm
RELEASE THISFORM
“统计职称”代码
Do form tjzc
RELEASE THISFORM
“统计文化程度”代码
wait window "正在统计。。。。" timeout 2
report form tjwh environment preview **调用一个报表
5.7.2 tjzc表单设计如下:
这一表单主要统计了两个方面的数据:一是总人数、男职工、女职工的人数,另一方面是统计各类职称的教师人数。
1.创建新表单,在表单中添加一个标签Label1,设置起标题为“统计职称”,再添加两个容器控件Container1,Container2,设置它们的SpecialEffect属性值为:“1-凹下”。
2.编辑容器控件Container1,添加三个标签,caption属性分别设置为“职工总人数”、“男性人数”、“女性人数”,再添加三个文本框控件用来显示统计结果,分别把他们的Read Only设置为真。
3.同理,编辑容器控件Container2,添加四个标签,caption属性分别设置为“教授”、“副教授”、“讲师”、“助教”,再添加四个文本框控件用来显示统计结果,分别把他们的Read Only设置为真。
VF人事管理系统
编辑表单的初始化事件(Init Event)程序代码为
private js,ja,jq,zc1,zc2,zc3,zc4
use 人事档案
count to js
thisform.container1.text1.value=js
count for 性别="男" to ja
thisform.container1.text2.value=ja
count for 性别 ="女" to jq
thisform.container1.text3.value=jq
count for 职称="教授" to zc1
thisform.container2.text1.value=zc1
count for 职称="副教授" to zc2
thisform.container2.text2.value=zc2
count for 职称="讲师" to zc3
thisform.container2.text3.value=zc3
count for 职称="助教" to zc4
thisform.container2.text4.value=zc4
use
5.8报表设计
创建报表rj是一对多报表,数据源为数据表“人事档案”和“家庭成员”。
制作过程:
1.利用“项目管理器”里的“一对多报表向导”,按确定按钮,进入“一对多报表向导”步骤1窗口:从父表选择字段。
2.在“数据库和表”列表框中选择要输出的数据表“人事档案”做为父表,然后在“可用字段”列表中选择要输出的字段。
3.单击“下一步”进入步骤2窗口“从子表选择字段”,先在“数据库和表”列表框中选择要输出的数据表“家庭成员”作为子表,在“可用字段”列表框中选择要输出的字段。
4.数据表“人事档案”和“家庭成员”事先已经建立索引。因而在步骤3窗口中,两个表选取匹配的字段“编号”。
5.单击“下一步”进入步骤4:排序记录。再“下一步”进入步骤5:选择报表样式,选择一个报表样式,输出方向可以根据需要选择纵向或横向。单击“下一步”进入步骤6窗口:完成。
6.在步骤6中可以输入表的标题,可单击“预览”按钮进行预览,不满意时有单击“上一步”来逐步返回进行修改:最后,选择适当选项后单击“完成”按钮,则一个新的报表建立。
5.9主菜单设计
菜单的设计从一开始就是为了方便用户界面的使用。在以往的DOS界面里,程序员为了编写一个自己的菜单系统,往往要花费大量的时间和精力。现在,有了可视化的编程工具,WINDOWS用户界面已经越来越来趋于简单化,其结果是只要了解一些最基本的工具,在加上简单的代码,用户就完全可以编写自己的操作界面。
今天,尽管WINDOWS的各种快捷工具越来越起着重要的作用,但是菜单作为一种方便地操作方式,起作用仍然是不可替代的。使用Visual FoxPro 6.0的“菜单设计器”可以把用户的任务和操作组织起来,并放入合乎逻辑的菜单组。菜单设计提高了Visual FoxPro 6.0应用程序能力[3]。
以下给出主菜单系统参数设置:
主菜单中三个过程文件程序代码如下:
a.系统初始化的过程代码:
SET SAFETY OFF
CLOSE DATABASE
A=MESSAGEBOX("系统记录将被清空,你真的这样做?!!!",4+16+256,"系统警告")
IF A=4
USE 人事档案
ZAP
USE 家庭成员
ZAP
USE 社会关系
ZAP
ENDIF
USE
b.系统备份的过程代码:
CLOSE DATABASE
A=MESSAGEBOX("请把备份盘插入软驱!!",4+64+256,"提示信息")
USE 人事档案
IF A=4
COPY TO A:\人事档案.DBF
USE 家庭成员
COPY TO A:\家庭成员.DBF
USE 社会关系
COPY TO A:\社会关系.DBF
ENDIF
USE
b.系统恢复的过程代码:
SET SAFETY OFF
CLOSE DATABASE
A=MESSAGEBOX("请把备份盘插入软驱!!",4+64+256,"提示信息")
IF A=4
USE A:\人事档案.DBF
COPY TO 人事档案.DBF
USE A:\家庭成员.DBF
COPY TO 家庭成员.DBF
USE A:\社会关系.DBF
COPY TO 社会关系.DBF
ENDIF
USE
主菜单参数设置一览表:
菜单名称
结果
编辑或命令
跳过
文件
子菜单
K18=0
系统初始化
过程
K1=0
恢复系统
过程
K2=0
系统备份
过程
K3=0
数据更新
命令
Do form babj.scx
K4=0
更改口令
命令
Do form 密码修改表单.scx
K5=0
查询
子菜单
K6=0
模糊查询
命令
Do form rskpcx.scx
K8=0
精确查询
命令
Do form cxl.scx
K7=0
统计
子菜单
K9=0
职务统计
命令
Report form tjzw.frx preview
K10=0
学历统计
命令
Report form wh.frx preview
K11=0
职称统计
命令
Do form tjzc.scx
K12=0
部门统计
命令
Do form tjbm.scx
K13=0
报表
子菜单
K14=0
个人档案
命令
Report form rj.frx preview
员工社会关系
命令
Report form rs.frx preview
职工基本信息
命令
Report form rsda.frx preview
报表打印
命令
Do form dada.scx
K16=0
浏览
子菜单
K15=0
员工基本情况
命令
Do form ln.scx
员工家庭情况
命令
Do form jiatln
5.10编译
当所有的程序编辑好后,需要对系统进行编译,制作成为可以执行的程序。
编译过程简述如下:
1. 将系统中涉及到的文件全部包含到“项目管理器”.需要注意的是主界面等用到图片文件需要手工添加近来,将其包含到“其他”中的“其他文件”项中.无用的表单,数据表等都要移除,最后将他们的源文件从系统目录中删除。
2.单击项目管理器右侧的“连编”按钮,选择连编项目.选择“重新连编全部文件”命令,他的功能是将项目管理器中包含的文件做检查,如果在连编后删除某些文件,就需要使用这个按钮对文件重新连编,这一过程是计算机自动完成的。
3. 编译结束后,如果没有错误,就可以生成可执行文件了,如有错误系统会自动弹出提示,在提示中,可以选择“忽略”,“全部忽略”,“取消”,这里的“忽略”就是不管出现什么样的错误,继续编译,当然通常一旦出现错误提示就应该选择“取消”,然后找出相应的错误,改正后再编译。
设 计 小 结
通过编写这个程序后,感觉得到VFP6.0是一个强大的数据处理工具,因为无论是最终用户或是程序编制者,在使用过程中都可以找到一个相当便捷的方法来实现自己的想法。
经过一个多星期的设计和开发,人事管理系统基本开发完毕。其功能基本符合用户需求,能够完成员工基本信息、家庭成员、社会关系的输入和统计。以及各类相关报表的打印。并提供部分系统维护功能,使用户方便进行数据备份和恢复、数据删除。同时也考虑到了单位编码以减少数据冗余的问题,对于数据的一致性的问题也通过程序进行了有效的解决。
在编制过程中,首先考虑到了界面的友好性,并在界面设计时不采用烦琐的细节,使界面简
VF人事管理系统
单、清晰,便于操作。本次编制中的不足之处是因为是首次尝试编制可应用的数据管理系统,所以该系统还有许多不尽如人意的地方,比如联机文档比较少,用户界面不够美观,出错处理不够等多方面问题。这些都有待进一步改善。在实际应用中有些功能不到位,对声音、动画的功能也未能插入。我将不断提高自己,争取今后在编制程序时,能编写出有个性且应用性较强的数据库管理系统。
致辞
本次毕业设计中,我从指导老师康 老师身上学到了很多东西。张老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我收益匪浅。他无论在理论上还是在实践中,都给与我很大的帮助,使我得到不少的提高。这对于我以后的工作和学习都有一种巨大的帮助,感谢他细心而又耐心的辅导。
另外,在系统开发过程中一些老师和同学也给予我很大的帮助,解决了不少的难点,使得系统能及时开发完成,这里一并表示感谢。
参考文献
[1]邓良松 刘海岩 陆丽娜.软件工程[M].西安:西安电子科技大学出版社,2000.11
[2]蔡卓毅 林盛雄 黄 竺.VisualFoxPro6.0数据[M].北京:冶金工业出版社,2003.6
[3]智西湖 雷治军.VisualFoxPro6.0程序设计教程[M].陕西杨陵:西北农林科技大学出版社,2002.9
[4]萨师煊 王珊.数据库系统概论[M].北京:高等教育出版社,2000.2
[5] 董士海.计算机软件工程环境与软件工程[M].北京:北京科学出版社,1990