热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

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

最近笔者接到一个任务,要将学生的证书信息及相片 打印 到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 = "姓名= &#39;" + stuname + "&#39;"
  End If
  DoCmd.OpenReport "证书信息", PrintMode, , strWhereCategory
  DoCmd.Close acForm, "打印预览面板"
  End Sub
  Private Sub inputname_Change()
  &#39; 将文本框输入的字符赋给全局变量sname,用于给打印预览限定条件
  stuname = inputname.Text
  End Sub
  Private Sub 预览_Click()
  &#39; 预览报表,本过程使用自定义的 PrintReports 子程序
  PrintReports acPreview
  End Sub
  Private Sub 关闭_Click()
  &#39; 关闭窗体
  DoCmd.Close
  End Sub
  创建主切换面板窗体
  1. 创建“主切换面板”,放置三个命令按钮“打印学生证书”、“返回数据窗口”、“退出管理系统”。
  2. 依次点击菜单栏“视图→代码”命令,进入VBA代码编写窗口,编写如下代码:
  Private Sub 打印学生证书_Click()
  Dim strFormName As String
  strFormName="打印预览面板"
  &#39; 打开打印预览面板
  DoCmd.OpenForm strFormName, , , , , acDialog
  End Sub
  Private Sub 关闭当前窗口_Click()
  Dim strDocName As String
  strDocName = "证书信息"
  &#39; 关闭“主切换面板”窗体。
  DoCmd.Close
  &#39; 设置焦点到数据库窗口;选择“证书信息”表。
  DoCmd.SelectObject acTable, strDocName, True
  End Sub
  Private Sub 退出管理系统_Click()
  &#39; 退出 Microsoft Access.
  DoCmd.Quit
  End Sub
  设置启动时显示主切换面板
  依次点击菜单栏“工具→启动”命令,打开“启动”设置窗口,在“显示窗体→页”选项下选择主切换面板,并取消“显示数据库窗口”,这样在下一次打开此Access数据库时,就会自动显示主切换面板窗体。读者也可根据自己的需要决定是否取消菜单栏和快捷菜单栏,如果取消以后又要显示它们,可以在打开Access数据库时按住Shift键。
  至此,技能证书打印系统开发完毕。本系统在Windows 2000 Server SP4、Microsoft Office Access 2003下调试通过

推荐阅读
  • 高级缩放示例.就像谷歌地图一样.它仅缩放图块,但不缩放整个图像.因此,缩放的瓷砖占据了恒定的记忆,并且不会为大型缩放图像调整大小的图像.对于简化的缩放示例lookhere.在Win ... [详细]
  • 汇总了2023年7月7日最新的网络安全新闻和技术更新,包括最新的漏洞披露、工具发布及安全事件。 ... [详细]
  • Java虚拟机及其发展历程
    Java虚拟机(JVM)是每个Java开发者日常工作中不可或缺的一部分,但其背后的运作机制却往往显得神秘莫测。本文将探讨Java及其虚拟机的发展历程,帮助读者深入了解这一关键技术。 ... [详细]
  • 视觉Transformer综述
    本文综述了视觉Transformer在计算机视觉领域的应用,从原始Transformer出发,详细介绍了其在图像分类、目标检测和图像分割等任务中的最新进展。文章不仅涵盖了基础的Transformer架构,还深入探讨了各类增强版Transformer模型的设计思路和技术细节。 ... [详细]
  • 一家位于长沙的知名网络安全企业,现面向全国诚聘高级后端开发工程师,特别欢迎具有一线城市经验的技术精英回归故乡,共创辉煌。 ... [详细]
  • 吴石访谈:腾讯安全科恩实验室如何引领物联网安全研究
    腾讯安全科恩实验室曾两次成功破解特斯拉自动驾驶系统,并远程控制汽车,展示了其在汽车安全领域的强大实力。近日,该实验室负责人吴石接受了InfoQ的专访,详细介绍了团队未来的重点方向——物联网安全。 ... [详细]
  • 如何在Windows 7 64位系统中成功注册DLL文件
    本文详细介绍了在Windows 7 64位系统中注册DLL文件的具体步骤,包括使用管理员权限运行命令提示符以及正确的路径导航方法,确保注册过程顺利进行。 ... [详细]
  • 对于初学者而言,搭建一个高效稳定的 Python 开发环境是入门的关键一步。本文将详细介绍如何利用 Anaconda 和 Jupyter Notebook 来构建一个既易于管理又功能强大的开发环境。 ... [详细]
  • 本文详细介绍了如何正确设置Shadowsocks公共代理,包括调整超时设置、检查系统限制、防止滥用及遵守DMCA法规等关键步骤。 ... [详细]
  • 描述了在使用 Opera 6.04 浏览器时遇到的页面无限刷新问题,特别是在登录后页面持续重载的情况。 ... [详细]
  • 探讨了在VB中使用WebBrowser控件时遇到的‘无法找到或打开C:\WINDOWS\system32\ieframe.dll’问题,并提供了解决方案。 ... [详细]
  • 本文探讨了使用Python实现监控信息收集的方法,涵盖从基础的日志记录到复杂的系统运维解决方案,旨在帮助开发者和运维人员提升工作效率。 ... [详细]
  • 本文探讨了服务器系统架构的性能评估方法,包括性能评估的目的、步骤以及如何选择合适的度量标准。文章还介绍了几种常用的基准测试程序及其应用,并详细说明了Web服务器性能评估的关键指标与测试方法。 ... [详细]
  • 本文将详细探讨 Python 编程语言中 sys.argv 的使用方法及其重要性。通过实际案例,我们将了解如何在命令行环境中传递参数给 Python 脚本,并分析这些参数是如何被处理和使用的。 ... [详细]
  • Uniswap 与 MoonPay 合作,引入法币交易功能。本文探讨这一合作对用户进入加密货币领域的安全性及便利性的影响。 ... [详细]
author-avatar
oz法卡山英雄营
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有