李 凌
(唐山師范學(xué)院 教務(wù)處,河北 唐山 063000)
學(xué)歷證書打印程序的開發(fā)
李 凌
(唐山師范學(xué)院 教務(wù)處,河北 唐山 063000)
利用Visual Basic在Access中開發(fā)了學(xué)歷證書的報表生成和打印程序,主要用于每年畢業(yè)生的畢業(yè)證、學(xué)位證打印工作。系統(tǒng)操作簡單,方便快捷。
Access;數(shù)據(jù)庫;報表;學(xué)歷證書
每年各高校臨近學(xué)生畢業(yè)的時候,都要頒發(fā)大量的畢業(yè)證書和學(xué)位證書。以唐山師范學(xué)院為例,2015年畢業(yè)生近6 000人,其中本科畢業(yè)生3 000多人,需要頒發(fā)畢業(yè)證近6 000份,學(xué)位證3 000多份,總計學(xué)歷證書打印近10 000份。如果僅依賴于人工書寫,工作量顯然過大。在這種情況下,為了提高工作效率,自主開發(fā)了學(xué)歷證書打印程序。
以畢業(yè)生注冊數(shù)據(jù)為基礎(chǔ)數(shù)據(jù),根據(jù)不同證書格式要求,完成畢業(yè)證、學(xué)位證以及畢業(yè)證明書的打印工作。
1.1 學(xué)歷證書模板
學(xué)歷證書模板為空白證書,需要在其上打印相關(guān)信息,在加蓋相關(guān)印章之后形成正式證書。圖1、圖2分別為畢業(yè)證書和學(xué)位證書模板。
1.2 模板數(shù)據(jù)生成
根據(jù)學(xué)歷證書模板,在數(shù)據(jù)庫中提取相關(guān)數(shù)據(jù),并按要求把數(shù)據(jù)庫中的數(shù)據(jù)格式轉(zhuǎn)換成模板要求的數(shù)據(jù)格式。圖3、圖4分別為系統(tǒng)生成的畢業(yè)證書和學(xué)位證書數(shù)據(jù)效果圖。
1.3 學(xué)歷證書打印
根據(jù)學(xué)歷證書模板,調(diào)整相關(guān)數(shù)據(jù)位置,力求證書
圖1 畢業(yè)證書模板
圖2 學(xué)位證書模板
圖3 系統(tǒng)生成的畢業(yè)證書數(shù)據(jù)效果圖
圖5 畢業(yè)證書效果圖
圖6 學(xué)位證書效果圖
打印效果美觀。圖5、圖6分別為畢業(yè)證書和學(xué)位證書打印效果圖。
學(xué)歷證書打印程序以Access為后臺數(shù)據(jù)庫,利用Access的報表功能設(shè)計證書打印內(nèi)容和格式。由于證書中的出生日期是以中文數(shù)字格式打印的,而出生日期在數(shù)據(jù)庫中是以數(shù)字存儲,類型為字符串,因此系統(tǒng)開發(fā)的重點就是把數(shù)字轉(zhuǎn)換為中文數(shù)字打印出來。
2.1 數(shù)據(jù)庫中數(shù)據(jù)表結(jié)構(gòu)
表1 系統(tǒng)數(shù)據(jù)結(jié)構(gòu)
2.2 報表設(shè)計
在Access報表中建立一個新報表,記錄源選擇Access數(shù)據(jù)庫中相應(yīng)的表,使數(shù)據(jù)和報表建立聯(lián)系[2]。
在報表主體中添加文本框,文本框的控件來源選擇記錄源中相應(yīng)字段。
自定義函數(shù)把數(shù)據(jù)庫中的出生日期轉(zhuǎn)換成中文日期,在相應(yīng)控件中綁定。
根據(jù)證書模板,調(diào)整報表中各控件的位置。如圖7所示。
圖7 系統(tǒng)設(shè)計界面
出生日期要在證書模板的相應(yīng)位置為中文年、月、日。在數(shù)據(jù)庫中出生日期是八位數(shù)字的字符串,前四位為出生年,中間兩位為月,后兩位為日,所以要在八位字符串中分別提取到年、月、日,通過自定義函數(shù)分別轉(zhuǎn)換為中文數(shù)字,在模版中顯示。
3.1 “年”的轉(zhuǎn)換
年的轉(zhuǎn)換相對簡單,只要提取出字符串中每個字符,用Case分支語句[4]對應(yīng)相應(yīng)中文數(shù)字即可。其代碼為:
在Chm(N1,N2,N3)過程中,N1為被提取的字符串,N2為在N1的第幾位開始提取,N3為提取的位數(shù)。CCN(RQ)過程是把取到的數(shù)字轉(zhuǎn)換為對應(yīng)的中文數(shù)字。
3.2 “月”的轉(zhuǎn)換
“月”轉(zhuǎn)換與“年”的轉(zhuǎn)換類似,把生日中的提取到的兩位月份數(shù)字通過Case分支語句轉(zhuǎn)換為相應(yīng)的中文數(shù)字,其代碼為:
3.3 “日”的轉(zhuǎn)換
“日”的轉(zhuǎn)換可以有兩種方法,第一種與月函數(shù)類似,利用Case分支語句,列出31條分支,分別對用日期,這種方法代碼過于冗長,也有局限性。所以采用了第二種方法,對不同形式的日期,分類處理,代碼如下:
在Access模板的控件中分別調(diào)用自定義提取年函數(shù)Chm(N1,N2,N3),提取月函數(shù)Chy(N1,N2,N3)和提取日函數(shù)Cht(N1,N2,N3)即可提取對應(yīng)的“年”“月”“日”。
該系統(tǒng)憑借Access報表的設(shè)計功能,利用Visual Basic程序語言,根據(jù)實際工作情況,自主開發(fā)。實現(xiàn)了學(xué)歷證書方便快捷的設(shè)計打印,極大地提高了工作效率,同時也被多個高校用于證書打印,受到好評。
[1] 向隅.數(shù)據(jù)庫基礎(chǔ)及應(yīng)用[M].北京:北京郵電大學(xué)出版社, 2008.
[2] 李春葆,曾平.Access數(shù)據(jù)庫程序設(shè)計[M].北京:清華大學(xué)出版社,2005:161-185.
[3] 劉甫迎,黨晉蓉.數(shù)據(jù)庫原理及CASE技術(shù)教程[M].北京:人民郵電出版社,2005.
[4] 尹毅峰.Visual Basic程序設(shè)計實用教程[M].重慶:西南師范大學(xué)出版社,2008:23-26,29-34.
(責(zé)任編輯、校對:田敬軍)
Development of Diploma Certificate Printing Program
LI Ling
(Department of Educational Administration, Tangshan Normal University, Tangshan 063000, China)
Degree certificate printing program, which is developed by the Visual Basic and used in Access, can be carried out in report generation and print, mainly for the annual graduation card and degree certificate printing work. The system is convenient.
Access; database; report; diploma certificate
TP311.52
A
1009-9115(2016)02-0065-04
10.3969/j.issn.1009-9115.2016.02.019
2016-02-19
李凌(1978-),男,河北唐山人,碩士,助教,研究方向為計算機(jī)。