陳偉
摘 要 本文是ACCESS軟件的一個應用實例。利用ACCESS軟件,通過簡單設置,編寫少量代碼,實現(xiàn)了錄取通知書的打印功能,方便快速而又不失專業(yè),應用效果很好。
關鍵詞 通知書打印 ACCESS編程 ACCESS軟件應用
中圖分類號:TP311 文獻標識碼:A
學校招生錄取工作中,打印錄取通知書是一件必須而繁瑣且易出錯的工作,用WORD的“郵件合并”或者編寫專門的程序都可以實現(xiàn),各有特點。這兒介紹一種較為容易而且效果很好的方法:用Office辦公套件中的ACCESS來實現(xiàn)錄取通知書的打印。
1準備原始數(shù)據(jù)
建立一個專門的文件夾,如“D:\錄取通知書”,將學生錄取信息的電子表格文件(T_TDD.xls)拷貝到該文件夾下;在此文件夾下再建一文件夾“PHO”,將學生照片拷貝到此文件夾下。
2新建ACCESS文件(通知書.mdb)
(1)鏈接表TDD,從學生錄取信息電子表格T_TDD.xls中鏈接;
(2)表SPEC,包含三個字段:ID(專業(yè)代碼)、SPEC(專業(yè)名稱)、DEPT(系部);
(3)窗體TZ,實現(xiàn)學生錄取信息的查看、打印控制等;
(4)報表TZS,確定通知書打印的內(nèi)容與格式。
3窗體TZ的設計
3.1添加控件
(1)列表框1個:lmd(學生名單);
(2)圖像1個:img(相片);
(3)標簽4個:XM(姓名)、KSH(報名號)、DEPT(系部)、SPEC(專業(yè));
(4)按鈕4個:退出、預覽、打印、下一個;
(5)列表框lmd(學生名單)設置為:行來源類型:表/查詢,行來源:SELECT TDD.KSH, TDD.XM, TDD.LQZY FROM TDD,綁定列:1。
3.2代碼編寫
(1)按鈕“下一個”的單擊事件代碼:
Dim iSele As Integer
iSele = lmd.ListIndex + 1
If iSele < lmd.ListCount Then
lmd.Value = lmd.ItemData(lmd.ListIndex + 1)
lmd_AfterUpdate
End If
(2)列表框lmd(學生名單)的事件“更新后(lmd_AfterUpdate)”代碼:
KSH.Caption = "報名號: " & lmd.Value
XM.Caption = "姓 名: " & lmd.Column(1)
Set rs1=CurrentDb.OpenRecordset("select spec,dept from spec where id='"&lmd.Column(2)&"'")
If Not rs1.EOF Then
DEPT.Caption = "系 部: " & rs1!DEPT
SPEC.Caption = "專 業(yè): " & rs1!SPEC
Else
DEPT.Caption = "系 部: "
SPEC.Caption = "專 業(yè): 錯誤,請檢查專業(yè)代碼" & lmd.Column(2) & "是否存在"
End If
img.Picture = Application.CurrentProject.Path & "\pho\" & Trim(lmd.Value) & ".jpg"
(3)按鈕“打印”單擊事件代碼:DoCmd.OpenReport "TZS", acNormal
(4)按鈕“預覽”單擊事件代碼:DoCmd.OpenReport "TZS", acPreview
4報表TZS設計
報表根據(jù)需要添加若干文字標簽;在相應位置添加4個文本框,數(shù)據(jù)控件來源如下圖所示;添加一個圖像控件(img1);為方便注冊,添加一個條形碼控件,數(shù)據(jù)控件來源為:=[Forms]![TZ]![lmd]。
報表“打開(open)”事件中,顯示學生照片,代碼為:
img1.Picture = Application.CurrentProject.Path & "\pho\" & Trim(Forms!TZ!lmd) & ".jpg"
5啟動項設置
設置打開程序時自動運行的對象,菜單“工具/啟動…/顯示窗體/頁”,選擇“TZ”窗體。
以上是編制錄取通知書打印程序的主要過程,可根據(jù)具體情況自行修改增刪,簡便快速,不需要許多專業(yè)的編程知識。