3.1.3工种表:
Job 字段名 数据类型 含义说明 空值情况 jobID Char(6) 工种编号 主键 jobname Varchar(20) 工种名称 不为空 deptid Char(6) 部门编号 不为空 salary money 基本工资 不为空 表3
3.1.4加班类型表(类型,加班名称,加班薪酬)
extraWorkType
字段名 数据类型 含义说明 空值情况 ewtypeID Char(3) 加班类型 主键 ewtypeName Char(20) 加班名称 不为空 ewtypePay number 加班薪酬 表4
3.1.5加班表(职工号,日期,加班类型,加班时间,加班津贴)
Extrawork
字段名 数据类型 含义说明 空值情况 empID Char(6) 员工编号 不为空 ewdate date 加班日期 不为空 ewtypeID Char(3) 加班类型 不为空 ewtime Number(2) 加班时间 不为空 ewpay Number 加班薪酬 表5
3.1.6考勤表(日期,职工编号,是否出勤)
Attendance
字段名 数据类型 含义说明 空值情况 Attdate Date 日期 不为空 empID Char(6) 职工编号 不为空 ifattd Char(1) 是否出勤 不为空
11
表6
3.1.7考勤类型表(出勤类型,出勤名字,扣除工资)
attendancetype
字段名 attID attName attSal
数据类型 char(3) char(20) number 表7
含义说明 出勤类型 出勤名字 扣除工资 空值情况 主键 第四章 系统模块的具体实现
4.1系统的主界面
企业人事管理系统的主界面采用多重窗体(MDI),使系统更加美观,方便实用.在登陆主界面之前,首先登记用户管理窗体:
用户登陆 用户名及密码 Y N 非法用户 正确 Y N
重新输入
进入主界面
退出
图9系统管理窗体
打开VB后,单击File|New Project菜单,在工程模版中选择Standard EXE,
12
将自动产生一个窗体,属性都是缺省设置。这里我们删除这个窗体,单击File|Save Project菜单,将这个工程项目命名为Renshi_MIS。
这个项目我们使用多文档界面,单击工具栏中的ADD MDI Form按扭,产生一个窗体。在窗体上添加所需控件。创建好的窗体如图10所示。
图10 系统的主界面
在主界面中,员工管理菜单是此系统的重要组成部份,其中包括4个主要功能模块:员工基本信息模块,员工考勤模块,员工评价模块和员工工资管理模块。
在编写程序的具体代码之前首先要创建公用模块,VB中可以用公用模块来存放整个工程项目公用的函数,过程和全局变量等。这样可以极大的提高代码的效率。在项目资源管理器中为项目添加一个Module,并保存就可以开始添加代码了。公用代码如下:
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(\UCase$(sTokens(0))) Then cnn.Execute SQL
MsgString = sTokens(0) & _ \Else
Set rst = New ADODB.Recordset
13
rst.Open Trim$(SQL), cnn, _ adOpenKeyset, _ adLockOptimistic Set ExecuteSQL = rst
MsgString = \查询到\条记录 \End If
ExecuteSQL_Exit: Set rst = Nothing Set cnn = Nothing Exit Function ExecuteSQL_Error:
MsgString = \查询错误: \Err.Description
Resume ExecuteSQL_Exit End Function
Public Function ConnectString() As String ConnectString = \End Function
以上两个函数代码分别用来完成执行各种SQL语句和连接数据库。
4.2员工基本信息模块
该模块主要完成员工基本信息的输入、查询与修改,它定义了三个主要窗口:信息添加窗口、复合查询窗口、员工信息列表窗口。 员工信息添加窗口用来添加员工个人信息,可供用户浏览查询及以记录为单
在窗体上放置多个文本框和下拉式列表框,用来输入员工个人基本信息,工作信息和其它信息;多个标签用来提示多个文本框所需要的内容。两个按钮用来确定是否添加员工信息。一个下拉列表框用来显示员工的性别。
员工基本信息中是以工号为主键,来识别表的唯一性。在员工性别录入中使用了ComboBox下拉列表控件,在载入窗体时程序将自动在两个下拉式文本框中添加内容,这样可以规范化输入内容,其中加入了”男” 、”女”。用户可以直接从下拉表中选择需要的输入条件。输入的出生日期按照YYYY-MM-DD的统一格式来录入。在备注文本编辑框中可以对窗体中没有提及到的一些员工信息进行编辑,让档案的录入更加完备、全面。当用户输写完信息后单击保存按扭,就将员工信息存储到后台的SQL SERVER数据库中。如果数据库中存在与此项添加的员工档案相同的数据,按确定后将弹出消息对话框”己存在此员工的信息”,提示用户己经存在此员工的信息,从而避免了相同员工信息的重复录入。
载入窗体时,将首先通过整型变量gintmode的值来判断是添加还是修改状态(1为添加,2为修改)。如果是添加状态,性别选择框将选择第一个;如果是修改状态,将选择显示当前的记录。
员工信息的添加窗口如图11:
14
图11 员工信息添加窗体
在员工信息模块中添加了一项查询功能,这样可以使用户更加方便的操作所需要信息,大大节约了搜索的时间。
查询功能使用复合查询的模式。分为按工号查询、按员工姓名查询和按员工部门查询。用户可以根据实际需要选择其中的一项或几项。首先点击要先择的CheckBox复选框控件,这时光标自动移动到它对应的文本框,只要在相应的文本框中输入要查找的内容,然后点击确定按扭即完成了此项操作,并以MSFlexGird列表的形式显示出数据。查询功能的另一个特点是如果用户对查询窗口不做任何操作,直接点击确定按扭,在查询结果的列表窗口中显示出所有员工的信息。
选择查询条件
输入查询的内容 N 开始查询? Y 清空查询条件 显示查询结果
再次查询?
返回主窗体
图12 查询功能的数据流程图
15