好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

实例编程:用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下调试通过

查看更多关于实例编程:用Access打印带相片的证件的详细内容...

  阅读:40次