刘春东 张东辉 戴美魁 霍珍珍 刘 洋
(河北建筑工程学院,河北 张家口075000)
外聘教师工资管理是一项琐碎、复杂又十分细致的工作,不允许发生差错.最初的工资统计和发放都是使用人工方式处理,工作量大的时候,出现错误的机率也随之升高,花费财务人员大量的时间,而且往往由于抄写不慎,或者由于计算的疏忽,出现工资发放错误的现象.同时工资的发放具有较强的时间限制,必须严格按照学校规定的时间完成计算和发放工作.正是外聘教师工资管理的这种规律性、复杂性、时间性,使得外聘教师工资管理计算机化成为可能.外聘教师工资管理系统就是使用电脑代替大量的人工统计和计算,完成众多企业工资信息的处理,同时使用电脑还可以安全地、完整地保存大量的工资记录.
1)系统功能分析
根据外聘教师情况及实现目标,系统功能模块如图1所示.
图1 系统功能模块框图
系统最终实现的主要功能如下:
(1)系统模块设置:实现系统的登录,及密码修改.
(2)外聘教师个人信息管理部分:实现外聘教师个人基本信息录入、修改及查询功能.
(3)外聘教师工资信息设置模块:包括设置外聘教师每课时工资、月发放工资及个人所得税,实现外聘教师工资的计算功能.
(4)系统信息设置模块:包括用户的密码信息等,实现系统的密码修改.
2)“主窗体”模块设计
主窗体设计的界面首先通过设计向导,设计出符合Windows使用习惯的主窗体,然后通过菜单编辑器对主窗体进行编辑添加系统需要的菜单选项.主窗体主要由系统、数据、查询和报表四个主模块组成,如图2所示.在各模块中有相应的窗体以满足系统的需求.
图2 “主窗体”模块
3)“外聘教师基本信息”窗体设计
该窗体需要实现三个功能:添加外聘教师的个人基本资料、聘任部门、聘期、聘期内所教课程、学时、实验、课设、毕设等相关信息;对现有外聘教师的基本信息进行查询、编辑、删除;增加新的外聘教师信息;并将这些信息存入数据库.在该窗体中,需要在窗体中添加ADO控件,使用ADO对象链接数据库,对数据库进行相应的操作,如图3所示.部分程序清单如下:
图3 “外聘教师基本信息”窗体模块
Dim iID As Integer,bAdd As Boolean
Private IsConnect As Boolean'标记数据库是否连接
Private cn As ADODB.Connection'连接数据库的Connection对象
Private rs As ADODB.Recordset'保存结果集的Recordset对象
Public strSQL As String'保存执行SQL语句的字符串
Public Conn As String'连接字符串
Public strDB As String'数据库名称
Private Sub Adodc1_Click()
End Sub
…
Public Function QueryExt(ByVal strSQLstmt As String)As ADODB.Recordset'执行数据库查询语句
Dim rst As New ADODB.Recordset
Connect'连接到数据库
Set rst.ActiveConnection=cn'设置rst的ActiveConnection属性,指定与其关联的数据库连接
rst.CursorType=adOpenDynamic'设置游标类型
rst.LockType=adLockOptimistic'设置锁定类型
rst.Open strSQLstmt'打开记录集
Set QueryExt=rst'返回记录集
End Function
4)“工资查询报表”窗体设计
在该窗体中,可以实现外聘教师的工资查询,如应发工资,实发工资,税后每月应发工资等.还可以将工资导出成Excel表格,如图4,5所示.在该窗体中,主要是由ADODC1控件和DataGrid控件组成,ADODC1控件主要是用于连接数据库,可以对数据库进行查询.DataGrid主要是显示想要的数据.
图4 外聘教师工资导出窗体
图5 外聘教师工资导出到Excel
部分程序清单如下:
Option Explicit
Dim i,j,k As Integer
Dim xlapp As Variant
Dim xlBook As Variant
Dim xlSHEET As Variant
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim strSQL2As String
Dim IsConnect As Boolean
Private Sub cmbPQ_Change()
rs="select distinct from工资where聘期="+"'"+cmbPQ.Value+"'group by聘期"
Adodc1.Refresh
Set DataGrid1.DataSource=rs
DataGrid.Refresh
End Sub
…
Public Function QueryExt(ByVal strSQLstmt As String)As ADODB.Recordset'执行数据库查询语句
Dim rst As New ADODB.Recordset
Connect'连接到数据库
Set rst.ActiveConnection=cn
'设置rst的ActiveConnection属性,指定与其关联的数据库连接
rst.CursorType=adOpenDynamic'设置游标类型
rst.LockType=adLockOptimistic'设置锁定类型
rst.Open strSQLstmt'打开记录集
Set QueryExt=rst'返回记录集
End Function
[1]周绪,管丽娜.白海波.Access 2000中文版入门与提高.北京:清华大学出版社,2003.2
[2]刘韬等.Visual Basic 6.0数据库系统开发实例导航.北京:人民邮电出版社,2002.8
[3]沈洪,施明利,等.VB程序设计.北京:清华大学出版社,2010.8
[4]杨忠宝,康顺哲.VB语言程序设计教程.北京:人民邮电出版社,2010.11