实例编程:用Access打印带相片的证件
最近笔者接到一个任务,要将学生的证书信息及相片 打印 到3+1技能证书模板上,并且还要传到网上供用人单位查询。原始数据分两部分,一部分是包含学生姓名、身份证号、认证项目、证书编号等信息的Excel表;另一部分是按认证项目分类、以学生姓名为名的相片,
考虑到时间上的紧迫性,还有用户操作的易用性,以后上网查询所需数据库的兼容性,因此决定选用Access来开发。Access具有强大的窗体创建、报表打印、VBA编程功能,足以胜任大部分小型数据库应用系统的开发。
创建数据库和表
1. 打开Microsoft Office Access,创建一个空数据库,与相片的分类目录放在同一个文件夹下。
2. 使用“文件→获取外部数据→导入”功能将Excel表直接导入Access中,保存为“证书信息”表。
创建证书信息报表
1. 创建“证书信息”报表,先插入一个“图像”控件,设置其图片属性为证书模板图片,设置其大小为证书模板的大小,设置其可见性为否,这样有利于证书信息的排版,且不会打印出来;再依次插入要打印的字段列表,设置好字体和字号;最后再插入一个“图像”控件,放置于打印相片的地方,设置其大小为相片的大小,设置其名称为“stuimg”。
2. 依次点击菜单栏“视图→代码”命令,进入VBA代码编写窗口,编写如下代码:
Private Sub 主体_Format(Cancel As Integer, FormatCount As Integer)
Dim imgpath As String
' 依据应用程序路径、认证项目名称、姓名得到相片路径
imgpath = Application.CurrentProject.Path +"" +认证项目.text +""+ 姓名.Text+".jpg"
' 判断照片是否存在,如果不存在则显示一张空白的图片。
If Dir(imgpath) = "" Then imgpath = Application.CurrentProject.Path + "noimg.bmp"
Stuimg.Picture = imgpath
End Sub
创建打印预览面板窗体
1. 创建“打印预览面板”,依次放置一个用于查询的文本框,并命名为“inputname”;两个命令按钮“预览”、“关闭”。
2. 依次点击菜单栏“视图→代码”命令,进入VBA代码编写窗口,编写如下代码:
Public stuname As String '定义全局变量stuname
Sub PrintReports(PrintMode As Integer)
' 创建打印预览子程序
Dim strWhereCategory As String
If stuname Empty Then
strWhereCategory = "姓名= '" + stuname + "'"
End If
DoCmd.OpenReport "证书信息", PrintMode, , strWhereCategory
DoCmd.Close acForm, "打印预览面板"
End Sub
Private Sub inputname_Change()
' 将文本框输入的字符赋给全局变量sname,用于给打印预览限定条件
stuname = inputname.Text
End Sub
Private Sub 预览_Click()
' 预览报表,本过程使用自定义的 PrintReports 子程序
PrintReports acPreview
End Sub
Private Sub 关闭_Click()
' 关闭窗体
DoCmd.Close
End Sub
创建主切换面板窗体
1. 创建“主切换面板”,放置三个命令按钮“打印学生证书”、“返回数据窗口”、“退出管理系统”。
2. 依次点击菜单栏“视图→代码”命令,进入VBA代码编写窗口,编写如下代码:
Private Sub 打印学生证书_Click()
Dim strFormName As String
strFormName="打印预览面板"
' 打开打印预览面板
DoCmd.OpenForm strFormName, , , , , acDialog
End Sub
Private Sub 关闭当前窗口_Click()
Dim strDocName As String
strDocName = "证书信息"
' 关闭“主切换面板”窗体。
DoCmd.Close
' 设置焦点到数据库窗口;选择“证书信息”表。
DoCmd.SelectObject acTable, strDocName, True
End Sub
Private Sub 退出管理系统_Click()
' 退出 Microsoft Access.
DoCmd.Quit
End Sub
设置启动时显示主切换面板
依次点击菜单栏“工具→启动”命令,打开“启动”设置窗口,在“显示窗体→页”选项下选择主切换面板,并取消“显示数据库窗口”,这样在下一次打开此Access数据库时,就会自动显示主切换面板窗体。读者也可根据自己的需要决定是否取消菜单栏和快捷菜单栏,如果取消以后又要显示它们,可以在打开Access数据库时按住Shift键。
至此,技能证书打印系统开发完毕。本系统在Windows 2000 Server SP4、Microsoft Office Access 2003下调试通过

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

多线程的好处在于能提升性能和资源利用率,尤其适用于处理大量数据或执行耗时操作。它允许同时执行多个任务,提高效率。然而,线程过多会导致性能下降,因此需要根据 CPU 核心数和任务特性谨慎选择线程数。另外,多线程编程涉及死锁和竞态条件等挑战,需要使用同步机制解决,需要具备扎实的并发编程知识,权衡利弊并谨慎使用。

无法以 root 身份登录 MySQL 的原因主要在于权限问题、配置文件错误、密码不符、socket 文件问题或防火墙拦截。解决方法包括:检查配置文件中 bind-address 参数是否正确配置。查看 root 用户权限是否被修改或删除,并进行重置。验证密码是否准确无误,包括大小写和特殊字符。检查 socket 文件权限设置和路径。检查防火墙是否阻止了 MySQL 服务器的连接。

SQL IF 语句用于有条件地执行 SQL 语句,语法为: IF (condition) THEN {语句} ELSE {语句} END IF;。条件可以是任何有效的 SQL 表达式,如果条件为真,执行 THEN 子句;如果条件为假,执行 ELSE 子句。IF 语句可以嵌套,允许更复杂的条件检查。

Node环境下如何避免第三方接口返回403错误在使用Node.js调用第三方网站接口时,有时会遇到返回403错误的问题。�...

解决 Vue Axios 跨域问题的方法包括:服务器端配置 CORS 头使用 Axios 代理使用 JSONP使用 WebSocket使用 CORS 插件

在EasyWechat5.5中获取ComponentVerify...

本文将阐述如何通过分析Debian系统下的Apache日志来提升网站性能。一、日志分析基础Apache日志记录了所有HTTP请求的详细信息,包括IP地址、时间戳、请求URL、HTTP方法和响应代码等。在Debian系统中,这些日志通常位于/var/log/apache2/access.log和/var/log/apache2/error.log目录下。理解日志结构是有效分析的第一步。二、日志分析工具您可以使用多种工具分析Apache日志:命令行工具:grep、awk、sed等命令行工具可

如何在 Apache 中配置 Zend?在 Apache Web 服务器中配置 Zend Framework 的步骤如下:安装 Zend Framework 并解压到 Web 服务器目录中。创建 .htaccess 文件。创建 Zend 应用程序目录并添加 index.php 文件。配置 Zend 应用程序(application.ini)。重新启动 Apache Web 服务器。
