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