魔方网表 让信息化更简单

 找回密码
 注册
查看: 4497|回复: 1

用ACCESS打印证书!

[复制链接]
xwp1011 发表于 2010-3-10 12:02:54 | 显示全部楼层 |阅读模式
没图片的,我自己常用的!
第一步:把Excel中的数据导到ACCESS中。新建一个mdb数据库文件,打开该mdb文件,在"对象>表"处右键"导入",注意"文件类型"处要选EXCEL的。按照向导把EXCEL文件导入到ACCESS中。

第二步:用"在设计视图中创建窗体"来创建打印面板。这里最主要的是两个地方:一个是把ACCESS中的表数据和窗体联系起来,方法如下:在打印面板之外,双击,会跳出"窗体"对话框,在"窗体"对话框的"数据">"记录源"选择一个表,这样就把表的数据和窗体联系起来了。另一个是表中的某个字段数据和文本框联系起来,方法如下:鼠标呈手形后,双击,跳出"文本框"对话框,"数据">"控件来源"里选择一个字段名,这样就联系起来了。

格式设置,在对应的文本框的格式中!
还有一点很重要,就是打印证书,应该打印预览中显示一条记录的,在主体的属性里设置。否则会很麻烦的。最好做一个access打印按钮,打印当前记录的显示记录。(目前还不会!)


网上的文章,有图的,没实践过。什么时候需要时,回头看。
最近笔者接到一个任务,要将学生的证书信息及相片打印到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

  oCmd.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下调试通过。

hejiesky 发表于 2010-5-7 13:23:55 | 显示全部楼层
{:1_113:}  有点复杂``有点晕.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|魔方软件 ( 京ICP备08008787号 )

京公网安备 11010702001722号

GMT+8, 2024-5-2 00:59 , Processed in 0.122031 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表