用Acce 打印带相片的证件

文章作者 100test 发表时间 2007:09:06 11:39:41
来源 100Test.Com百考试题网


  最近笔者接到一个任务,要将学生的证书信息及相片打印到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()


相关文章


MicrosoftAcce 中文帮助BUG
用Acce 打印带相片的证件
Acce 中引用的相对应的名称
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛