用ACCESS实现高校录取通知书打印
2014-04-29陈伟
陈伟
摘 要 本文是ACCESS软件的一个应用实例。利用ACCESS软件,通过简单设置,编写少量代码,实现了录取通知书的打印功能,方便快速而又不失专业,应用效果很好。
关键词 通知书打印 ACCESS编程 ACCESS软件应用
中图分类号:TP311 文献标识码:A
学校招生录取工作中,打印录取通知书是一件必须而繁琐且易出错的工作,用WORD的“邮件合并”或者编写专门的程序都可以实现,各有特点。这儿介绍一种较为容易而且效果很好的方法:用Office办公套件中的ACCESS来实现录取通知书的打印。
1准备原始数据
建立一个专门的文件夹,如“D:\录取通知书”,将学生录取信息的电子表格文件(T_TDD.xls)拷贝到该文件夹下;在此文件夹下再建一文件夹“PHO”,将学生照片拷贝到此文件夹下。
2新建ACCESS文件(通知书.mdb)
(1)链接表TDD,从学生录取信息电子表格T_TDD.xls中链接;
(2)表SPEC,包含三个字段:ID(专业代码)、SPEC(专业名称)、DEPT(系部);
(3)窗体TZ,实现学生录取信息的查看、打印控制等;
(4)报表TZS,确定通知书打印的内容与格式。
3窗体TZ的设计
3.1添加控件
(1)列表框1个:lmd(学生名单);
(2)图像1个:img(相片);
(3)标签4个:XM(姓名)、KSH(报名号)、DEPT(系部)、SPEC(专业);
(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 = "专 业: " & rs1!SPEC
Else
DEPT.Caption = "系 部: "
SPEC.Caption = "专 业: 错误,请检查专业代码" & 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设计
报表根据需要添加若干文字标签;在相应位置添加4个文本框,数据控件来源如下图所示;添加一个图像控件(img1);为方便注册,添加一个条形码控件,数据控件来源为:=[Forms]![TZ]![lmd]。
报表“打开(open)”事件中,显示学生照片,代码为:
img1.Picture = Application.CurrentProject.Path & "\pho\" & Trim(Forms!TZ!lmd) & ".jpg"
5启动项设置
设置打开程序时自动运行的对象,菜单“工具/启动…/显示窗体/页”,选择“TZ”窗体。
以上是编制录取通知书打印程序的主要过程,可根据具体情况自行修改增删,简便快速,不需要许多专业的编程知识。