11需求分析1.1系统分析对于一个企业来说,正确、及时而且规范地进行员工工资的管理和发放无疑就是十分重要的。由于工资计算往往涉及多方面的数据,对于每位员工往往需要单独计算,在员工数量较多时,工资管理的工作量就会变得很大,而且在重复的数据输入和计算中容易出错。利用数据库对企业职工工资进行管理是数据库技术在当代企业管理中的一个重要应用。利用数据库技术,可以保证工资数据的安全完整。本系统通过对企业基本信息管理、工资管理、奖惩管理3个环节的数据收集,建立现代企业工资管理系统,实现有用数据的快速查询,减少操作中可能出现的错误以及减少数据管理的工作量。1.2系统功能设计在本系统中,主要功能包括:(1)保存职工的基本信息资料(2)根据工资管理数据和员工的奖惩情况对职工每月的工资进行计算。(3)将职工工资的数据进行保存,便于查找和核实。(4)对保存的数据,可以根据特殊字段进行查找。图1.1是本系统的功能模块图。图1.1系统功能模块图基本信息管理工资管理奖惩管理查询员工资料添加员工资料修改员工资料退出查询工资添加员工工资修改员工工资退出工资管理系统用户登录界面查询工资添加员工工资修改员工工资退出退出22概要设计2.1数据库的建立使用SQL创建一个名为“工资”的数据库。2.2工资数据表的设计在本数据库中,将建立3个数据表,其功能如下:员工基本信息:用于存放员工的基本信息情况,包括员工的民族、出生年月、部门等。员工工资表:用于存放员工的基本工资、交通补助等。员工奖惩记录:用于记录员工的奖惩类别和奖惩原因等。这3个数据表的结构如表2.21至表2.23所示。图2.21员工基本信息表设计3图2.22员工工资表的设计图2.23员工奖惩记录表的设计E-R图43详细设计3.1工程的建立在“开始”菜单中启动VB,将弹出“新建工程”窗体如图3.1所示。在该窗体的“新建”选项卡中选择“标准EXE”,单击“打开”按钮,系统将生成一个新工程,默认名称为“工程1”,如图3.1所示。图3.1新建工程的界面员工姓名入职日期电话聘用形式职称职位部门编号性别发放工资姓名编号部门日期交通补助提成包含奖惩姓名奖惩分数编号奖惩原因53.2登录界面的设计在登入界面中,创建2个label,2个textbox,2个按钮,其中密码的textbox2的passwordchar设置为*,防止别人看到输入密码而进入此系统。最后完成登录功能。表3.21各个控件的属性名称CaptionFontLabel1用户名四号Label2密码四号Textbox1空宋体Textbox2空宋体Command1登入四号Command2取消四号控件设置完毕后,调整其大小和位置,使整个窗体布局合理。完成后的窗体界面如图3.22所示。图3.22登陆界面3.3主窗体的设计在主窗体的界面中,将创建4个按钮,从而完成对整个系统各个功能模块的调用。表3.31按钮控件的属性名称CaptionFontCommand1基本信息管理小四Command2工资管理小四Command3奖惩管理小四6Command4退出小四控件设置完毕后,调整其大小和位置,使整个窗体布局合理。完成后的窗体界面如图3.32所示。3.4基本信息管理的设计基本信息管理窗体是本系统的重要窗体之一,其基本功能为显示员工基本信息中保存的数据,并且允许对数据进行添加、删除和修改等操作。3.4.1基本信息管理窗体的设计首先对窗体的菜单编辑器进行设置,便于其跳转到各个界面。在窗体上添加一个Adodc的数据控件和一个dataGrid的控件,便于数据库的连接。其属性如表3.417所示:名称RecordSourceDataSourseFontAdodc1员工基本资料$宋体dataGrid1Adodc1宋体在窗体上添加19个Label和19个Textbox,作为数据的显示控件。这些控件的属性如表3.42所示。控件名称DataFieldDataSourseFontText2(0)编号Adodc1宋体Text2(1)姓名Adodc1宋体Text2(2)性别Adodc1宋体Text2(3)出生日期Adodc1宋体Text2(4)婚姻状况Adodc1宋体Text2(5)民族Adodc1宋体Text2(6)籍贯Adodc1宋体Text2(7)电话Adodc1宋体Text2(8)政治面貌Adodc1宋体Text2(9)联系地址Adodc1宋体Text2(10)部门Adodc1宋体Text2(11)职位Adodc1宋体Text2(12)职称Adodc1宋体Text2(13)基本工资Adodc1宋体Text2(14)聘用形式Adodc1宋体Text2(15)学历Adodc1宋体Text2(16)专业Adodc1宋体Text2(17)入职日期Adodc1宋体Text2(18)在职状态Adodc1宋体Text2(19)转正日期Adodc1宋体完成对数据的一系列操作,添加4个按钮。属性如表3.43下:名称CaptionFontCommand1添加宋体Command5删除宋体Command3修改宋体Command8退出宋体此窗体还将完成查询功能,通过输入员工的编号进行查询。在窗体上添加一个label,textbox和一个command.。其属性如表3.44下:8名称CaptionFontLabel1输入员工编号进行查询小四Text1空小四Command4查询小四控件设置完毕后,调整其大小和位置,使整个窗体布局合理。完成后的窗体界面如图4.45所示。3.4.2添加员工基本信息窗体的设计在窗体上添加一个Adodc的数据控件和一个dataGrid的控件,便于数据的添加显示和数据更新。添加19个label和19个textbox,并且添加3个按钮:确定,取消和返回。完成的窗体界面如下图所示。3.5工资管理的设计工资管理窗体是本系统的重要窗体之一,其基本功能为显示员工工资中保存的数据,并且允许对9数据进行添加、删除和修改等操作。3.5.1工资管理窗体的设计在窗体上添加一个Adodc的数据控件和一个dataGrid的控件,便于数据库的连接。其属性如表3.41所示:名称RecordSourceDataSourseFontAdodc1员工工资表$宋体dataGrid1Adodc1宋体在窗体上添加9个Label和9个Textbox,作为数据的显示控件。这些控件的属性如表3.42所示。控件名称DataFieldDataSourseFontText1日期Adodc1宋体Text2编号Adodc1宋体Text3姓名Adodc1宋体Text4部门Adodc1宋体Text5提成Adodc1宋体Text6奖惩Adodc1宋体Text7交通补助Adodc1宋体Text8基本工资Adodc1宋体Text9应发工资Adodc1宋体完成对数据的一系列操作,添加4个按钮。属性如表3.43下:名称CaptionFontCommand1添加宋体Command5删除宋体Command3修改宋体Command8退出宋体此窗体还将完成查询功能,通过输入员工的编号进行查询。在窗体上添加一个label,textbox和一个command.。其属性如表3.44下:名称CaptionFontLabel1输入员工编号进行查询小四Text1空小四Command4查询小四控件设置完毕后,调整其大小和位置,使整个窗体布局合理。完成后的窗体界面如图4.45所示。10图4.453.5.2添加员工工资的窗体在窗体上添加一个Adodc的数据控件和一个dataGrid的控件,便于数据的添加显示和数据更新。添加9个label和9个textbox,并且添加3个按钮:确定,取消和返回。完成的窗体界面如下图所示。3.6奖惩管理的设计奖惩管理窗体是本系统的重要窗体之一,其基本功能为显示员工奖惩中保存的数据,并且允许对数据进行添加、删除和修改等操作。113.6.1奖惩管理窗体的设计在窗体上添加一个Adodc的数据控件和一个dataGrid的控件,便于数据库的连接。其中奖惩与员工的工资挂钩,其奖惩分数与工资关系为50元/分!其属性如表3.41所示:名称RecordSourceDataSourseFontAdodc1工奖惩记录$宋体dataGrid1Adodc1宋体在窗体上添加10个Label和10个Textbox,作为数据的显示控件。这些控件的属性如表3.42所示。控件名称DataFieldDataSourseFontText1编号Adodc1宋体Text2姓名Adodc1宋体Text3性别Adodc1宋体Text4职位Adodc1宋体Text5部门Adodc1宋体Text6奖惩日期Adodc1宋体Text7奖惩类别Adodc1宋体Text8奖惩原因Adodc1宋体Text9奖惩分数Adodc1宋体Text10备注Adodc1宋体完成对数据的一系列操作,添加4个按钮。属性如表3.43下:名称CaptionFontCommand1添加宋体Command5删除宋体Command3修改宋体Command8退出宋体此窗体还将完成查询功能,通过输入员工的编号进行查询。在窗体上添加一个label,textbox和一个command.。其属性如表3.44下:名称CaptionFontLabel1输入员工编号进行查询小四Text1空小四Command4查询小四控件设置完毕后,调整其大小和位置,使整个窗体布局合理。完成后的窗体界面如图4.45所示。12图4.453.6.2添加员工奖惩的窗体在窗体上添加一个Adodc的数据控件和一个dataGrid的控件,便于数据的添加显示和数据更新。添加10个label和10个textbox,并且添加3个按钮:确定,取消和返回。完成的窗体界面如下图所示。134程序源代码4.1登录界面的代码登陆窗体主要是出于安全考虑,其代码如下:PrivateSubCommand1_Click()‘登入按钮IfText1.Text=adminAndText2.Text=adminThenMsgBox(登陆成功)‘用户名和密码都是admin时登入成功Form1.HideForm2.Show‘调用主窗体ElseMsgBox(登陆失败)EndIfEndSubPrivateSubCommand2_Click()‘取消按钮Text1.Text=Text2.Text=‘用户名和密码清空EndSub4.2主窗体的代码通过这4个按钮,可以调用各个模块。PrivateSubCommand1_Click()Form8.ShowForm2.Hide‘调用基本信息管理EndSubPrivateSubCommand2_Click()Form3.ShowForm2.Hide‘调用工资管理EndSubPrivateSubCommand3_Click()14Form4.ShowForm2.Hide‘调用奖惩管理EndSubPrivateSubCommand4_Click()MsgBox(确定退出本系统!)‘退出本系统EndEndSub4.3基本信息管理的代码4.3.1菜单目录的代码PrivateSub工资管理_Click()Form8.HideForm3.ShowEndSubPrivateSub基本信息管理_Click()Form8.ShowEndSubPrivateSub奖惩管理_Click()Form8.HideForm4.ShowEndSub4.3.2基本信息窗体的代码PrivateSubCommand1_Click()Form5.Show‘调用添加信息的窗体EndSubPrivateSubCommand3_Click()‘修改基本信息MsgBox(修改成功!)Adodc1.Recordset(编号)=Text2(0).TextAdodc1.Recordset(姓名)=Text2(1).Text15Adodc1.Recordset(性别)=Text2(2).TextAdodc1.Recordset(出生日期)=Text2(3).TextAdodc1.Recordset(婚姻状况)=Text2(4).TextAdod