馮迎春
(浙江商業(yè)職業(yè)技術學院,浙江杭州310053)
隨著IT技術的不斷普及,以關系數據庫為基礎的管理系統在日常工作中得以廣泛應用,各類管理系統的應用教學也逐漸成為高校專業(yè)課程教學的重要內容,但如何對該類教學結果進行判分成為一個難以解決的問題。
目前較常見的解決辦法有兩種:一種是通過開發(fā)模擬考試軟件進行判分,即虛擬某一管理系統的界面和功能,按指定步驟完成操作即判斷得分;另一種是專門開發(fā)某一管理系統的判分軟件,根據操作結果來判分。但這兩種方法均存在開發(fā)不易、靈活性差的問題。本文擬以用友U8的憑證和科目總賬為例,通過取自數據庫中的數據,利用EXCEL和VBA匹配學生結果和標準答案來完成這一判分過程。
為完成自動判分過程,設計了pf.xls、bz.xls和xs.xls三個工作簿,pf.xls為判分信息文件,bz.xls為標準答案,xs.xls為學生結果,三表結構如圖1、圖2、圖3。
1.判分信息文件:pf.xls
如圖1所示,該工作簿僅有main工作表,A列為學生姓名,C:H列為判分信息,其中D列為需判分的數據庫表名,F列為該項滿分值,G列為該表標準答案的總行數,H列為該表中需判分的列號。
圖1
2.標準答案文件:bz.xls
如圖2所示,該工作簿中的工作表與pf.xls中的D列相對應,如本例中有gl_accsum和gl_accvouch兩個工作表。各工作表中A列為姓名,B列為得分,C列為組合結果,從D列開始是取自標準答案的數據庫該表的內容,B和C列為空。
圖2
3.學生結果文件:xs.xls
如圖3所示,學生結果文件結構同標準答案文件,區(qū)別在于各表內容取自學生數據庫該表的內容。
圖3
1.取標準答案和學生結果
先根據pf.xls中D列中各表名,用SQL語句取出標準答案和學生結果形成bz.xls和xs.xls兩個工作簿(因各系統數據平臺各異,為節(jié)省篇幅,該部分程序略)。
2.處理標準答案
將bz.xls中各表的內容根據操作結果進行調整,把不構成判分的行刪除,有多種答案的情況增加相應行。將標準答案各表中判分總行數填入pf.xls的G列,該表總得分填入pf.xls的F列。如第2行的分數和得分點表示gl_accsum的標準答案中有55行,占總分的40分。
3.設置分值、判分列和判分項
將各表的判分列填入pf.xls的H列,以半角逗號間隔。如 “憑證”所對應H3的值“e,f,h,u,w,x”,表示根據gl_accvouch表中這6列數據判斷憑證結果的正確性。
4.用程序判分
在pf.xls中按ALT+F11進入VBE窗口后輸入判分程序代碼,執(zhí)行后在xs.xls中新增一張”判分”表,表中內容為各學生的分項得分和總分。結果見圖4。
圖4
1.簡單易用
本辦法主要利用EXCEL查找函數的功能進行判分,只要用VBA通過SQL語句將數據取到工作簿中,完成判分表中相關設置,利用上述代碼即可用本辦法完成判分功能。
2.靈活性強
上述判分代碼不受管理系統本身各表結構影響,具有通用性;同時需要進行判分的表、列和行均自行設計,可以根據需要隨時調整。
3.結果可逆
在xs.xls的判分表中有學生的各項得分,各分項表中有得分明細,從中可以了解和分析學生的錯誤題目及原因,從而有效保證了教學效果。
以上方法在EXCEL2003、EXCEL2010和用友U8環(huán)境下測試通過。