顧榮慶 劉詠梅
摘 要: 隨著時(shí)代的發(fā)展,特別是自教育部要求實(shí)行學(xué)生學(xué)籍電子注冊(cè)制度以來(lái),對(duì)學(xué)籍管理工作提出了更高的準(zhǔn)確性要求,為了能夠更高效、更準(zhǔn)確地做好學(xué)籍管理及電子注冊(cè)工作,設(shè)計(jì)了基于Visual Foxpro 數(shù)據(jù)庫(kù)技術(shù)的學(xué)生學(xué)籍異動(dòng)信息管理系統(tǒng)進(jìn)行日常的學(xué)籍管理及學(xué)籍電子注冊(cè)工作。該系統(tǒng)與學(xué)校教務(wù)管理系統(tǒng)無(wú)縫鏈接,極大地方便了工作,提高了工作效率,并確保了學(xué)籍管理工作的規(guī)范與準(zhǔn)確性,學(xué)籍電子注冊(cè)數(shù)據(jù)與校學(xué)籍?dāng)?shù)據(jù)的一致、完備性。
關(guān)鍵詞: 數(shù)據(jù)庫(kù)技術(shù) 學(xué)籍管理 應(yīng)用
高等學(xué)校新生學(xué)籍電子注冊(cè)是完善高等教育學(xué)歷證書(shū)電子注冊(cè)制度的一項(xiàng)重要工作,是加強(qiáng)高等學(xué)校招生行為監(jiān)督,保障高等教育改革健康發(fā)展的需要。學(xué)籍電子注冊(cè)與學(xué)歷證書(shū)電子注冊(cè)相銜接,經(jīng)過(guò)學(xué)籍電子注冊(cè)的學(xué)生獲得的畢業(yè)證書(shū)才能進(jìn)行學(xué)歷證書(shū)電子注冊(cè)[1]。學(xué)籍管理是一個(gè)學(xué)校不可或缺的組成部分,它對(duì)于學(xué)校的決策者和管理者來(lái)說(shuō)都非常重要,而且好的學(xué)籍管理系統(tǒng)應(yīng)該能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸牟樵兪侄巍km然一直以來(lái)高校學(xué)籍管理注重學(xué)籍?dāng)?shù)據(jù)的信息化管理,但對(duì)于學(xué)籍管理數(shù)據(jù)信息采集工作,由于需求的多樣性,很多學(xué)校仍使用傳統(tǒng)人工的方式管理,顯而易見(jiàn),這種管理方式存在許多缺點(diǎn),如效率低、準(zhǔn)確性差,時(shí)間長(zhǎng)了,將產(chǎn)生大量檔案文件,這給查找、更新和維護(hù)都帶來(lái)了不少困難。學(xué)籍管理者熟練使用計(jì)算機(jī)軟件,輔助教學(xué)管理,顯得越來(lái)越重要。
Visual Foxpro是Microsoft公司推出的數(shù)據(jù)庫(kù)開(kāi)發(fā)軟件,用它來(lái)開(kāi)發(fā)桌面數(shù)據(jù)庫(kù)程序,既簡(jiǎn)單又方便。在桌面型數(shù)據(jù)庫(kù)應(yīng)用中,它處理速度極快,具有良好的兼容性、真正的可編譯性和較強(qiáng)的安全性,而且可以與OFFICE軟件進(jìn)行數(shù)據(jù)交互,對(duì)于學(xué)籍管理中的數(shù)據(jù)處理及格式化報(bào)表生成簡(jiǎn)單易上手。
1.學(xué)籍異動(dòng)數(shù)據(jù)采集
1.1傳統(tǒng)方式采集
學(xué)籍管理是高校學(xué)生管理的重要組成部分,而學(xué)籍異動(dòng)處理則是對(duì)在籍學(xué)生學(xué)籍異動(dòng)信息的變更,變更準(zhǔn)確與否無(wú)論對(duì)學(xué)校管理還是對(duì)學(xué)生個(gè)人的學(xué)籍登記狀況都非常重要。目前,大部分學(xué)校學(xué)生學(xué)籍管理都實(shí)現(xiàn)了軟件管理,但對(duì)于學(xué)生異動(dòng)數(shù)據(jù)采集仍采用手工錄入或填涂機(jī)讀卡等形式,這些采集方法一般是手工操作學(xué)生信息的重新采集,而且由于學(xué)籍信息內(nèi)容繁多、信息量大,造成效率低下,不能完全保證采集數(shù)據(jù)準(zhǔn)確與錄取信息一致,產(chǎn)生很多檔案文件難以管理,很難適應(yīng)學(xué)籍、學(xué)歷電子注冊(cè)制度的要求。
1.2利用數(shù)據(jù)庫(kù)技術(shù)采集
借助VISUAL FOXPRO這個(gè)強(qiáng)大的桌面數(shù)據(jù)庫(kù)軟件,我們可以直接從學(xué)籍?dāng)?shù)據(jù)庫(kù)中獲取學(xué)生的基本信息,并通過(guò)與學(xué)籍?dāng)?shù)據(jù)庫(kù)的交互變更需要異動(dòng)的信息,從而高效準(zhǔn)確地完成學(xué)籍異動(dòng)工作。
1.3實(shí)現(xiàn)
*!*數(shù)據(jù)庫(kù)連接:
con=SQLSTRINGCONNECT("DRIVER={SQLServer};Server=127.0.0.1;Uid=sa;pwd=test;database=xjsjk")
*!*學(xué)籍異動(dòng)信息更新
Sqltemp=sqlexec(nhandle,"SELECT xh,ydxx FROM xjxxb where xh=?xh","temp")
sele temp
cursorsetprop("tables","xjxxb","temp")&&設(shè)置臨時(shí)表的更新目標(biāo)表
cursorsetprop("keyfieldlist",′xh′,"temp")&&設(shè)置臨時(shí)表的關(guān)鍵字
cursorsetprop("updatablefieldlist","ydxx","temp")&&設(shè)置臨時(shí)表的更新字段
cursorsetprop("updatenamelist","xh,xjxxb.xh,ydxx xjxxb.ydxx","temp")&&&用temp中的相應(yīng)字段更新
cursorsetprop("sendupdates",.t.,"temp")&&設(shè)置為可更新
cursorsetprop("wheretype",2,"temp")
cursorsetprop("buffering",5,"temp")&&設(shè)置表緩沖
UPDATE temp SET ydxx=”復(fù)學(xué)”
tableupdate(1,.t.,"temp")
2.數(shù)據(jù)報(bào)表
2.1難點(diǎn)
學(xué)籍管理工作中會(huì)形成很多受理單,受理單的數(shù)據(jù)信息可以直接從數(shù)據(jù)庫(kù)中獲取,Visual Foxpro有強(qiáng)大的報(bào)表設(shè)計(jì)器,報(bào)表是Visual Foxpro中的一種數(shù)據(jù)組織形式,可以利用報(bào)表把從數(shù)據(jù)庫(kù)表中提取出的數(shù)據(jù)打印出來(lái)。報(bào)表從數(shù)據(jù)源中提取數(shù)據(jù),并按照布局定義的位置和格式輸出數(shù)據(jù)形成格式化文本打印。但是學(xué)籍管理工作中格式化的報(bào)表文件多種多樣,比如休學(xué)、降級(jí)、退學(xué)等學(xué)籍異動(dòng)產(chǎn)生的文件各不一樣,特別是形成的需要各部門(mén)流轉(zhuǎn)的“離(回)校手續(xù)單”更是不同,因?yàn)闋可娴牟块T(mén)不同,流轉(zhuǎn)的順序更是不同。若是以每種報(bào)表文件形成格式化文本,那么需要形成若干品種,如果以后發(fā)生變更,維護(hù)就更加不易。
2.2通用型報(bào)表文件
鑒于以上原因,嘗試設(shè)計(jì)一種通用型報(bào)表文件。設(shè)計(jì)統(tǒng)一報(bào)表模版,統(tǒng)一模板基礎(chǔ)數(shù)據(jù)表。生成時(shí),利用變量和表達(dá)式表示報(bào)表模板中的域控件,變量的值由用戶在表單中通過(guò)選擇和輸入信息決定,表達(dá)式在報(bào)表模板中根據(jù)表單中得到的變量表示[2]。先根據(jù)學(xué)生異動(dòng)數(shù)據(jù)信息和統(tǒng)一模板數(shù)據(jù)表兩者生成異動(dòng)數(shù)據(jù)的數(shù)據(jù)表,從而與統(tǒng)一報(bào)表模板形成對(duì)應(yīng)的格式化報(bào)表。
2.3實(shí)現(xiàn)
Visual Foxpro所提供的報(bào)表設(shè)計(jì)器功能強(qiáng)大,而且提供所見(jiàn)所得的報(bào)表預(yù)覽,我們可以很方便地通過(guò)Visual Foxpro的報(bào)表設(shè)計(jì)器設(shè)計(jì)處統(tǒng)一報(bào)表模板,關(guān)鍵是數(shù)據(jù)部分,做如下設(shè)計(jì):
首先根據(jù)內(nèi)容需要設(shè)計(jì)基礎(chǔ)數(shù)據(jù)表(部門(mén)信息)
字段“校內(nèi)”“休學(xué)”“退學(xué)”分別存儲(chǔ)對(duì)應(yīng)異動(dòng)類(lèi)型所涉及的字段,其他字段分別存儲(chǔ)各部門(mén)的基礎(chǔ)信息。比如部門(mén)名、辦公地點(diǎn)、備注信息(B1,B2)、流程流轉(zhuǎn)順序(o1,o2),通過(guò)這張表及學(xué)生的基礎(chǔ)信息和異動(dòng)信息可以分門(mén)別類(lèi)地形成異動(dòng)數(shù)據(jù),從而通過(guò)模板形成對(duì)應(yīng)的流轉(zhuǎn)單手續(xù)材料。
SELECT ydlx FROM xjyddjb WHERE ALLTRIM(xjyddjb.xh)=ALLTRIM(jbxxb.xh) inTO CURSOR tmydlx
cydlx=ICASE(INLIST(ALLTRIM(tmydlx.ydlx),"休學(xué)","保留學(xué)籍"),"休學(xué)
",INLIST(ALLTRIM(tmydlx.ydlx),′復(fù)學(xué)′,′轉(zhuǎn)專業(yè)′,′不升級(jí)′),"校內(nèi)
",ALLTRIM(tmydlx.ydlx)="退學(xué)","退學(xué)")&&異動(dòng)類(lèi)型
SELECT icase("O1"$&cydlx,O1,"O2"$&cydlx,O2,"")AS
id,gzbm,bgdd,icase("B1"$&cydlx,B1,"B2"$&cydlx,B2,"")AS B FROM gzbmb WHERE
&cydlx<>"F"ORDER BY id INTO CURSOR tmpgzbmb&&異動(dòng)類(lèi)型對(duì)應(yīng)列字段
SELECT xjyddjb.*,tmpgzbmb.*FROM xjyddjb,tmpgzbmb WHERE
ALLTRIM(xjyddjb.xh)=ALLTRIM(jbxxb.xh) INTO CURSOR tmpgzbmb
3.公文文件
學(xué)籍管理中形成一些流程性文件,流程性文件有固定格式,比如上一節(jié)說(shuō)到的流程單等。這些文件通常是固化的格式文件,可以通過(guò)Visual Foxpro報(bào)表設(shè)計(jì)器實(shí)現(xiàn)。但有些文件有些特殊需求,比如公文文件,同樣可以通過(guò)VISUAL FOXPRO報(bào)表設(shè)計(jì)器實(shí)現(xiàn),但是公文有其特殊的格式排版要求,而且很多時(shí)候有臨時(shí)修改需求,而報(bào)表一旦生成就不易修改。在Visual Foxpro中可以通過(guò)OLE服務(wù)程序調(diào)用Microsoft Excel(Word)進(jìn)行報(bào)表輸出,這樣的好處是可以允許用戶對(duì)生成的報(bào)表再編輯,進(jìn)行郵件傳遞等[3]。
Word即Microsoft Office Word。是微軟公司開(kāi)發(fā)的一個(gè)文字處理器應(yīng)用程序,因其具有強(qiáng)大的文字編輯功能為大家熟知??蓜?chuàng)建、編輯信件、報(bào)告、網(wǎng)頁(yè)或電子郵件中的文本和圖形。
我們利用Visual Foxpro進(jìn)行處理數(shù)據(jù),而利用WORD的預(yù)覽打印功能進(jìn)行報(bào)表打印,用Visual Foxpro“畫(huà)出”WORD公文并保存,隨時(shí)生成、隨時(shí)調(diào)用、隨時(shí)排版。
*!*生成退學(xué)報(bào)告
FUNCTION txbb
PARAMETERS xh,xm,xb,zy,nj
Wait"正在啟動(dòng)Word……"Window Nowait
WordApp=Createobject("Word.application")&&訪問(wèn)WORD
Wait"正在生成表格……"Window Nowait
WordApp.Visible=.F.
WordApp.Caption=′關(guān)于′+ALLTRIM(xm)+"申請(qǐng)退學(xué)的報(bào)告"
WordApp.Documents.Add
*定義全文字體及格式
WITH WordApp.Selection
.InsertAfter(CHR(13)+CHR(13)+CHR(13)+CHR(13)+′關(guān)于′+ALLTRIM(xm)+"申請(qǐng)退學(xué)的報(bào)告"+CHR(13)) &&插入文本
.InsertAfter(CHR(13)+"院長(zhǎng)辦公室:"+CHR(13)+CHR(13)) &&插入文本
.InsertAfter(allt("我院"+ALLTRIM(zy)+"專業(yè)"+ALLTRIM(nj)+"級(jí)學(xué)生"+ALLTRIM(xm)+",性別:"+ALLTRIM(xb)+",學(xué)號(hào):"+ALLTRIM(xh)+",現(xiàn)申請(qǐng)退學(xué)(學(xué)生退學(xué)申請(qǐng)及班主任的情況說(shuō)明附后),報(bào)學(xué)院審批。")) &&插入文本
.InsertAfter(CHR(13)+CHR(13)+CHR(13)+CHR(13)+CHR(13)+CHR(13)+"教務(wù)處"+CHR(13))
.InsertAfter(alltrim(str(year(DATE())))+"年"+alltrim(str(month(DATE())))+"月"+alltrim(str(day(DATE())))+"日"+CHR(13))
.Font.Size=16 && 指定字號(hào)
.ParagraphFormat.Alignment=3 && 設(shè)置對(duì)齊方式
.Font.Name="仿宋" && *設(shè)置字體
.ParagraphFormat.LineSpacing=20 && 行間距
.ParagraphFormat.FirstLineIndent=32 && 首行縮進(jìn)
ENDWITH
*定義標(biāo)題行
略
*定義受理單位
略
*定義落款
略
WordApp.ActiveDocument.SaveAs(′E:\學(xué)籍文檔\退學(xué)報(bào)告\′+′關(guān)于′+ALLTRIM(xm)+"申請(qǐng)退學(xué)的報(bào)告"+".doc")
WordApp.Documents.Close
WordApp.Quit
ENDFUNC
4.小結(jié)與展望
本學(xué)籍異動(dòng)管理系統(tǒng)具有精確性、穩(wěn)定性與通用性,可廣泛應(yīng)用于各類(lèi)型本??圃盒?,對(duì)學(xué)生異動(dòng)管理(轉(zhuǎn)班、轉(zhuǎn)校、休學(xué)、復(fù)學(xué))等多項(xiàng)異動(dòng)情況處理與查詢打印,有助于提高整個(gè)學(xué)校的學(xué)籍管理水平,保障學(xué)生日常管理和電子注冊(cè)制度的順利實(shí)施。
針對(duì)學(xué)籍管理中,學(xué)生和學(xué)校辦理學(xué)籍手續(xù)需要大量紙質(zhì)文件,其中少則一張,多則數(shù)張的手續(xù)單據(jù)上需要手寫(xiě)簽名才能完成辦理。這些流程中,打印、簽字過(guò)程繁瑣,而且紙張材料的存儲(chǔ)耗費(fèi)人力物力,保存、查閱都有非常大的難度??梢钥紤]進(jìn)一步整合資源數(shù)據(jù),嘗試?yán)矛F(xiàn)在的網(wǎng)絡(luò)條件和移動(dòng)終端采集電子簽名,簡(jiǎn)化流程,減少紙質(zhì)文檔,真正做到無(wú)紙化管理、注冊(cè)學(xué)籍。
參考文獻(xiàn):
[1]教育部高校學(xué)生司.教育部關(guān)于印發(fā)《普通高等學(xué)校新生學(xué)籍電子注冊(cè)暫行辦法》的通知(教學(xué)〔2007〕3號(hào)).中國(guó)高等教育學(xué)生信息網(wǎng).
[2]Visual Foxpro系統(tǒng)動(dòng)態(tài)數(shù)據(jù)報(bào)表程序設(shè)計(jì).計(jì)算機(jī)工程與應(yīng)用,2003.2.
[3]張洪舉,著.Visual Foxpro權(quán)威指南.電子工業(yè)出版社,2007.8:451-451.