数据库课程设计-人事工资管理系统
1、可行性分析和需求分析
随着计算机的日益普及和网络的发展,数据库的应用范围越来越广,数据库应用的功能也越来越强,因此编写管理信息系统应用程序也显得尤为重要,在强调管理,强调信息的现代社会中它变得越来越普及。计算机技术的飞速发展,数据库技术作为数据管理的一个有效的手段,在各行各业中得到越来越广泛的应用。管理系统的开发不仅是一个应用程序编写的过程,更重要的是在系统分析和设计阶段所做的工作。该程序在设计过程中严格遵循软件工程学的方法,用分阶段的生命周期计划严格管理,并主要讲述了程序的总体设计、详细设计阶段,对程序进行需求迭代,不断修正和改进,利用SQL SERVER的强大数据库功能,直到形成一个完善的可行性系统.优美、秀丽的界面,方便实用的查询与维护功能共同构成了“人事工资管理系统”。
人事管理系统是任何企事业单位都需要进行的一项工作,因此,开发制作人事管理系统具有较大的社会现实意义,同时人事管理系统是一切应用系统的典范,它具有一切应用系统的特征,系统结构与现实生活紧密结合,具体直观,具有典范的数据库系统的特性。人事管理系统主要用于企业内部员工的档案、工资、考勤、评价的管理,便于公司领导掌握人员的动向,及时调整人才的分配,同时也减少了手工操作带来的一些繁琐与不便,使员工情况的记录和统计变得十分简单.这些优点可以极大的提高企业对人事管理的效率.因此,人事管理系统是企事业信息化、智能化、科学化和正规化不可缺少的管理软件。
人事管理系统开发的目的一方面是从提高人事管理工作的效率出发,摆脱过去由人用纸和笔进行的费时费力的繁重工作,变成利用成熟的计算机系统来实现商品管理工作的自动化。本系统是根据企业管理的一些实际情况而编制的一套自动化的人事管理系统。
人事管理系统针对企业员工信息的处理工作采用计算机进行全面的现代化管理,主要包括:
.员工基本信息的管理
.员工评价的管理.员工考勤信息的管理
课程设计说明书 NO.2
.员工工资的管理
.企业内部人事变动的管理
.企业部门管理
用户可以通过输入员工的基本信息、考勤信息等,由系统自动生成相应的统计数据及工资统计报表以供用户查询、打印,另外用户还可以对这些基本信息进行定期的更新与删除工作,人事管理系统力求以方便快捷的途径去管理职工的信息,代替手工操作的繁琐数据。
人事管理系统的数据要求具有一定的保密性禁止非法用户使用,所以在用户使用过程中对用户的权限具有一定的限制,防止个别用户对员工信息做出错误非法的修改、删除等操作。
在仔细分析调查有关企业的人事信息需求的基础上,将得到如图1-1的系统数据流程图,如下:
图1-1 系统数据流程图
2、系统总体设计
2.1 系统功能分析
系统开发的总体任务是要实现企业人事信息关系的系统化,规范化和自动化。
系统功能分析是在系统开发的总体任务的基础之上完成的。人事管理系统主要有以下几项功能:
2.1.1员工档案的管理:包括员工基本信息,所在部门,工作信息和工作简历的输入,若图片无法显示请联系QQ3710167,数据库课程设计-人事工资管理系统免费,转发请注明源于www.lwfree.cn
课程设计说明书 NO.4
员工信息的查询和修改。
2.1.2 员工考勤的管理:包括考勤的添加,查询,修改和删除。
2.1.3 员工工资的管理:包括工资的添加,工资报表的查询,修改和删除。
2.1.4 员工评价的管理:包括评价的输入,查询和修改。
2.1.5 人事变动的详细记录,包括岗位和部门的调整,便于掌握人员的动向,及时调整人才的分配。
2.1.6 企业所有部门的查询与管理。
2.1.7 管理员以及其它功能模块。
根据系统数据流程图,可以列出以下数据项和数据结构:
员工信息:工号,姓名,性别,年龄,出生日期,地址,电话,政治面貌,毕业院校,身份证号,所在部门,备注。
考勤管理:工号,姓名,月份,本月天数,公休天数,出勤天数,出勤,旷工,年休,请假,迟到,早退,忘订卡,假日加班,其它加班,补休天数,出差,加班费,扣考核,其它,备注。
员工评价:工号,姓名,工作态度,各种奖励及处罚,技术水平,备注。
工资管理:工号,姓名,底薪,奖金,补贴,加班,养老金,,医疗保险,公积金,实发工资,月份。
人事变动:编号,事件,备注。
部门管理:编号,名称,部门经理。
管理员:编号,用户名,口令。
得到上面的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。
根据上面的设计规出的实体有:员工基本信息实体,员工考勤信息实体,员工工作评价信息实体,员工工资信息实体,人事变动实体,部门管理实体。
实体与实体之间的E-R模型如图2-1所示82。
数据库课程设计-人事工资管理系统
图2-1 实体间的E–R模型
2.2 系统功能模块设计
根据企业的业务情况和系统功能要求,结合计算机管理的特点和当前企业信息化的方向,设置系统功能模块结构图如图2-2所示。若图片无法显示请联系QQ3710167,数据库课程设计-人事工资管理系统免费,转发
请注明源于www.lwfree.cn
图2-2 系统功能模块结构图
课程设计说明书 NO.7
2.3 逻辑结构设计
根据实体间的E-R模型的需求分析,本系统需要2个数据表分别来存放员工个人信息和人事变动记录,并需要一个外部数据表(部门管理表)的支持。另外设计工资管理,考勤管理,员工评价3个表来管理员工数据。具体数据表的设计如下面的表格所示。
员工档案信息表
字段名
数据类型
长度
是否为空
说明
ygid
Varchar
10
Not null
工号
ygname
Varchar
20
Not null
姓名
sex
Char
10
Not null
性别
age
Varchar
3
Not null
年龄
birth
Datetime
8
null
出生日期
address
Varchar
50
null
地址
tel
Varchar
15
null
电话
politic
Varchar
50
null
政治面貌
school
Varchar
50
null
毕业院校
ygidentity
Varchar
20
null
身份证号
department
Varchar
50
null
所在部门
text
Text
16
null
备注
表2-3
员工评价表
字段名
数据类型
长度
是否为空
说明
pjid
Varchar
10
Not null
工号
pjname
char
8
Not null
姓名
attitude
char
20
null
工作态度
publish
char
40
null
奖励及处罚
Level1
Varchar
40
null
技术水平
text
Text
16
null
备注
department
Varchar
50
Not null
部门
pdate
Datetime
8
Not null
日期
课程设计说明书 NO.8
部门管理表
字段名
数据类型
长度
是否为空
说明
dpid
Varchar
10
Not null
编号
dpname
varchar
20
Not null
部门名称
manage
Varchar
10
Not null
部门经理
表2-5
考勤管理表
字段名
数据类型
长度
是否为空
说明
kqid
Varchar
8
Not null
工号
kqname
Varchar
20
Not null
姓名
kqdate
Datetime
8
Not null
考勤日期
kqdays
Bigint
数据库课程设计-人事工资管理系统
8
Not null
本月天数
kqrday
Numeric
5
null
公休天数
kqtday
Numeric
5
Not null
出勤天数
kqwork
Numeric
5
Not null
出勤
kqabsent
Numeric
5
null
缺勤
kqrest
Numeric
5
null
年休
kqleave
Numeric
5
null
请假
kqlate
Numeric
5
null
迟到
kqearly
Numeric
5
null
早退
kqforget
Numeric
5
null
忘订卡
Kqover1
Numeric
5
null
加班
Kqover2
Numeric
5
null
其它加班
kqfill
Numeric
5
null
补休天数
kqgo
Numeric
5
null
出差
kqpay
Numeric
5
null
加班费
kqdeduct
Numeric
5
null
扣考核
kqother
Varchar
20
null
其它
kqremark
Text
16
null
备注
表2-6
人事变动表
字段名
数据类型
长度
是否为空
说明
id
Varchar
10
Not null
事件编号
Case1
Text
16
Not null
事件
text
Text
16
Not null
备注
表2-7
课程设计说明书 NO.9
管理员表
字段名
数据类型
长度
是否为空
说明
name
char
20
Not null
用户名
password
char
8
Not null
密码
表2-8
工资管理表
字段名
数据类型
长度
是否为空
说明
gzid
Varchar
10
Not null
工号
gzname
Varchar
8
Not null
姓名
salary
Money
8
Not null
底薪
award
Money
8
null
奖金
attach
Money
8
null
补贴
workelse
Money
8
null
加班
old
Money
8
null
养老金
medical
Money
8
null
医疗保险
public
Money
8
null
公积金
True1
Money
8
null
实发工资
month
Datetime
8
null
月份
表2-9
3、系统详细设计
3.1 系统的主界面模块设计
这个企业人事管理系统的主界面是采用多重窗体的格式(MDI),可使系统界面更加美观,方便实用。
系统登陆的流程图如3-1
数据库课程设计-人事工资管理系统
图3-1 系统登陆的流程图
这个项目我们使用多文档界面,单击工具栏中的ADD MDI Form按扭,产生一个窗体。在窗体上添加所需控件。
在主界面中,员工管理菜单是此系统的重要组成部份,其中包括4个主要功能模块:员工基本信息模块,员工考勤模块,员工评价模块和员工工资管理模块。
3.2 员工基本信息模块设计
该模块主要完成员工基本信息的输入、查询与修改,它定义了三个主要窗口:信息添加窗口、复合查询窗口、员工信息列表窗口。 员工信息添加窗口用来添加员工个人信息,可供用户浏览查询及以记录为单
在窗体上放置多个文本框和下拉式列表框,用来输入员工个人基本信息,工作信息和其它信息;多个标签用来提示多个文本框所需要的内容。两个按钮用来确定是否添加员工信息。一个下拉列表框用来显示员工的性别。
员工基本信息中是以工号为主键,来识别表的唯一性。在员工性别录入中使用了C
omboBox下拉列表控件,在载入窗体时程序将自动在两个下拉式文本框中添加内容,这样可以规范化输入内容,其中加入了”男” 、”女”。用户可以直接从下拉表中选择需要的输入条件。输入的出生日期按照YYYY-MM-DD的统一格式来录入。在备注文本编辑框中可以对窗体中没有提及到的一些员工信息进行编辑,让档案的录入更加完备、全面。当用户输写完信息后单击保存按扭,就将员工信息存储到后台的SQL SERVER数据库中。如果数据库中存在与此项添加的员工档案相同的数据,按确定后将弹出消息对话框”己存在此员工的信息”,提示用户己经存在此员工的信息,从而避免了相同员工信息的重复录入。
载入窗体时,将首先通过整型变量gintmode的值来判断是添加还是修改状态(1为添加,2为修改)。如果是添加状态,性别选择框将选择第一个;如果是修改状态,将选择显示当前的记录。
员工信息的添加窗口如图3-2:
图3-2 员工信息添加窗体
员工基本信息中是以工号为主键,来识别表的唯一性。在员工性别录入中使用了ComboBox下拉列表控件,在载入窗体时程序将自动在两个下拉式文本框中添加内容,这样可以规范化输入内容,其中加入了”男” 、”女”。用户可以直接从下拉表中选择需要的输入条件。输入的出生日期按照YYYY-MM-DD的统一格式来录入。在备注文本编辑
课程设计说明书 NO.12
框中可以对窗体中没有提及到的一些员工信息进行编辑,让档案的录入更加完备、全面。当用户输写完信息后单击保存按扭,就将员工信息存储到后台的SQL SERVER数据库中。如果数据库中存在与此项添加的员工档案相同的数据,按确定后将弹出消息对话框”己存在此员工的信息”,提示用户己经存在此员工的信息,从而避免了相同员工信息的重复录入。
载入窗体时,将首先通过整型变量gintmode的值来判断是添加还是修改状态(1为添加,2为修改)。如果是添加状态,性别选择框将选择第一个;如果是修改状态,将选择显示当前的记录。在员工信息模块中添加了一项查询功能,这样可以使用户更加方便的操作所需要信息,大大节约了搜索的时间。
查询功能使用复合查询的模式。分为按工号查询、按员工姓名查询和按员工部门查询。用户可以根据实际需要选择其中的一项或几项。首先点击要先择的CheckBox复选框控件,这时光标自动移动到它对应的文本框,只要在相应的文本框中输入要查找的内容,然后点击确定按扭即完成了此项操作,并以MSFlexGird列表的形式显示出数据。查询功能的另一个特点是如果用户对查询窗口不做任何操作,直接点击确定按扭,在查询结果的列表窗口中显示出所有员工的信息。查询窗口界面如下图3-3所示:若图片无法显示请联系QQ3710167,数据库课程设计-人事工资管理系统免费,转发
请注明源于www.lwfree.cn
图3-3员工档案查询窗体
查询流程图如下图3-4所示
数据库课程设计-人事工资管理系统
图3-4 查询功能的数据流程图
在介绍了上述两项功能之后,将讲述一下员工信息的修改与删除的功能。这两项功能都是在MSFlexGird列表中实现的。首先如果用户需要修改一些信息,可以在菜单中选择修改信息,这时,如果没有先择要具体修改的信息,将出现消息对话框,通知用户选择一条要修改的记录,然后则通过SQL语句载入窗体,触发窗体的Load事件,显示员工信息列表窗体并列出所有员工的信息,在窗体的下部放置了一个修改按扭。用户在列表中选择了要操作的员工记录后点击该按扭,屏幕将出现员工信息添加窗体,窗体中体现出上一步用户所选择的员工记录,在具体的文本框中写入修改的记录,单击保存按钮出现”记录保存成功”消息对话框,点击确定按扭返回员工列表窗体,至此己完成了对员工信息的修改。删除员工信息的功能和修改功能类似,在列表中选择要删除的记录后点击鼠标右键,在弹出的子窗体中选择删除信息弹出”是否删除此记录”对话框,点击确定后完成了信息的删除操作。
课程设计说明书 NO.14
值得注意的是在员工列表窗体中使用了PopupMenu函数来调用主窗体中的员工档案菜单,使得操作更加简单、方便。至此,员工信息管理模块己经完成。它使用了MDI结构应用开发,它可以实现多个窗口的统一显示和管理,便于在不同功能之间快速的切换。
3.3 员工考勤模块设计
员工考勤管理模块主要实现如下功能:
1 添加员工考勤信息
2 修改员工考勤信息
3 删除员工考勤信息
4 查询员工考勤信息
考勤管理是每个企事业所必需的,计算机管理系统的出现使员工出勤情况的记录和统计变得十分简单。软件是用于员工出入单位的情况录入,请假、加班和出差情况的录入,每个月底进行整个月的出勤情况统计。另外,考勤管理为工资管理直接提供每个月工作时间的统计结果,用以计算工资,同时考勤管理也需要其它功能所提供的员工、部门等信息。
考勤添加模块主要是用来实现系统用户对企业现有员工的考勤登记,包括出勤记录、请假记录、加班记录和出差记录。在主窗体的菜单中选择考勤添加便进入了考勤添加窗体。窗体中使用了SSTAB控件,使界面和功能更加完美。在添加记录之前,用户可以根据现有员工档案的具体情况选择进行添加,在基本信息标签页中选择部门下拉列表框,其中包含了企业的所有部门。它的具体实现是通过ADODC控件绑定到员工信息数据表中,从表中使用DISTINCT选择不同的部门名称加入到下拉列表中。当用户选择了一个具体的部门之后,在随后的姓名列表中将通过SQL语句列出此部门的所有员工的姓名,而同时在员工工号的文本框中自动添加了此员工的工号。这种使用方式的好处是让用户可以根据员工档案的具体情况进行编辑,对每个员工进行考勤录入,从而避免了不了解企业内部员工档案的实际情况而造成错误的可能,同时也大大缩短了考勤操作的时间。选择了员工的姓名之后就可以在考勤项目中添加所需要的数据并选择SSTAB控件的不同页面进行输入。完成上述所有操作之后单击保存按扭将所有记录添加到数据库中。如果出
现相同记录,将出现消息对话框,提示用户己存在及员工的考勤。若想取消上述操作,可
课程设计说明书
单击退出按扭,该窗体将自动关闭,并返回到系统的主窗体。选择“添加考勤“菜单,将出现如图3-5所示的窗体。若图片无法显示请联系QQ3710167,数据库课程设计-人事工资管理系统免费,转发
请注明源于www.lwfree.cn
图3-5 员工考勤添加窗体
3.4 员工评价模块设计
员工评价的主要功能包括:
.员工评价信息的添加
.员工评价信息的修改与删除
.员工评价信息的查询
实现各数据库中添加评价记录的方法和前面员工信息,考勤信息的添加方法相同。
选择修改评价菜单,将出现员工评价列表的窗体,此窗体同样采用子窗体的形式,由主窗体继承而来。选择需要修改的记录,单击下面的修改按钮或单击鼠标右键选择修改评价菜单,在员工评价信息添加窗体中进行修改。分为按工号查询和按姓别查询两种,可以按照各种方式以及它们的组合进行查询。满足查询要求的记录都将出现在员工评价记录列表框中。当先择主菜单中的添加员工评价信息菜单,将出现如图3-6所示的窗体:
课程设计说明书
图3-6员工评价信息添加窗体
3.5 员工工资管理模块
工资管理是企业管理中不可缺少的一项工作。员工工资管理模块用于每个月员工实发工资的计算,计算的项目包括基本工资、奖金、福利待遇、津贴等。
主要包括以下几项功能:
.员工工资的录入
.员工工资的修改与删除
.员工工资的查询
.员工基本工资的设定
.奖金以及福利补贴的设置
.实发工资计算
.根据出勤统计结果计算本月各项实际金额
数据库课程设计-人事工资管理系统
输出工资报表
工资管理的输出结果是对员工工作的一个评价。计算工资的基本依据是考勤管理模块的统计结果。同时,在统计和查询时需要用到员工基本信息模块和部门信息。首先选择主窗体中添加工资菜单将出现我添加员工工资窗体。如图3-7所示:课程设计说明书 NO.17
若图片无法显示请联系QQ3710167,数据库课程设计-人事工资管理系统免费,转发
请注明源于www.lwfree.cn
图3-7员工工资添加窗体
从部门下拉表中选择部门,再从姓名下拉列表中选择要添加工资的员工。在月份文本框中使用的是Format(Now, "yyyy-mm-dd")函数,直接添加计算机的系统日期。其中实发工资的内容不需用户添写,在添写完其它工资内容后点击开始统计按钮将员工的收入与支出金额相减得出实发工资项。最后单击确认,将所填数据存入数据库中。工资管理的修改与删除同样需要以列表的形式如图3-8显示:
图3-8 员工工资列表窗体
做为子窗体的员工工资列表能够清楚的表现员工各项收入与支出的金额。选择修改可以对所选数据进行编辑,也同样可以点击鼠标右键选择所需要的操作。查询功能分为
课程设计说明书 NO.18
按姓名和按工号复合查询的两种方式和其它模块不同的是员工工资管理填加了一个工资报表窗体。选择主窗体中的工资报表菜单即会显示该窗体。具体的实现方法是首先建立数据环境,然后在数据环境中添加Command命令,并设置命令属性:在SQL语句中输入select * from gongzi,使其与数据库中的工资表相连,最后添加和设计Data Report
据报表。员工工资报表窗体如图3-9:
图3-9 员工工资报表窗体
工资报表窗体做为子窗体来显示。窗口主要分成工具条和预览效果两部分,预览效果显示的就是最终打印的结果。在下面的工具条上包括4个页面浏览按钮。在上面工具条的下拉列表框中选择需要显示的比例。别外两个按钮分别用来实现打印与导出操作。如果要打印的工资报表有多页,可以通过4个页面浏览按钮进行上下翻页。
此模块通过工资管理的创建,着重描述了工资计算和数据报表的使用。计算主要是通过对所输入的数据进行相加和相减的运算,最后显示结果数据。数据报表为我们提供了一个更加方便快捷地实现报表打印的方法。通过使用报表中的各种控件,可以很简单地实现复杂报表的设计,避免了繁杂的编程过程。
3.6 系统其他功能模块设计
在开发的过程中还实现了一些其它的功能,使系统有了进一步的完善。 选择菜单中的计算器项目可以调用操作系统自带的计算器,它是通过API函数” RetVal = Shell("CALC.EXE", 1)”来实现的,让用户在使用本系统的同时更加快捷的进行一些计
课程设计说明书 NO.19
算。在管理员菜单中可以对当前用户的密码进行修改,同时也可以添加新的用户。
密码更改的流程图如图3-10 所示:
图3-10 密码更改的流程图
4、系统调试与测试
4.1系统测试
软件测试是保证软件质量的关键,它是对需求分析设计和编码的最后复审。在软件生命周期的每个阶段,都不可避免地会产生错误,通常在编写出每个原程序后,就要对它进行必要的测试,这步工作自己来完成。此后由专门的测试人员进行各种综合测试。
课程设计说明书
软件产品可用黑盒法和白盒法进行测试,通常两种方法结合使用。我在测试系统时先进行黑盒法测试,即检查程序是否输出正确的结果,而后进行白盒测试,即了解程序的内部结构和处理过程,对程序中重要的逻辑路线进行测试,在不同点检查程序状态,确定实际状态与时期的状态是否一致。
按照动态测试的四个步骤进行,即单元测试、集成测试、确认测试和系统测试,分别对基础
数据库课程设计-人事工资管理系统
息管理与库存管理中各个模块进行了测试。
4.2系统结果
完成了企业人事管理系统的编译和调试工作,最后一步就是系统的编译和发行。在系统的编译和发行以前,需要设置工程项目的属性。选择”Project|Renshi_MIS Properties”菜单,进行属性设置。
最后选择”FileMade Renshi_Mis.exe”菜单,编译开始。编译完毕之后,即生成了相应的可执行文件。编译通过后,生成可执行文件Renshi_Mis.exe.我们需要在发布前对生成的可执行文件进行测试。通过测试的可执行文件,就可以发布了。
5、参考文献
[1]郭盈发主编.《数据库原理与应用》.西安: 电子科技大学出版社,2005.
[2]史嘉权主编.《数据库系统教程》. 北京:清华大学出版社. 2005.
[3]史济民主编.《FoxPro及其应用系统开发》.北京:清华大学出版社,2006.
[4]萨师煊主编.《数据库系统概述》.北京:高等教育出版社,2007.
6、附录:系统源代码
Public fMainForm As frmmain
Public gintMode As Integer
Public flagEdit As Boolean
Public username As String
Sub Main()
Dim fLogin As New frmlogin
fLogin.Show vbModal
If Not fLogin.OK Then
End
End If
Unload fLogin
课程设计说明书 NO.21
Set fMainForm = New frmmain
fMainForm.Show
End Sub
Public Function ExecuteSQL(ByVal SQL _
As String, MsgString As String) _
As ADODB.Recordset
Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim sTokens() As String
On Error GoTo ExecuteSQL_Error
sTokens = Split(SQL)
Set cnn = New ADODB.Connection
cnn.Open ConnectString
If InStr("INSERT,DELETE,UPDATE", _
UCase$(sTokens(0))) Then
cnn.Execute SQL
MsgString = sTokens(0) & _
" query successful"
Else
Set rst = New ADODB.Recordset
rst.Open Trim$(SQL), cnn, _
adOpenKeyset, _
adLockOptimistic
Set ExecuteSQL = rst
MsgString = "查询到" & rst.RecordCount & _
" 条记录 "
End If
ExecuteSQL_Exit:
Set rst = Nothing
Set cnn = Nothing
Exit Function
ExecuteSQL_Error:
MsgString = "查询错误: " & _
Err.Description
Resume
End Function
员工基本信息模块代码:
Option Explicit
数据库课程设计-人事工资管理系统
Dim mblchange As Boolean
Public txtSQL As String
Public msgtext As String
Dim mrc As ADODB.Recordset
Private Sub cmdcancle_Click()
Unload Me
End Sub
Private Sub cmdOK_Click()
Dim intCount As Integer
Dim txtSQL As String
Dim MsgString As String
Dim sMeg As String
Dim i As Integer
For intCount = 0 To 1
If Trim(Text1(intCount) & "") = "" Then
Select Case intCount
Case 0
sMeg = "工号"
Case 1
sMeg = "姓名"
End Select
sMeg = sMeg & "不能为空"
MsgBox sMeg, vbOKOnly + vbExclamation, "警告"
Text1(intCount).SetFocus
Exit Sub
End If
Next intCount
If Trim(Text1(3) & "") = "" Then
MsgBox "出生日期不能为空", vbOKOnly + vbExclamation, "警告"
End If
If Trim(Text1(3) & "") <> "" Then
If Not IsDate(Text1(3)) Then
MsgBox "出生日期应为(yyyy-mm-dd)!", vbOKOnly + vbExclamation, "警告"
Text1(3).SetFocus
Exit Sub
Else
Text1(3) = Format(Text1(3), "yyyy-mm-dd")
End If
End If
If Trim(Text1(2) & "") = "" Then
MsgBox "年龄不能为空", vbOKOnly + vbExclamation, "警告"
课程设计说明书 NO.23
Exit Sub
End If
If gintMode = 1 Then
txtSQL = "select * from dangan where ygid='" & Trim(Text1(0)) & "'"
Set mrc = ExecuteSQL(txtSQL, msgtext)
If mrc.EOF = False Then
MsgBox "有重复记录", vbOKOnly + vbExclamation, "警告"
Text1(0).SetFocus
End If
mrc.Close
txtSQL = "delete * from dangan where ygid='" & Trim(Text1(0)) & "'"
Set mrc = ExecuteSQL(txtSQL, msgtext)
mrc.Fields(intCount) = Trim(Text1(intCount))
Next intCount
For intCount = 2 To 5
mrc.Fields(intCount) = Trim(Text1(intCount))
Next intCount
For intCount = 6 To 10
mrc.Fields(intCount) = Trim(Text1(intCount))
若图片无法显示请联系QQ3710167,数据库课程设计-人事工资管理系统免费,转发
请注明源于www.lwfree.cn
frmmanrecord.ShowTitle
frmmanrecord.ShowData
frmmanrecord.ZOrder 1
End If
Private Sub cmdSave_Click()
Dim intCount As Integer
Dim sMeg As String
Dim rectemp As Recordset
课程设计说明书 NO.24
Dim sSql As String
Dim msgtext As String
For intCount = 0 To 3
If Trim(txtItem(intCount) & " ") = "" Then
Select Case intCount
Case 0
sMeg = "本月天数"
Case 2
sMeg = "应出勤天数"
Case 3
数据库课程设计-人事工资管理系统
sMeg = "出勤"
End Select
If intCount <> 1 Then
sMeg = sMeg & "不能为空!"
MsgBox sMeg, vbOKOnly + vbExclamation, "警告"
txtItem(intCount).SetFocus
Exit Sub
End If
End If
Next intCount
If gintMode = 1 Then
txtSQL = "select * from checkin where kqid='" & Trim(txtid) & "' and kqdate= '" & Format(cboYear.Text & "-" & cboMonth.Text & "-01", "yyyy-mm-dd") & "'"
If mrc.EOF = False Then
MsgBox "已经存在该员工在该月的考勤记录!", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
mrc.Close
txtSQL = "delete * from renshi1 where id='" & Trim(Text(0)) & "'"
Set mrc = ExecuteSQL(txtSQL, msgtext)
txtSQL = "select * from renshi1"
Set mrc = ExecuteSQL(txtSQL, msgtext)
For intCount = 0 To 2
mrc.Fields(intCount) = Trim(Text(intCount))
Next intCount
mrc.Update
MsgBox "添加记录成功!", vbOKOnly, "提示"
frmrenshi.ZOrder 1
frmrenshi.Show
Command1.Enabled = True
first.Enabled = True
课程设计说明书 NO.25
last.Enabled = True
End If
If gintMode = 2 Then
txtSQL = "select * from renshi1"
Set mrc = ExecuteSQL(txtSQL, msgtext)
mrc.Fields(intCount) = Text(intCount).Text
mrc.Update
MsgBox "记录修改成功!", vbOKOnly, "提示"
cmdchange.Enabled = True
Command1.Enabled = True
cmddelete.Enabled = True
End If
mrc.Close
End If
txtSQL = "select * from department"
Set mrc = ExecuteSQL(txtSQL, msgtext)
mrc.AddNew
For intCount = 0 To 2
mrc.Fields(intCount) = Trim(Text(intCount))
mrc.Update
MsgBox "记录添加成功!", vbOKOnly + vbExclamation, "警告"
cmdok.Enabled = True
cmdchange.Caption = "修改"
For i = 0 To 2
Text(i).Text = ""mblchange = False
Next i frmbumen.Show
ElseIf cmdchange.Caption = "修改" Then
txtSQL = "select * from department where dpid='" & Trim(Text(0)) & "'"
Set mrc = ExecuteSQL(txtSQL, msgtext)
For i = 0 To 2
mrc.Fields(i) = Text(i).Text
Next i
若图片无法显示请联系QQ3710167,数据库课程设计-人事工资管理系统免费,转发
请注明源于www.lwfree.cn
Unload Me
End If
End Sub