用Access打印带相片的证件
最近笔者接到一个任务,把学生的证书信息和照片打印在3+1技能证书的模板上,上传到网上供用人单位查询。原始数据分为两部分。一部分是Excel表格,包含学生姓名、身份证号、认证项目、证书编号等信息。另一部分是按照认证项目分类,以学生姓名命名的照片,尺寸均为90×120像素,JPG格式。
考虑到时间的紧迫性,用户操作的方便性,以及未来在线查询所需数据库的兼容性,我们决定选择Access进行开发。Access具有强大的创建表单、打印报表、VBA编程等功能,足以满足大多数小型数据库应用系统的开发。
创建数据库和表
1.打开Microsoft Office Access,创建空数据库,放在与照片目录相同的文件夹中。
2.使用“文件→获取外部数据→导入”功能,将Excel表直接导入Access,保存为“证书信息”表。
创建证书信息报告
1. 创建“证书信息”报表,先插入一个“图像”控件,设置其图片属性为证书模板图片,设置其大小为证书模板的大小,设置其可见性为否,这样有利于证书信息的排版,且不会打印出来;再依次插入要打印的字段列表,设置好字体和字号;最后再插入一个“图像”控件,放置于打印相片的地方,设置其大小为相片的大小,设置其名称为“stuimg”。1.创建证书信息报表,首先插入一个图像控件,将其图片属性设置为证书模板图片,将其大小设置为证书模板的大小,将其可见性设置为否,有利于证书信息的排版,不会被打印;然后依次插入要打印的字段列表,设置字体和字号;最后插入一个“image”控件,放在打印照片的地方,将其大小设置为照片的大小,将其名称设置为“stuimg”。
2.依次点击菜单栏中的“查看→代码”命令,进入VBA代码编写窗口,编写如下代码:
Private Sub body _ format(取消为整数,格式计数为整数)
Dim imgpath As StringDim imgpath作为字符串
根据应用路径、认证项目名称、名称获取照片路径。
imgpath = Application.CurrentProject.Path +"\" +认证项目.text +"\"+ 姓名.Text+".jpg"imath = application . current project . path+" \ "+certification project . text+" \ "+name . text+"。jpg "
判断照片是否存在,如果不存在,则显示一张空白色图片。
If Dir(imgpath) = "" Then imgpath = Application.CurrentProject.Path + "\noimg.bmp"如果Dir(imgpath) = ",则imgpath = Application。current project . Path+" \ no img . BMP "
Stuimg.Picture = imgpathStuimg。Picture = imgpath
末端接头
创建打印预览面板表单
1.创建“打印预览面板”,依次放置用于查询的文本框,命名为“输入名称”;两个命令按钮“预览”和“关闭”。
2.依次点击菜单栏中的“查看→代码”命令,进入VBA代码编写窗口,编写如下代码:
“Public stuname As String”定义了全局变量stuname。
子打印报告(打印模式为整数)
创建打印预览子程序
Dim strWhereCategory作为字符串
如果stuname为空,则
str where category = " name = ' "+stuname+" ' "
如果…就会结束
DoCmd。OpenReport“证书信息”,打印模式,,strWhereCategory
DoCmd。关闭acForm,“打印预览面板”
末端接头
private Sub input name _ Change()
0条评论