人事工资管理系统(ER图+数据流程图+系统功能模块结构图)1、可行性分析和需求分析 随着计算机的日益普及和网络的发展,数据库的应用范围越来越广,数据库应用的功能也越来越强,因此编写管理信息系统应用程序也显得尤为重要,在强调管理,强调信息的现代社会中它变得越来越普及。计算机技术的飞速发展,数据库技术作为数据管理的一个有效的手段,在各行各业中得到越来越广泛的应用。管理系统的开发不仅是一个应用程序编写的过程,更重要的是在系统分析和设计阶段所做的工作。该程序在设计过程中严格遵循软件工程学的方法,用分阶段的生命周期计划严格管理,并主要讲述了程序的总体设计、详细设计阶段,对程序进行需求迭代,不断修正和改进,利用SQL SERVER的强大数据库功能,直到形成一个完善的可行性系统.优美、秀丽的界面,方便实用的查询与维护功能共同构成了“人事工资管理系统”。人事管理系统是任何企事业单位都需要进行的一项工作,因此,开发制作人事管理系统具有较大的社会现实意义,同时人事管理系统是一切应用系统的典范,它具有一切应用系统的特征,系统结构与现实生活紧密结合,具体直观,具有典范的数据库系统的特性。人事管理系统主要用于企业内部员工的档案、工资、考勤、评价的管理,便于公司领导掌握人员的动向,及时调整人才的分配,同时也减少了手工操作带来的一些繁琐与不便,使员工情况的记录和统计变得十分简单.这些优点可以极大的提高企业对人事管理的效率.因此,人事管理系统是企事业信息化、智能化、科学化和正规化不可缺少的管理软件。人事管理系统开发的目的一方面是从提高人事管理工作的效率出发,摆脱过去由人用纸和笔进行的费时费力的繁重工作,变成利用成熟的计算机系统来实现商品管理工作的自动化。本系统是根据企业管理的一些实际情况而编制的一套自动化的人事管理系统。人事管理系统针对企业员工信息的处理工作采用计算机进行全面的现代化管理,主要包括:.员工基本信息的管理.员工评价的管理.员工考勤信息的管理 课程设计说明书 NO.2.员工工资的管理.企业内部人事变动的管理.企业部门管理用户可以通过输入员工的基本信息、考勤信息等,由系统自动生成相应的统计数据及工资统计报表以供用户查询、打印,另外用户还可以对这些基本信息进行定期的更新与删除工作,人事管理系统力求以方便快捷的途径去管理职工的信息,代替手工操作的繁琐数据。 人事管理系统的数据要求具有一定的保密性禁止非法用户使用,所以在用户使用过程中对用户的权限具有一定的限制,防止个别用户对员工信息做出错误非法的修改、删除等操作。 在仔细分析调查有关企业的人事信息需求的基础上,将得到如图1-1的系统数据流程图,如下:
图1-1 系统数据流程图2、系统总体设计 2.1 系统功能分析系统开发的总体任务是要实现企业人事信息关系的系统化,规范化和自动化。系统功能分析是在系统开发的总体任务的基础之上完成的。人事管理系统主要有以下几项功能:2.1.1员工档案的管理:包括员工基本信息,所在部门,工作信息和工作简历的输入,
课程设计说明书 NO.4员工信息的查询和修改。2.1.2 员工考勤的管理:包括考勤的添加,查询,修改和删除。2.1.3 员工工资的管理:包括工资的添加,工资报表的查询,修改和删除。2.1.4 员工评价的管理:包括评价的输入,查询和修改。 2.1.5 人事变动的详细记录,包括岗位和部门的调整,便于掌握人员的动向,及时调整人才的分配。 2.1.6 企业所有部门的查询与管理。 2.1.7 管理员以及其它功能模块。根据系统数据流程图,可以列出以下数据项和数据结构:员工信息:工号,姓名,性别,年龄,出生日期,地址,电话,政治面貌,毕业院校,身份证号,所在部门,备注。考勤管理:工号,姓名,月份,本月天数,公休天数,出勤天数,出勤,旷工,年休,请假,迟到,早退,忘订卡,假日加班,其它加班,补休天数,出差,加班费,扣考核,其它,备注。 员工评价:工号,姓名,工作态度,各种奖励及处罚,技术水平,备注。工资管理:工号,姓名,底薪,奖金,补贴,加班,养老金,,医疗保险,公积金,实发工资,月份。人事变动:编号,事件,备注。部门管理:编号,名称,部门经理。管理员:编号,用户名,口令。得到上面的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。 根据上面的设计规出的实体有:员工基本信息实体,员工考勤信息实体,员工工作评价信息实体,员工工资信息实体,人事变动实体,部门管理实体。实体与实体之间的E-R模型如图2-1所示。207
人事工资管理系统 2.2 系统功能模块设计根据企业的业务情况和系统功能要求,结合计算机管理的特点和当前企业信息化的方向,设置系统功能模块结构图如图2-2所示。
图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 日期 表2-4
课程设计说明书 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-93、系统详细设计 3.1 系统的主界面模块设计 这个企业人事管理系统的主界面是采用多重窗体的格式(MDI),可使系统界面更加美观,方便实用。在登陆主界面之前,首先登记用户管理窗体;创建好的窗体如图3-1: 图3-1 系统的主界面
人事工资管理系统(ER图+数据流程图+系统功能模块结构图) 系统登陆的流程图如3-2: Y
图3-2 系统登陆的流程图 这个项目我们使用多文档界面,单击工具栏中的ADD MDI Form按扭,产生一个窗体。在窗体上添加所需控件。 在主界面中,员工管理菜单是此系统的重要组成部份,其中包括4个主要功能模块:员工基本信息模块,员工考勤模块,员工评价模块和员工工资管理模块。 3.2 员工基本信息模块设计 该模块主要完成员工基本信息的输入、查询与修改,它定义了三个主要窗口:信息添加窗口、复合查询窗口、员工信息列表窗口。 员工信息添加窗口用来添加员工个人信息,可供用户浏览查询及以记录为单 在窗体上放置多个文本框和下拉式列表框,用来输入员工个人基本信息,工作信息和其它信息;多个标签用来提示多个文本框所需要的内容。两个按钮用来确定是否添加员工信息。一个下拉列表框用来显示员工的性别。 员工基本信息中是以工号为主键,来识别表的唯一性。在员工性别录入中使用了C
沈 阳 大 学课程设计说明书 NO.11omboBox下拉列表控件,在载入窗体时程序将自动在两个下拉式文本框中添加内容,这样可以规范化输入内容,其中加入了”男” 、”女”。用户可以直接从下拉表中选择需要的输入条件。输入的出生日期按照YYYY-MM-DD的统一格式来录入。在备注文本编辑框中可以对窗体中没有提及到的一些员工信息进行编辑,让档案的录入更加完备、全面。当用户输写完信息后单击保存按扭,就将员工信息存储到后台的SQL SERVER数据库中。如果数据库中存在与此项添加的员工档案相同的数据,按确定后将弹出消息对话框”己存在此员工的信息”,提示用户己经存在此员工的信息,从而避免了相同员工信息的重复录入。载入窗体时,将首先通过整型变量gintmode的值来判断是添加还是修改状态(1为添加,2为修改)。如果是添加状态,性别选择框将选择第一个;如果是修改状态,将选择显示当前的记录。员工信息的添加窗口如图3-3: 图3-3 员工信息添加窗体 员工基本信息中是以工号为主键,来识别表的唯一性。在员工性别录入中使用了ComboBox下拉列表控件,在载入窗体时程序将自动在两个下拉式文本框中添加内容,这样可以规范化输入内容,其中加入了”男” 、”女”。用户可以直接从下拉表中选择需要的输入条件。输入的出生日期按照YYYY-MM-DD的统一格式来录入。在备注文本编辑
课程设计说明书 NO.12框中可以对窗体中没有提及到的一些员工信息进行编辑,让档案的录入更加完备、全面。当用户输写完信息后单击保存按扭,就将员工信息存储到后台的SQL SERVER数据库中。如果数据库中存在与此项添加的员工档案相同的数据,按确定后将弹出消息对话框”己存在此员工的信息”,提示用户己经存在此员工的信息,从而避免了相同员工信息的重复录入。 载入窗体时,将首先通过整型变量gintmode的值来判断是添加还是修改状态(1为添加,2为修改)。如果是添加状态,性别选择框将选择第一个;如果是修改状态,将选择显示当前的记录。在员工信息模块中添加了一项查询功能,这样可以使用户更加方便的操作所需要信息,大大节约了搜索的时间。 查询功能使用复合查询的模式。分为按工号查询、按员工姓名查询和按员工部门查询。用户可以根据实际需要选择其中的一项或几项。首先点击要先择的CheckBox复选框控件,这时光标自动移动到它对应的文本框,只要在相应的文本框中输入要查找的内容,然后点击确定按扭即完成了此项操作,并以MSFlexGird列表的形式显示出数据。查询功能的另一个特点是如果用户对查询窗口不做任何操作,直接点击确定按扭,在查询结果的列表窗口中显示出所有员工的信息。查询窗口界面如下图3-4所示: 图3-4 员工档案查询窗体
查询流程图如下图3-5所示: 图3-5 查询功能的数据流程图 在介绍了上述两项功能之后,将讲述一下员工信息的修改与删除的功能。这两项功能都是在MSFlexGird列表中实现的。首先如果用户需要修改一些信息,可以在菜单中选择修改信息,这时,如果没有先择要具体修改的信息,将出现消息对话框,通知用户选择一条要修改的记录,然后则通过SQL语句载入窗体,触发窗体的Load事件,显示员工信息列表窗体并列出所有员工的信息,在窗体的下部放置了一个修改按扭。用户在列表中选择了要操作的员工记录后点击该按扭,屏幕将出现员工信息添加窗体,窗体中体现出上一步用户所选择的员工记录,在具体的文本框中写入修改的记录,单击保存按钮出现”记录保存成功”消息对话框,点击确定按扭返回员工列表窗体,至此己完成了对员工信息的修改。删除员工信息的功能和修改功能类似,在列表中选择要删除的记录后点击鼠标右键,在弹出的子窗体中选择删除信息弹出”是否删除此记录”对话框,点击确定后完成了信息的删除操作。
人事工资管理系统 值得注意的是在员工列表窗体中使用了PopupMenu函数来调用主窗体中的员工档案菜单,使得操作更加简单、方便。至此,员工信息管理模块己经完成。它使用了MDI结构应用开发,它可以实现多个窗口的统一显示和管理,便于在不同功能之间快速的切换。 3.3 员工考勤模块设计员工考勤管理模块主要实现如下功能:1 添加员工考勤信息2 修改员工考勤信息3 删除员工考勤信息考勤管理是每个企事业所必需的,计算机管理系统的出现使员工出勤情况的记录和统计变得十分简单。软件是用于员工出入单位的情况录入,请假、加班和出差情况的录入,每个月底进行整个月的出勤情况统计。另外,考勤管理为工资管理直接提供每个月工作时间的统计结果,用以计算工资,同时考勤管理也需要其它功能所提供的员工、部门等信息。考勤添加模块主要是用来实现系统用户对企业现有员工的考勤登记,包括出勤记录、请假记录、加班记录和出差记录。在主窗体的菜单中选择考勤添加便进入了考勤添加窗体。窗体中使用了SSTAB控件,使界面和功能更加完美。在添加记录之前,用户可以根据现有员工档案的具体情况选择进行添加,在基本信息标签页中选择部门下拉列表框,其中包含了企业的所有部门。它的具体实现是通过ADODC控件绑定到员工信息数据表中,从表中使用DISTINCT选择不同的部门名称加入到下拉列表中。当用户选择了一个具体的部门之后,在随后的姓名列表中将通过SQL语句列出此部门的所有员工的姓名,而同时在员工工号的文本框中自动添加了此员工的工号。这种使用方式的好处是让用户可以根据员工档案的具体情况进行编辑,对每个员工进行考勤录入,从而避免了不了解企业内部员工档案的实际情况而造成错误的可能,同时也大大缩短了考勤操作的时间。选择了员工的姓名之后就可以在考勤项目中添加所需要的数据并选择SSTAB控件的不同页面进行输入。完成上述所有操作之后单击保存按扭将所有记录添加到数据库中。如果出现相同记录,将出现消息对话框,提示用户己存在及员工的考勤。若想取消上述操作,可以单
沈 阳 大 学课程设计说明书 NO.15击退出按扭,该窗体将自动关闭,并返回到系统的主窗体。选择“添加考勤“菜单,将出现如图3-6所示的窗体。
图3-6 员工考勤添加窗体
3.4 员工评价模块设计员工评价的主要功能包括:.员工评价信息的添加.员工评价信息的修改与删除.员工评价信息的查询实现各数据库中添加评价记录的方法和前面员工信息,考勤信息的添加方法相同。选择修改评价菜单,将出现员工评价列表的窗体,此窗体同样采用子窗体的形式,由主窗体继承而来。选择需要修改的记录,单击下面的修改按钮或单击鼠标右键选择修改评价菜单,在员工评价信息添加窗体中进行修改。分为按工号查询和按姓别查询两种,可以按照各种方式以及它们的组合进行查询。满足查询要求的记录都将出现在员工评价记录列表框中。当先择主菜单中的添加员工评价信息菜单,将出现如图3-7所示的窗体:
沈 阳 大 学课程设计说明书 NO.16 图3-7 员工评价信息添加窗体
3.5 员工工资管理模块 工资管理是企业管理中不可缺少的一项工作。员工工资管理模块用于每个月员工实发工资的计算,计算的项目包括基本工资、奖金、福利待遇、津贴等。主要包括以下几项功能:.员工工资的录入.员工工资的修改与删除.员工工资的查询.员工基本工资的设定.奖金以及福利补贴的设置.实发工资计算.根据出勤统计结果计算本月各项实际金额.输出工资报表 工资管理的输出结果是对员工工作的一个评价。计算工资的基本依据是考勤管理模块的统计结果。同时,在统计和查询时需要用到员工基本信息模块和部门信息。首先选择主窗体中添加工资菜单将出现我添加员工工资窗体。如图3-8所示:
课程设计说明书 NO.17 图3-8 员工工资添加窗体 从部门下拉表中选择部门,再从姓名下拉列表中选择要添加工资的员工。在月份文本框中使用的是Format(Now, "yyyy-mm-dd")函数,直接添加计算机的系统日期。其中实发工资的内容不需用户添写,在添写完其它工资内容后点击开始统计按钮将员工的收入与支出金额相减得出实发工资项。最后单击确认,将所填数据存入数据库中。工资管理的修改与删除同样需要以列表的形式如图3-9显示:
图3-9 员工工资列表窗体 做为子窗体的员工工资列表能够清楚的表现员工各项收入与支出的金额。选择修改可以对所选数据进行编辑,也同样可以点击鼠标右键选择所需要的操作。查询功能分为
人事工资管理系统(ER图+数据流程图+系统功能模块结构图)按姓名和按工号复合查询的两种方式和其它模块不同的是员工工资管理填加了一个工资报表窗体。选择主窗体中的工资报表菜单即会显示该窗体。具体的实现方法是首先建立数据环境,然后在数据环境中添加Command命令,并设置命令属性:在SQL语句中输入select * from gongzi,使其与数据库中的工资表相连,最后添加和设计Data Report据报表。员工工资报表窗体如图3-10:
图3-10 员工工资报表窗体 工资报表窗体做为子窗体来显示。窗口主要分成工具条和预览效果两部分,预览效果显示的就是最终打印的结果。在下面的工具条上包括4个页面浏览按钮。在上面工具条的下拉列表框中选择需要显示的比例。别外两个按钮分别用来实现打印与导出操作。如果要打印的工资报表有多页,可以通过4个页面浏览按钮进行上下翻页。此模块通过工资管理的创建,着重描述了工资计算和数据报表的使用。计算主要是通过对所输入的数据进行相加和相减的运算,最后显示结果数据。数据报表为我们提供了一个更加方便快捷地实现报表打印的方法。通过使用报表中的各种控件,可以很简单地实现复杂报表的设计,避免了繁杂的编程过程。3.6 系统其他功能模块设计 在开发的过程中还实现了一些其它的功能,使系统有了进一步的完善。 选择菜单中的计算器项目可以调用操作系统自带的计算器,它是通过API函数” RetVal = Shell("CALC.EXE", 1)”来实现的,让用户在使用本系统的同时更加快捷的进行一些计
沈 阳 大 学课程设计说明书 NO.19算。在管理员菜单中可以对当前用户的密码进行修改,同时也可以添加新的用户。 密码更改的流程图如图3-11 所示: 图3-11 密码更改的流程图4、系统调试与测试 4.1系统测试 软件测试是保证软件质量的关键,它是对需求分析设计和编码的最后复审。在软件生命周期的每个阶段,都不可避免地会产生错误,通常在编写出每个原程序后,就要对它进行必要的测试,这步工作自己来完成。此后由专门的测试人员进行各种综合测试。
沈 阳 大 学课程设计说明书 NO.20软件产品可用黑盒法和白盒法进行测试,通常两种方法结合使用。我在测试系统时先进行黑盒法测试,即检查程序是否输出正确的结果,而后进行白盒测试,即了解程序的内部结构和处理过程,对程序中重要的逻辑路线进行测试,在不同点检查程序状态,确定实际状态与时期的状态是否一致。 按照动态测试的四个步骤进行,即单元测试、集成测试、确认测试和系统测试,分别对基础信息管理与库存管理中各个模块进行了测试。 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 frmmainPublic gintMode As IntegerPublic flagEdit As BooleanPublic username As StringSub Main()Dim fLogin As New frmloginfLogin.Show vbModalIf Not fLogin.OK ThenEndEnd IfUnload fLoginSet fMainForm = New frmmainfMainForm.ShowEnd SubPublic Function ExecuteSQL(ByVal SQL _As String, MsgString As String) _As ADODB.RecordsetDim cnn As ADODB.ConnectionDim rst As ADODB.RecordsetDim sTokens() As StringOn Error GoTo ExecuteSQL_ErrorsTokens = Split(SQL)Set cnn = New ADODB.Connectioncnn.Open ConnectStringIf InStr("INSERT,DELETE,UPDATE", _UCase$(sTokens(0))) Thencnn.Execute SQLMsgString = sTokens(0) & _" query successful"ElseSet rst = New ADODB.Recordsetrst.Open Trim$(SQL), cnn, _adOpenKeyset, _adLockOptimisticSet ExecuteSQL = rstMsgString = "查询到" & rst.RecordCount & _" 条记录 "End IfExecuteSQL_Exit:Set rst = NothingSet cnn = NothingExit FunctionExecuteSQL_Error:MsgString = "查询错误: " & _Err.DescriptionResume ExecuteSQL_ExitEnd FunctionPublic Function ConnectString() As StringConnectString = "FileDSN=renshi.dsn"End Function员工基本信息模块代码:Option Explicit
沈 阳 大 学课程设计说明书 NO.22 Dim mblchange As Boolean Public txtSQL As StringPublic msgtext As StringDim mrc As ADODB.RecordsetPrivate Sub cmdcancle_Click()Unload MeEnd SubPrivate Sub cmdOK_Click()Dim intCount As IntegerDim txtSQL As StringDim MsgString As StringDim sMeg As StringDim i As IntegerFor intCount = 0 To 1If Trim(Text1(intCount) & "") = "" ThenSelect Case intCountCase 0sMeg = "工号"Case 1sMeg = "姓名"End SelectsMeg = sMeg & "不能为空"MsgBox sMeg, vbOKOnly + vbExclamation, "警告"Text1(intCount).SetFocusExit SubEnd IfNext intCountIf Trim(Text1(3) & "") = "" ThenMsgBox "出生日期不能为空", vbOKOnly + vbExclamation, "警告"End IfIf Trim(Text1(3) & "") <> "" ThenIf Not IsDate(Text1(3)) ThenMsgBox "出生日期应为(yyyy-mm-dd)!", vbOKOnly + vbExclamation, "警告"Text1(3).SetFocusExit SubElseText1(3) = Format(Text1(3), "yyyy-mm-dd")End IfEnd IfIf Trim(Text1(2) & "") = "" ThenMsgBox "年龄不能为空", vbOKOnly + vbExclamation, "警告"
沈 阳 大 学课程设计说明书 NO.23Exit SubEnd IfIf gintMode = 1 ThentxtSQL = "select * from dangan where ygid='" & Trim(Text1(0)) & "'"Set mrc = ExecuteSQL(txtSQL, msgtext)If mrc.EOF = False ThenMsgBox "有重复记录", vbOKOnly + vbExclamation, "警告"Text1(0).SetFocusEnd Ifmrc.ClosetxtSQL = "delete * from dangan where ygid='" & Trim(Text1(0)) & "'"Set mrc = ExecuteSQL(txtSQL, msgtext)txtSQL = "select * from dangan"Set mrc = ExecuteSQL(txtSQL, msgtext)mrc.AddNewFor intCount = 0 To 1mrc.Fields(intCount) = Trim(Text1(intCount))Next intCountFor intCount = 2 To 5mrc.Fields(intCount) = Trim(Text1(intCount))Next intCountFor intCount = 6 To 10mrc.Fields(intCount) = Trim(Text1(intCount))Next intCountmrc.Fields(11) = Trim(Combo1.Text)mrc.UpdateIf gintMode = 1 ThenMsgBox "添加记录成功", vbOKOnly, "提示"For i = 0 To 10Text1(i).Text = ""Next ifrmyuangong.Showfrmyuangong.ZOrder 0frmmanrecord.ShowTitlefrmmanrecord.ShowDatafrmmanrecord.ZOrder 1End IfPrivate Sub cmdSave_Click()Dim intCount As IntegerDim sMeg As StringDim rectemp As Recordset
人事工资管理系统(ER图+数据流程图+系统功能模块结构图+源代码)Dim sSql As StringDim msgtext As StringFor intCount = 0 To 3If Trim(txtItem(intCount) & " ") = "" ThenSelect Case intCountCase 0sMeg = "本月天数"Case 2sMeg = "应出勤天数"Case 3sMeg = "出勤"End SelectIf intCount <> 1 ThensMeg = sMeg & "不能为空!"MsgBox sMeg, vbOKOnly + vbExclamation, "警告"txtItem(intCount).SetFocusExit SubEnd IfEnd IfNext intCountIf gintMode = 1 ThentxtSQL = "select * from checkin where kqid='" & Trim(txtid) & "' and kqdate= '" & Format(cboYear.Text & "-" & cboMonth.Text & "-01", "yyyy-mm-dd") & "'"If mrc.EOF = False ThenMsgBox "已经存在该员工在该月的考勤记录!", vbOKOnly + vbExclamation, "警告"Exit SubEnd Ifmrc.ClosetxtSQL = "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 2mrc.Fields(intCount) = Trim(Text(intCount))Next intCountmrc.UpdateMsgBox "添加记录成功!", vbOKOnly, "提示"frmrenshi.ZOrder 1frmrenshi.ShowCommand1.Enabled = Truefirst.Enabled = True
沈 阳 大 学课程设计说明书 NO.25last.Enabled = TrueEnd IfIf gintMode = 2 ThentxtSQL = "select * from renshi1"Set mrc = ExecuteSQL(txtSQL, msgtext)mrc.Fields(intCount) = Text(intCount).Textmrc.UpdateMsgBox "记录修改成功!", vbOKOnly, "提示"cmdchange.Enabled = TrueCommand1.Enabled = Truecmddelete.Enabled = TrueEnd Ifmrc.CloseEnd IftxtSQL = "select * from department"Set mrc = ExecuteSQL(txtSQL, msgtext)mrc.AddNewFor intCount = 0 To 2mrc.Fields(intCount) = Trim(Text(intCount))mrc.UpdateMsgBox "记录添加成功!", vbOKOnly + vbExclamation, "警告"cmdok.Enabled = Truecmdchange.Caption = "修改"For i = 0 To 2Text(i).Text = ""mblchange = FalseNext i frmbumen.ShowElseIf cmdchange.Caption = "修改" ThentxtSQL = "select * from department where dpid='" & Trim(Text(0)) & "'"Set mrc = ExecuteSQL(txtSQL, msgtext)For i = 0 To 2mrc.Fields(i) = Text(i).TextNext imrc.Update For intCount = 0 To 2Text(intCount).Enabled = Truemybookmark = mrc.BookmarkNext intCountMsgBox "记录修改成功!", vbOKOnly + vbExclamation, "警告"Unload MeEnd IfEnd Sub