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