用VB开发企业工资管理系统Word格式.docx
《用VB开发企业工资管理系统Word格式.docx》由会员分享,可在线阅读,更多相关《用VB开发企业工资管理系统Word格式.docx(14页珍藏版)》请在冰豆网上搜索。
![用VB开发企业工资管理系统Word格式.docx](https://file1.bdocx.com/fileroot1/2023-1/28/dca3a8c6-76ce-4c73-a28a-77a38df6f1e7/dca3a8c6-76ce-4c73-a28a-77a38df6f1e71.gif)
同时由于不可避免的人为因素,造成数据的遣漏、误报等。
为了更好地适应当前企业对工资管理的需求,缓解手工管理存在的这些弊端,开发了企业工资管理系统。
它具有以下几个特点:
●可以存储所有有关工资、津贴、提成等内容,安全高效。
●可以迅速查到所需信息。
●实现动态报表。
2.2研究方法
VisualBasic是一种可视化的、面对对象和条用事件驱动方式的结构化高级程序设计,可用于开发Windows环境下的种类应用程序。
它简单易学、效率高,且功能强大,可以与Windows的专业开发工具SDK相媲美,而且程序开发人员不必具有C/C++编程基础。
在VisualBasic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的应用程序接口(API)函数,以及动态链接库(DLL)、动态数据交换(DDE)、对象的链接与嵌入(OLE)、开放式数据访问(ODBC)等技术,可以高效、快速地开发出Windows环境下功能强大、图形界面丰富的应用软件系统。
Visualbasic6.0连接数据库的主要方式以下几种方式:
一是:
用data控件进行数据库链接,二是利用adodc(ADODataControl)进行数据库链接。
三是:
利用DataEnvironment进行数据库链接.四是利用ADO(ActiveXDataObjects)进行编程。
要实现企业工资管理系统,关键是如何运用MicrosoftAccess2000作为后台数据库。
数据库前台控制界面使用VisualBasic+ADO来实现。
系统分析方法采用结构化生命周期法,这是软件开发常用的方法,主要可以分成以下四个步骤:
系统需求分析,系统数据的逻辑设计、系统功能模块的设计和软件功能界面的设计。
3系统需求分析
3.1用户需求分析
通过对用户工作流程及要求的调研,确定系统的功能要满足以下几个方面:
1、企业员工基本信息的管理:
在这个模块中要主要输入企业员工的基本信息。
2、员工岗位信息的管理:
不同的岗位对应不同的工资和津贴,这是发放工资参照的标准。
3、特殊项管理:
企业对员工有不同的奖惩措施,具体的奖惩标准应在系统中体现,并在每月的工资中计算。
4、发放工资管理:
完成每月的工资合计,并打印出工资凭条交由财务发放工资。
5、报表打印:
对各种数据进行统计与查询并打印出来,便于企业管理者对工资发放情况的动态掌握和管理。
软件的设计要求界面友好,操作简单,最好在硬件的配置上没有什么要求,功能结构清楚明了,一看就懂,这样才能更好的满足企业员工水平。
总之,企业工资管理信息系统旨在提供一个可以操作的,方便工资发放和管理,易于修改的辅助管理系统。
同时提供了系统智能辅助与用户自主选择两种方式,提高工作效率。
3.2业务流程图
根据需求分析的结果,本系统主要划分为以下5个子模块:
人员管理、职位管理、特殊项管理、工资发放、统计报表。
主要的系统模块如图3-1所示。
图3-1、系统功能图
4系统详细设计
4.1系统功能模块设计
1)企业员工基本信息管理模块
企业工资管理人员通过此模块来管理企业员工的信息,包括员工的添加、修改、删除等。
这也是工资管理系统的基础数据,在添加企业员工信息时,系统会进行员工号唯一性检验,正常是一个员工一个号,不重复。
在删除企业员工信息时,为了防止误码删除,会弹出提示窗口让用户确认,在删除时一定要慎重,一经删除该员工的所有信息都将一起被删除。
2)企业员工岗位信息管理模块
企业工资管理人员通过此模块来管理企业员工岗位信息,包括岗位的添加、修改、删除等。
是这工资标准发放的依据,不同的岗位对应不同的工资,如果员工岗位有变动就要对岗位信息进行修改。
3)特殊项管理模块
企业工资管理人员通过此模块来管理特殊项信息;
特殊项管理作为工资发放在另一块标准,主要是对员工进行奖惩性的数据输入,企业会根据每个员工在企业内的表现进行考核,同时考核结果对应相应的奖惩标准,同时数据计入当月的工资总额中。
4)发放工资模块
通过该模块实现员工的工资发放、工资凭条生成和打印等功能。
首先用户选择员工和月份,然后由程序自动生成相应月份的工资表。
程序调用Excel生成工资凭条,并可打印该工资凭条。
5)统计报表模块
实现对工资情况的统计与报表输出,这些报表包括当月工资细表、当月工资总表、当月特殊项表以及其他历史数据的汇总。
并实现生成报表并打印的功能。
方便企业管理者掌握企业员工工资发放情况,对工资发放作出及时合理的调整。
4.2数据库概念设计
根据企业工资管理系统的功能需求,选取MicrosoftAccess2000作为数据库开发软件,通过Access2000提供的表、查询、窗体等功能来实现。
该数据库由4个主表组成。
4个主表包括职工表、职位表、特殊项表、领取表。
职工表是对职工个人信息的统计,包括职工的职工ID、职位、姓名、性别等信息。
表1是职工表的结构。
表1职工表
字段名
数据类型
说明
职工ID
文本
主键,字段大小为10
职位
字段大小为10
姓名
性别
字段大小为2
出生年月
日期
工作年月
职位表是对每个职位工资的基本评价。
包括职位及时其对应的工资、津贴和奖金。
表2是职位表的结构。
表2职位表
基本工资
货币
奖金
津贴
特殊项表包括特殊项ID、职工ID、特殊项名称、特殊项金额4个字段,该表主要用于计量一些特殊情况下的奖惩金额。
例如某人上班迟到,罚款若干;
某人加班,奖励或干等。
表3特殊项表
特殊项ID
长整型
主键,自增字段
特殊项名称
字段大小为200
特殊项金额
特殊项时间
默认值为当前时间
数据库中还需记录企业工资发放的信息,考虑到每月发一次,本例采用按月工资发放记录的方式。
在领取表中记录每月的发放情况,结构如表4所示,
表4领取表
领取日期
领取月份
工资
该表代表职工当月工资是否取毕。
其中的工资项是将上面的职位工资、奖金、津贴以及当月所得的特殊项的总和(其中,特殊项的值可能为负)。
这表通过职工ID与职工表构成一对一的关系。
即每个职工每个月都能领到一份工资。
4.3数据的实现
完成数据库的表的分析与字段的确定后,就可以在ACCESS数据库中完成具体表的实现,首先通过创建一个新的数据库,命名为企业工资管理系统;
其次在ACCESS数据库中利用表设计器,在设计器中输入字段名来完成上述4个表的创建。
为了各表之间的数据的完整性,必须为各表设计关系,这4个表的关系设计如下:
以职工表中的职工ID为主关键字,和特殊项表、领取表中的ID创建一对多关系,并为关系设计成实施参照完整性、级联更新及级联删除。
职工表中的职位和职位表中的职位也形成一对多关系,关系如图4-1所示:
图4-1、关系表
5系统的实现
5.1创建公用数据库模块[4]
新建一个标准EXE工程,并将它命名为prjSalaryManage。
去掉默认的窗体,添加一个MDI窗体,并命名为MainForm。
添加一个公用模块,并命名为ModData,用于处理数据库有关的功能。
一、公用数据库模块的功能
公用数据库模块完成对数据库的基本操作。
包括打开数据库连接、关闭数据库连接、打开数据库集合和关闭数据库集合等操作,同时声时了几个关键的数据库对象。
二、公用数据库模块设计
1.全局变量的声明
包括数据库文件的路径、数据库连接、数据库集合已经用于生成打印报表的Excel对象。
2.OpenDBFile过程
OpenDBFile过程用于打开数据库文件,也就是打开数据连接对象。
在调用过程中如果出现错误,会打开一个错误日志文件进行记录。
3.CloseDBFile过程
CloseDBFile过程用于关闭数据库连接。
4.OpenRS过程
OpenRS过程用于打开数据集合,该函数首先打开一个数据库连接,然后执行参数中的SQL语句,返回的数据集就是上面定义的gRst。
5.CloseRS过程
CloseRS过程用于关闭打开的数据集合。
该函数首先关闭打开的数据集,然后关闭数据库连接。
中间如果出现错误会存储到日志文件中。
5.2主窗体的创建[5]
主窗体是程序的启动窗体,担任着调动程序其他模块的功能,是整个程序的核心。
在主窗体初始化的时候,还初始化了一些全局变量。
主窗体没有包含控件,但是包含一个菜单,设计中的主窗体及其菜单如图5-1所示。
图5-1主窗体
窗体部分代码编写如下:
1.相应MDIForm对象的Load事件,对整体进行初始化。
'
设置启动参数
PrivateSubMDIForm_Load()
gFile=App.Path&
"
\企业工资管理系统.mdb"
SetgX=CreateObject("
Excel.Application"
)
EndSub
2.响应HRManage菜单项的单击事件,调用“人员管理”窗体。
调用"
人员管理"
窗体
PrivateSubHRManage_Click()
HRForm.Show
3.响应PosManage菜单项的单击事件,调用“职位管理”窗体。
职位管理"
PrivateSubPosManage_Click()
PosForm.Show
4.响应SpeciaManage菜单项的单击事件,调用“特殊项管理”窗体。
特殊项管理"
PrivateSubSpecialManage_Click()
SpecialForm.Show
5.响应PayOffTable菜单项的单击事件,调用“工资发放”窗体。
工资发放"
PrivateSubPayoffTable_Click()
PayForm.Show
6.响应MDIForm的QueruUnload事件,在程序关闭前关闭所有窗体。
关闭所有窗口
PrivateSubMDIForm_QueryUnload(CancelAsInteger,UnloadModeAsInteger)
OnErrorResumeNext
UnloadAddEForm
UnloadAddPForm
UnloadAddSForm
UnloadUpdateEForm
UnloadUpdatePForm
UnloadUpdateSForm
5.3创建企业员工信息管理窗体
企业人员管理窗体的主要功能是完成企业人员基本信息的添加、删除与修改;
窗体采用表格方式显示所有人员的信息,窗体设计了四个功能按钮,单击“添加员工”可以在弹出的窗体中进行人员的添加。
单击“删除员工”按钮可对选中的记录进行删除,在删除时会让用户确认是否删除,确定后才能被删除。
单击“修改员工”按钮可在弹出的窗体中对人员信息进行修改,单击“取消”按钮可以退出该窗体。
设计中的人员管理窗体如图5-2所示。
图5-2人员管理窗体
5.4创建添加员工窗体
在人员管理窗体中单击添加员工按钮就会弹出员工添加窗体,在窗体中输入员工基本信息后,单击添加可以将数据添加到员工信息窗体中,添加员工信息窗体如图5-3所示。
图5-3添加员工窗体
5.5创建修改员工窗体
在窗体显示的时候,保证窗体上面的数据与在人员管理窗体上选定的行的数据一致,同时保证职工ID不可改动。
当用户单击“修改”按钮时,生成并执行对应的修改语句。
出现错误记录到错误日志中。
新建一个窗体,并命名为UpdateEForm,Caption设置为“修改员工”。
图5-4修改员工窗体
5.6创建职位管理窗体
该窗体实现对职位的增删改功能。
单击“添加职位”按钮可以调用“添加职位”窗体,进行人员的添加。
单击“删除职位”按钮会弹出对话框,要求确认删除该职位,单击“是”按钮,即删除该职位。
单击“修改职位”按钮可以调用“修改职位”窗体,进行人员信息的修改。
单击“取消”按钮可以退出该窗体。
设计中的职位管理窗体如图5-5所示。
图5-5职位管理窗体
窗体的工作流程/方式
用户重新选择DataGrid1控件中的行列,则记录用户所在的行。
用户单击“添加职位”按钮,则显示添加职位窗体。
用户单击“删除职位”按钮,则弹出对话框确认,无误之后执行SQL语句,删除职位。
然后刷新Ado数据控件,保证数据库和DataGrid控件中的数据的一致性。
如果出现错误,将错误记录到错误日志中。
用户单击“修改职位”按钮,则显示修改职位窗体,并将相关的用户选定信息传递给修改职位窗体。
操作完毕,用户单击“取消”按钮,可以退出本窗体。
5.7创建添加职位窗体
新建一个窗体,并命名为AddForm,Caption设置为“添加职位”。
图5-6添加职位窗体
窗体的工作流程/方式如下:
在窗体初始化的时候,初始化IblField控件数组。
用户对txtValue控件数组的属性进行修改,当用户单击“添加”时,生成SQL语句并执行,并刷新职位管理窗体的数据。
5.8创建修改职位窗体
新建一个窗体,并命名为UpdatePForm,Caption设置为“修改职位”。
图5-7职位修改窗体
窗体初始化时,会把“职位管理”窗体中选中的数据显示到TxtValue控件数组中。
用户修改txtValue控件数组中的文字内容。
用户单击“修改”按钮,则生成并执行SQL语句,实现修改的功能。
用户单击“取消”按钮,退出该窗体。
5.9创建工资发放窗体
新建一个窗体命名为PayForm,MDIChild属性为True。
图5-8工资发放窗体
首选用户选择要发工资的月份和职工姓名,之后如果当月的月表(即一个月的工资总表)还没有生成,则单击“生成月表”按钮生成月表。
单击“查询是否已发放”按钮会显示职工的工资报表,如果发放则弹出对话框说明。
单击“发放工资”按钮,发放工资,即将工资月表中的“发放完毕”字段设置为1。
单击“打印工资表”按钮打印工资表。
单击“取消”按钮退出本窗体。
5.10创建统计报表窗体
新建一个Form,并命名为AnaForm。
MDIChild属性设置为True,WindowState属性设置为Maximized。
该窗体上有一系列的按钮。
这里由于篇幅关系,只实现了前3个按钮的功能,其他按钮的功能实现读者可以自行实现。
设计中的统计报表窗体如图所示。
包括12个按钮,分别放到4个Frame控件中。
图5-9统计窗体
本窗体的工作流程就是在用户单击需要的按钮,显示相应的窗体。
6测试与分析
经过详细的设计和开发,企业工资管理系统基本开发完毕。
其功能基本符合用户需求,能够完成企业工资信息的存储和查询。
由于在设计的过程中就通过输入数据对每项功能进行测试,发现行不通的地方就及时改进,所以在交付给企业使用后,问题比较少,基本完成了系统的测试与运行。
由于软件设计的时间才一个多月,以及个人能力上的短缺,在系统分析上存在很多不足,系统功能也不够完善,操作方面也不够合理,这些都有待进一步改进,我会在后期的系统维护中不断改进,争取完成一个完整的系统管理软件。
结束语
本次设计我挑选了一个自己比较熟悉的企业工资管理,在选题时还对自己信心十足能做好本次设计,但从开始搜集资料到完成系统规划,才感觉理论与实践有很大的不同,在系统设计及撰写论文过程中出现许多错误,还好在指导老师的用心指导下,对系统及论文不断的完善才勉强完成本次设计。
感谢学校认真负责的态度为我们组织这次毕业设计以及毕业论文答辨。
通过这次煅炼,使我们的系统开发水平各方面都有了较大的进步。
由此积累的经验对我们以后的学习和生活产生帮助。
感谢我的指导老师,在毕业设计时帮助选题,在设计的过程中提出了许多有益的建议和意见,同时他先进的软件开发理念和思维方式也给我很大的启发。
参考文献
[1]谭浩强,袁玫,薛淑斌.VisualBasic程序设计.第二版.清华大学出版社,2009
[2]童爱红,侯太平.VisualBasic数据库编程.清华大学出版社,北京交通大学出版社,2010
[3]赵学慧,赵玮.VisualBasic程序开发完整实例教程.海洋出版社,2008
[4]王斌华,李建华.中文VisualBasic精彩编程五十例.电子科技大学出版社,2008
[5]王晟.VisualBasic数据库开发经典案例解析.清华大学出版社,2009
[6]郑阿奇顾韵华,VB6.0程序设计教程[M](机械工业出版社)2006
[7]李鹏.学生信息管理系统总体设计与主模块构成[J].中国新技术新产品,2009,
(2):
306.
[8]于雪涛奚砚涛.高校二级学院学生信息管理系统设计与实现[J].电脑编程技巧与维护,2009,
(1):
95.
[9]靳京阳武立博张峰.学生信息管理系统在高职院校管理中的应用[J].中国成人教育,2010,(0):
70.
[10]陈相吉.未来计算机与计算机技术的发展[J];
法制与社会,2007,(10):
148.