劉春東 張東輝 戴美魁 霍珍珍 劉 洋
(河北建筑工程學(xué)院,河北 張家口075000)
外聘教師工資管理是一項(xiàng)瑣碎、復(fù)雜又十分細(xì)致的工作,不允許發(fā)生差錯(cuò).最初的工資統(tǒng)計(jì)和發(fā)放都是使用人工方式處理,工作量大的時(shí)候,出現(xiàn)錯(cuò)誤的機(jī)率也隨之升高,花費(fèi)財(cái)務(wù)人員大量的時(shí)間,而且往往由于抄寫不慎,或者由于計(jì)算的疏忽,出現(xiàn)工資發(fā)放錯(cuò)誤的現(xiàn)象.同時(shí)工資的發(fā)放具有較強(qiáng)的時(shí)間限制,必須嚴(yán)格按照學(xué)校規(guī)定的時(shí)間完成計(jì)算和發(fā)放工作.正是外聘教師工資管理的這種規(guī)律性、復(fù)雜性、時(shí)間性,使得外聘教師工資管理計(jì)算機(jī)化成為可能.外聘教師工資管理系統(tǒng)就是使用電腦代替大量的人工統(tǒng)計(jì)和計(jì)算,完成眾多企業(yè)工資信息的處理,同時(shí)使用電腦還可以安全地、完整地保存大量的工資記錄.
1)系統(tǒng)功能分析
根據(jù)外聘教師情況及實(shí)現(xiàn)目標(biāo),系統(tǒng)功能模塊如圖1所示.
圖1 系統(tǒng)功能模塊框圖
系統(tǒng)最終實(shí)現(xiàn)的主要功能如下:
(1)系統(tǒng)模塊設(shè)置:實(shí)現(xiàn)系統(tǒng)的登錄,及密碼修改.
(2)外聘教師個(gè)人信息管理部分:實(shí)現(xiàn)外聘教師個(gè)人基本信息錄入、修改及查詢功能.
(3)外聘教師工資信息設(shè)置模塊:包括設(shè)置外聘教師每課時(shí)工資、月發(fā)放工資及個(gè)人所得稅,實(shí)現(xiàn)外聘教師工資的計(jì)算功能.
(4)系統(tǒng)信息設(shè)置模塊:包括用戶的密碼信息等,實(shí)現(xiàn)系統(tǒng)的密碼修改.
2)“主窗體”模塊設(shè)計(jì)
主窗體設(shè)計(jì)的界面首先通過設(shè)計(jì)向?qū)?,設(shè)計(jì)出符合Windows使用習(xí)慣的主窗體,然后通過菜單編輯器對(duì)主窗體進(jìn)行編輯添加系統(tǒng)需要的菜單選項(xiàng).主窗體主要由系統(tǒng)、數(shù)據(jù)、查詢和報(bào)表四個(gè)主模塊組成,如圖2所示.在各模塊中有相應(yīng)的窗體以滿足系統(tǒng)的需求.
圖2 “主窗體”模塊
3)“外聘教師基本信息”窗體設(shè)計(jì)
該窗體需要實(shí)現(xiàn)三個(gè)功能:添加外聘教師的個(gè)人基本資料、聘任部門、聘期、聘期內(nèi)所教課程、學(xué)時(shí)、實(shí)驗(yàn)、課設(shè)、畢設(shè)等相關(guān)信息;對(duì)現(xiàn)有外聘教師的基本信息進(jìn)行查詢、編輯、刪除;增加新的外聘教師信息;并將這些信息存入數(shù)據(jù)庫.在該窗體中,需要在窗體中添加ADO控件,使用ADO對(duì)象鏈接數(shù)據(jù)庫,對(duì)數(shù)據(jù)庫進(jìn)行相應(yīng)的操作,如圖3所示.部分程序清單如下:
圖3 “外聘教師基本信息”窗體模塊
Dim iID As Integer,bAdd As Boolean
Private IsConnect As Boolean'標(biāo)記數(shù)據(jù)庫是否連接
Private cn As ADODB.Connection'連接數(shù)據(jù)庫的Connection對(duì)象
Private rs As ADODB.Recordset'保存結(jié)果集的Recordset對(duì)象
Public strSQL As String'保存執(zhí)行SQL語句的字符串
Public Conn As String'連接字符串
Public strDB As String'數(shù)據(jù)庫名稱
Private Sub Adodc1_Click()
End Sub
…
Public Function QueryExt(ByVal strSQLstmt As String)As ADODB.Recordset'執(zhí)行數(shù)據(jù)庫查詢語句
Dim rst As New ADODB.Recordset
Connect'連接到數(shù)據(jù)庫
Set rst.ActiveConnection=cn'設(shè)置rst的ActiveConnection屬性,指定與其關(guān)聯(lián)的數(shù)據(jù)庫連接
rst.CursorType=adOpenDynamic'設(shè)置游標(biāo)類型
rst.LockType=adLockOptimistic'設(shè)置鎖定類型
rst.Open strSQLstmt'打開記錄集
Set QueryExt=rst'返回記錄集
End Function
4)“工資查詢報(bào)表”窗體設(shè)計(jì)
在該窗體中,可以實(shí)現(xiàn)外聘教師的工資查詢,如應(yīng)發(fā)工資,實(shí)發(fā)工資,稅后每月應(yīng)發(fā)工資等.還可以將工資導(dǎo)出成Excel表格,如圖4,5所示.在該窗體中,主要是由ADODC1控件和DataGrid控件組成,ADODC1控件主要是用于連接數(shù)據(jù)庫,可以對(duì)數(shù)據(jù)庫進(jìn)行查詢.DataGrid主要是顯示想要的數(shù)據(jù).
圖4 外聘教師工資導(dǎo)出窗體
圖5 外聘教師工資導(dǎo)出到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'執(zhí)行數(shù)據(jù)庫查詢語句
Dim rst As New ADODB.Recordset
Connect'連接到數(shù)據(jù)庫
Set rst.ActiveConnection=cn
'設(shè)置rst的ActiveConnection屬性,指定與其關(guān)聯(lián)的數(shù)據(jù)庫連接
rst.CursorType=adOpenDynamic'設(shè)置游標(biāo)類型
rst.LockType=adLockOptimistic'設(shè)置鎖定類型
rst.Open strSQLstmt'打開記錄集
Set QueryExt=rst'返回記錄集
End Function
[1]周緒,管麗娜.白海波.Access 2000中文版入門與提高.北京:清華大學(xué)出版社,2003.2
[2]劉韜等.Visual Basic 6.0數(shù)據(jù)庫系統(tǒng)開發(fā)實(shí)例導(dǎo)航.北京:人民郵電出版社,2002.8
[3]沈洪,施明利,等.VB程序設(shè)計(jì).北京:清華大學(xué)出版社,2010.8
[4]楊忠寶,康順哲.VB語言程序設(shè)計(jì)教程.北京:人民郵電出版社,2010.11