劉太甫,戶曉艷
(黃岡職業(yè)技術(shù)學(xué)院,湖北黃岡438002)
高職院校學(xué)生管理工作錯(cuò)綜復(fù)雜,這是眾所周知的。作為管理者,在日常工作中常常需要利用Excel處理龐大的數(shù)據(jù),如對(duì)各種數(shù)據(jù)進(jìn)行整理、分析、統(tǒng)計(jì)、匯總等,若不小心而弄錯(cuò)一個(gè)地方,還得從頭再來(lái)。學(xué)生管理綜合測(cè)評(píng),是每所高校、每一學(xué)期都要進(jìn)行的。很多決策者和管理者習(xí)慣使用Excel對(duì)學(xué)生測(cè)評(píng)情況進(jìn)行管理。因是基于手工處理,所以存在工作量大、出錯(cuò)率高、保密性差、查找麻煩、檢索緩慢等弊端。再加上時(shí)間一長(zhǎng),將會(huì)產(chǎn)生大量的文件和數(shù)據(jù)。這對(duì)查找、更新和維護(hù)帶來(lái)不少困難,更不能準(zhǔn)確地反映學(xué)生的綜合素質(zhì),影響學(xué)生管理的效率。當(dāng)然,高??梢再?gòu)買完整的軟件,但它的經(jīng)費(fèi)、功能、后期開(kāi)發(fā)等各種問(wèn)題,難以實(shí)現(xiàn)資源的有效利用。所以,筆者認(rèn)為,為了能更好地利用Excel使各種數(shù)據(jù)一目了然,并能開(kāi)發(fā)高效、安全、數(shù)據(jù)共享的信息化平臺(tái),設(shè)計(jì)出穩(wěn)定、全面、有效而操作又簡(jiǎn)便的學(xué)生管理測(cè)評(píng)卡,則顯得尤為重要。
Excel中除了函數(shù)外,還有一種宏語(yǔ)言VBA(VisualBasic for Aopplication)。它是MOS office軟件內(nèi)置的編程語(yǔ)言,具有功能強(qiáng)大、面向?qū)ο?、使用?jiǎn)單、開(kāi)發(fā)效率高的特點(diǎn)[1],為廣大用戶提供一個(gè)新的、更高層次的二次平臺(tái)。通過(guò)宏語(yǔ)言編程技術(shù),使各種數(shù)據(jù)進(jìn)行規(guī)范管理、科學(xué)統(tǒng)計(jì)和快速查詢。只需輕點(diǎn)鼠標(biāo),就能完成一整天甚至數(shù)天都難以完成的任務(wù),從而讓管理者從繁瑣、重復(fù)、費(fèi)時(shí)費(fèi)工的辦公事務(wù)中解脫出來(lái),提高學(xué)生管理工作的效率和準(zhǔn)確性。
根據(jù)學(xué)生管理測(cè)評(píng)的具體情況,擬定設(shè)計(jì)原則、目標(biāo)、思路、功能劃分方案。
學(xué)生管理測(cè)評(píng)卡的開(kāi)發(fā),其目的是使學(xué)生管理工作進(jìn)一步規(guī)范化、制度化和程序化。結(jié)合綜合測(cè)評(píng)的要求,遵循的設(shè)計(jì)原則有:①開(kāi)放式結(jié)構(gòu)。②由不同層次的多模塊的子系統(tǒng)構(gòu)成。③可操作性強(qiáng),并有一定的改進(jìn)和更新功能,便于數(shù)據(jù)交流和信息共享,以適應(yīng)將來(lái)的需求。④能夠?yàn)橛脩籼峁┏渥愕男畔?、快捷的查詢和方便的?jì)算,以滿足實(shí)用性、可靠性和規(guī)范性。
為了充分保證學(xué)生綜合測(cè)評(píng)結(jié)果的準(zhǔn)確性、真實(shí)性,并能有效地對(duì)學(xué)生綜合素質(zhì),進(jìn)行科學(xué)測(cè)評(píng)和管理分析,快速、方便地實(shí)現(xiàn)學(xué)生測(cè)評(píng)的錄入、查詢、檢索、瀏覽、添加、刪除等功能。這是設(shè)計(jì)的總體目標(biāo),并且要求管理者能通過(guò)測(cè)評(píng)的項(xiàng)目,實(shí)現(xiàn)本項(xiàng)目的動(dòng)態(tài)性和自適應(yīng)性。
①制作學(xué)生管理測(cè)評(píng)卡,根據(jù)高校的辦學(xué)方針、學(xué)生的專業(yè)特征,結(jié)合Excel VBA的功能,首先設(shè)計(jì)數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)是建立基本的數(shù)據(jù)信息,是對(duì)于一個(gè)給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)模式,使其能夠有效地存儲(chǔ)數(shù)據(jù)記錄,并能滿足各種應(yīng)用需求[2]。②設(shè)計(jì)用戶界面,對(duì)用戶而言,界面的可用性和友好程度,直接影響著他們的情緒、檢索效率等等。因此,設(shè)計(jì)出界限分明、路徑明確、跳轉(zhuǎn)方便、建立切實(shí)有效的幫助系統(tǒng)是很關(guān)鍵的。③程序代碼編寫,使用VBA編程的主要工作是事件驅(qū)動(dòng)。設(shè)計(jì)消息響應(yīng)的子程序:即設(shè)計(jì)當(dāng)某對(duì)象發(fā)生某個(gè)事件(如:被單擊)時(shí)所做出的響應(yīng)。這種響應(yīng)又稱為事件過(guò)程。在事件過(guò)程中,編寫代碼來(lái)改變對(duì)象的屬性或調(diào)用對(duì)象的某個(gè)方法,從而達(dá)到消息響應(yīng)的目的[3]。
學(xué)生管理測(cè)評(píng)卡的主要功能模塊包括三個(gè)方面:
(1)系統(tǒng)設(shè)置模塊:主要對(duì)系統(tǒng)需要的基本數(shù)據(jù)進(jìn)行錄入、修改。
(2)綜合測(cè)評(píng)模塊:以設(shè)置的基本數(shù)據(jù)為基礎(chǔ),主要完成學(xué)生各項(xiàng)目的測(cè)評(píng),對(duì)已經(jīng)通過(guò)的項(xiàng)目進(jìn)行測(cè)評(píng)計(jì)算。
(3)查詢模塊:能夠查詢到所有學(xué)生的基本情況,如班級(jí)考勤、學(xué)生基本信息,測(cè)評(píng)結(jié)果(如圖1)。
圖1 學(xué)生管理測(cè)評(píng)卡功能劃分方案
設(shè)計(jì)學(xué)生管理測(cè)評(píng)卡,利用VBA技術(shù),借助數(shù)據(jù)庫(kù)、代碼的設(shè)計(jì)來(lái)實(shí)現(xiàn)。
主要使用存取數(shù)據(jù)源的COM組件ADO(ActiveX data obiects)來(lái)方便地對(duì)數(shù)據(jù)庫(kù)內(nèi)容進(jìn)行調(diào)取,采用VBA實(shí)現(xiàn)學(xué)生管理測(cè)評(píng)卡的頁(yè)面功能設(shè)計(jì),通過(guò)執(zhí)行SQL命令,進(jìn)行數(shù)據(jù)的錄入、修改、刪除、查詢、統(tǒng)計(jì)、瀏覽等常規(guī)的數(shù)據(jù)庫(kù)操作。
學(xué)生管理測(cè)評(píng)卡分別建立獨(dú)立的管理信息數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)中包含各種基礎(chǔ)信息數(shù)據(jù)表,各數(shù)據(jù)表間建立相應(yīng)的關(guān)聯(lián),如圖2所示。
圖2 數(shù)據(jù)庫(kù)設(shè)計(jì)示意圖
由于篇幅有限,筆者簡(jiǎn)單介紹學(xué)生管理測(cè)評(píng)卡中利用VBA編寫的部分代碼設(shè)計(jì)。
1.登錄代碼
Private Sub CommandButton1_click()
loginsucceeded=False
Me.Hide
End Sub
Private Sub CommandButton2_Click()
If TextBox1="hxy"And TextBox2="123456"Then
loginsucceeded=True
Me.Hide
UserForm2.Show
Else
MsgBox"密碼不正確,請(qǐng)重試",,"登錄"
End If
End Sub
2.基本信息輸入代碼
Private Sub CommandButton1_click()
xskq1.recordset.movefirst
現(xiàn)代生態(tài)農(nóng)業(yè)研究所內(nèi),安徽科技學(xué)院科研處副處長(zhǎng)張從宇和同事正分析農(nóng)作物生長(zhǎng)數(shù)據(jù),“規(guī)?;?、標(biāo)準(zhǔn)化、信息化是現(xiàn)代農(nóng)業(yè)發(fā)展的方向,希望依托小崗的品牌,利用現(xiàn)代農(nóng)業(yè)科技,推廣全新的農(nóng)業(yè)種養(yǎng)模式。”
do while not xskq1.recordset.eof
if lcase(xskq1.recordset.fields(0).value)=lcase(textbox1.text)then
textbox2.text=xskq1.recordset.fields(0).value
textbox3.text=xskq1.recordset.fields(1).value
textbox4.text=xskq1.recordset.fields(2).value
label5.caption="status:found......"
exit sub
xskq1.recordset.movenext
loop
textbox2.text=""
textbox3.text=""
textbox4.text=""
end sub
3.排名輸入代碼
Private Sub CommandButton1_click()
xszb2.recordset.movefirst
do while not xszb2.recordset.eof
if lcase(xszb2.recordset.fields(0).value)=lcase(textbox3.text)then
textbox1.text=xszb2.recordset.fields(0).value
textbox2.text=xszb 2.recordset.fields(1).value
ComboBox1=xszb 2.recordset.fields(2).value
labe20.caption="status:found......"
exit sub
end if
end sub
4.綜合測(cè)評(píng)瀏覽代碼
Private Sub CommandButton1_click()
zhcp1.recordset.delete
zhcp1.recordset.movenext
if zhcp1.recordset.eof then
zhcp1.recordset.moveprevious
end if
end sub
運(yùn)行高校學(xué)生管理測(cè)評(píng)卡,以不同用戶登錄,當(dāng)密碼輸入正確后,進(jìn)入主窗體,它包括基本信息、查詢記錄、綜合測(cè)評(píng)三個(gè)子窗體。根據(jù)用戶需求,點(diǎn)擊相應(yīng)信息。例如,可以點(diǎn)擊基本信息,進(jìn)入學(xué)生基本信息情況,頁(yè)面效果如圖3所示。它可以對(duì)數(shù)據(jù)庫(kù)信息進(jìn)行新增、刪除和修改,也可以通過(guò)查詢,查看學(xué)生記錄。
圖3 高校學(xué)生管理測(cè)評(píng)卡基本信息界面
利用Excel VBA的功能,依托存取數(shù)據(jù)庫(kù)源COM組件的ADO,按照高校學(xué)生管理模式進(jìn)行設(shè)計(jì),使系統(tǒng)具備很好的開(kāi)放性和可擴(kuò)展性,能夠高效地適應(yīng)學(xué)生管理不斷變化的需求,并充分體現(xiàn)VBA的優(yōu)勢(shì)。學(xué)生管理測(cè)評(píng)結(jié)果的準(zhǔn)確性、可靠性和便捷性,是實(shí)現(xiàn)學(xué)生管理流程化、規(guī)范化和制度化的目標(biāo)。基于VBA界面的用戶端操作方便,查詢、統(tǒng)計(jì)、添加、刪除信息快捷,極大地提高學(xué)生管理工作效率。在利用Excel VBA設(shè)計(jì)學(xué)生管理測(cè)評(píng)卡時(shí),要注意以下三個(gè)問(wèn)題:
(1)編碼的統(tǒng)一性。在利用VBA設(shè)計(jì)代碼時(shí),最好用電腦容易識(shí)別的數(shù)字符號(hào)、字母等代碼表示出來(lái)。這樣,更能促進(jìn)系統(tǒng)內(nèi)部數(shù)據(jù)的規(guī)范化管理,加快處理速度,節(jié)省存貯空間。
(2)代碼的簡(jiǎn)化性。最好讓代碼長(zhǎng)度縮短,易讀易懂。當(dāng)編寫完一個(gè)程序后,運(yùn)行結(jié)果是正確的,但程序運(yùn)行得很慢,甚至有的程序等待幾分鐘后才運(yùn)行出結(jié)果。這時(shí)就可以通過(guò)簡(jiǎn)化代碼,提高程序的性能。比如:可以刪除程序中無(wú)關(guān)的代碼;可以將通用過(guò)程編寫的代碼改為用子過(guò)程來(lái)調(diào)用;可以將過(guò)程中的長(zhǎng)對(duì)象用設(shè)置對(duì)象變量引用,以上都是簡(jiǎn)化代碼的方法。
(3)代碼的保護(hù)性。由于測(cè)評(píng)卡使用對(duì)象是教師和學(xué)生干部,如果學(xué)生能輕易地調(diào)取Excel VBA代碼,掌握了驗(yàn)證原理,那么就可能根據(jù)代碼原理修改數(shù)據(jù),則造成信息的不真實(shí)和不準(zhǔn)確性。因此,需要保護(hù)VBA代碼,使其不能被查閱和篡改??梢允褂肰BA窗口菜單“工具”-“project屬性”-“保護(hù)”來(lái)保護(hù)VBA代碼。
[1]成必成,胡平建.高校學(xué)生工作中應(yīng)用Excel的三種境界[J].和田師范??茖W(xué)校學(xué)報(bào),2012,29(3):170.
[2]VBA 語(yǔ)言的特點(diǎn)[EB/OL].http://wenku.baidu.com/view/f28109659b6648d7c1c74657.html.
[3]朱思峰.使用VB快速開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)[J].現(xiàn)代電子技術(shù),2004,27(18).