目录
第一章 概述 1
1.1 项目背景与意义 1
1.2 可行性分析 1
1.2.1 技术可行性 1
1.2.2 经济可行性 2
1.2.3 运行可行性 2
1.3 相关技术与开发工具介绍 3
1.3.1 Visual Basic 6.0简介 3
1.3.2 Access数据库的介绍 5
第2章 总体设计 6
2.1 员工请假管理系统简介 6
2.1.1 整体说明 6
2.1.2 具体需求说明 6
2.2 需求分析 7
2.2.1 总体功能需求 7
2.2.2 业务流程图 7
2.2.3 数据库设计 7
2.2.4 功能模块划分及层次关系 10
2.2.5 系统组成 11
第三章 详细设计及实现 12
3.1. 系统登录 12
3.1.1 功能设计 12
3.1.2 功能实现 12
3.2 基础单元设置模块 13
3.2.1 功能设计 13
3.2.2 功能实现 14
3.3 员工管理模块 15
3.3.1 功能设计 15
3.3.2 功能实现 16
3.4 员工查询模块 18
3.4.1 功能设计 18
3.4.2 功能实现 18
3.5请假管理模块 20
3.5.1功能设计 20
3.5.2 功能实现 21
3.6 请假查询模块 23
3.6.1 功能设计 23
3.6.2 功能实现 23
结束语 25
致谢 26
参考文献 27
第2章 总体设计
2.1 员工请假管理系统简介
2.1.1 整体说明
(1)实现员工请假管理的的信息化管理
(2)实现员工请假管理的基础要求
(3)具有查询功能
(4)具有报表及打印功能
(5) 多用户操作
2.1.2 具体需求说明
(1) 功能:
实现员工请假的工常管理功能
(2) 可用性:
要求具有良好的界面接口,符合Microsoft 的GUI标准。
(3) 易用性:
具有一定电脑基础的操作员基本上无需要专门培训,如需培训,培训时间不超过一周就可完全掌握
(4) 性能:
性能良好,有完善的错误出现功能,尽可能的在用户输入端做出完善的出错处理。满足不超过一万员工的中小企业的数据处理需求
(5) 数据库支持标准:
Microsoft ADO 2.7标准。
(6) 设计约束:
开发工具为Microsoft VB 6.0 数据库采用ACCESS 2000.系统性能将会受到开发工具及数据库的制约
(7) 第三方控件:
不需要购买任何第三方控件
(8) 接口
用户界面:统一的界面风格。只有一个主程序
硬件接口:无特别要求
网络接口:无特别要求
数据接口:本系统数据可支持Microsoft 所有支持的格式转换
2.2 需求分析
2.2.1 总体功能需求
(1)系统界面友好大方,方便用户操作。
(2)管理员有自己的帐号和密码,并有添加管理员和删除管理员帐号的功能。
(3)可以对员工的基本信息进行管理,包括增删改等操作。
(4)实现员工请假的登记,包括增删改等操作。
(5)系统应提供查询功能,包括基本信息的查询和请假信息的查询。
(6)系统有打印功能。
2.2.2 业务流程图
图2-1 系统业务流程图
2.2.4 功能模块划分及层次关系
根据需求,把系统划分为以下几个模块:
(1)系统登录模块
提供用户登录功能,要求用户输入用户名和密码。
(2)基础单元管理
主要包括对部门、文化程度、职务、职称、政治面貌、请假类型、销假标志、婚姻状况的设置。
(3)操作员管理
即系统管理员的管理,包括添加管理员、和删除管理员.
(4)员工管理
对公司员工的管理,包括添加、删除、修改员工基本信息等。
(5)员工查询
按条件查询员工的基本信息。
(6)请假管理
添加、删除或是修改员工请假信息。
(7)请假查询
查询员工请假信息。
系统层次关系如下:
本文转载自在这里插入图片描述
http://www.biyezuopin.vip/onews.asp?id=12564
图2-2 系统模块示意图
2.2.5 系统组成
1> modMain.bas (公用模块,系统公共变量,数据库连接)
2> frmLogin.frm (登录窗体)
3> frmMain.frm (主窗体,系统主界面)
4> frmOperator.frm (操作员管理窗体,操作员的增,删,修改)
5> frmEmployees.frm (员工信息管理窗体,员工的增,删,改,查询,打印)
6> frmLeavel.frm (请假管理,请假的增,删,改,查询,打印)
7> frmUnit.frm (基础单元的设置,学历,职务等)
8> frmEmpAdd.frm (员工增加窗体,员工信息输入)
9> frmLeavelAdd.frm (请假信息增加窗体,请假信息的输入,修改)
10> frmEmpQuery.frm (员工信息的详细查询窗体,各种信息查询)
11> frmAbout.frm (“关于我们”窗体,软件的一些信息)
12> prjEmis.vbp (主工程文件)
Private Sub flexLeavel_SelChange()
Dim vtempdata As Variant
Call frmEmployees.GetFlexGridFirstColValue(flexLeavel, strLvlFirstFieldValue) '从表格中提取员工工作证号
If strLvlFirstFieldValue <> Empty ThenIf Not (rctLeavelList.BOF And rctLeavelList.EOF) ThenrctLeavelList.MoveFirstrctLeavelList.Find ("Emp_ID = " & "'" & Trim(strLvlFirstFieldValue) & "'")txtEmp_ID.Text = rctLeavelList.Fields("Emp_ID")txtEmp_Name.Text = rctLeavelList.Fields("Emp_Name")If rctLeavelList.Fields("Depart_Id") <> Empty ThendcbDepartID.BoundText = rctLeavelList.Fields("Depart_Id")ElsedcbDepartID.Text = EmptyEnd IfdcbLeavelStatus.BoundText = rctLeavelList.Fields("LS_ID")dcbLeavelType.BoundText = rctLeavelList.Fields("Leavel_ID")If rctLeavelList.Fields("Leavel_days") <> Empty ThentxtLeavel_days.Text = rctLeavelList.Fields("Leavel_days")ElsetxtLeavel_days.Text = EmptyEnd IfIf rctLeavelList.Fields("Leavel_matter") <> Empty ThentxtLeavel_matter.Text = rctLeavelList.Fields("Leavel_matter")ElsetxtLeavel_matter.Text = EmptyEnd IfIf rctLeavelList.Fields("Examine_opinion") <> Empty ThentxtExamine_opinion.Text = rctLeavelList.Fields("Examine_opinion")ElsetxtExamine_opinion.Text = EmptyEnd IfIf rctLeavelList.Fields("Examine_person") <> Empty ThentxtExamine_person.Text = rctLeavelList.Fields("Examine_person")ElsetxtExamine_person.Text = EmptyEnd Ifvtempdata = rctLeavelList.Fields("Leavel_start_time")If vtempdata <> Empty ThenmskLeavel_start_time.Text = Format(vtempdata, "yyyy-mm-dd")ElsemskLeavel_start_time.Text = " - - "End Ifvtempdata = rctLeavelList.Fields("Leavel_end_time")If vtempdata <> Empty ThenMaskLeavel_end_time.Text = Format(vtempdata, "yyyy-mm-dd")ElseMaskLeavel_end_time.Text = " - - "End IfEnd If
ElseCall DetialClear
End If
End Sub