首页 数据库 mysql教程 实例编程:用Access打印带相片的证件

实例编程:用Access打印带相片的证件

Jun 07, 2016 pm 03:03 PM
access 实例 打印 编程

最近笔者接到一个任务,要将学生的证书信息及相片 打印 到3+1技能证书模板上,并且还要传到网上供用人单位查询。原始数据分两部分,一部分是包含学生姓名、身份证号、认证项目、证书编号等信息的Excel表;另一部分是按认证项目分类、以学生姓名为名的相片,

 最近笔者接到一个任务,要将学生的证书信息及相片打印到3+1技能证书模板上,并且还要传到网上供用人单位查询。原始数据分两部分,一部分是包含学生姓名、身份证号、认证项目、证书编号等信息的Excel表;另一部分是按认证项目分类、以学生姓名为名的相片,图片大小均为90×120像素,图片格式均为JPG。
  考虑到时间上的紧迫性,还有用户操作的易用性,以后上网查询所需数据库的兼容性,因此决定选用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下调试通过
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

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

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

c#多线程的好处有哪些 c#多线程的好处有哪些 Apr 03, 2025 pm 02:51 PM

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

无法以 root 身份登录 mysql 无法以 root 身份登录 mysql Apr 08, 2025 pm 04:54 PM

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

sql if语句怎么用 sql if语句怎么用 Apr 09, 2025 pm 06:12 PM

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

在Node环境中如何避免第三方接口返回403错误? 在Node环境中如何避免第三方接口返回403错误? Apr 01, 2025 pm 02:03 PM

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

如何解决Vue Axios跨域导致的"Network Error" 如何解决Vue Axios跨域导致的"Network Error" Apr 07, 2025 pm 10:27 PM

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

EasyWechat 5.5中如何高效获取component_verify_ticket? EasyWechat 5.5中如何高效获取component_verify_ticket? Apr 01, 2025 pm 12:42 PM

在EasyWechat5.5中获取ComponentVerify...

如何利用Debian Apache日志提升网站性能 如何利用Debian Apache日志提升网站性能 Apr 12, 2025 pm 11:36 PM

本文将阐述如何通过分析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怎么配置zend Apr 13, 2025 pm 12:57 PM

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

See all articles