admin 管理员组

文章数量: 1086019


2024年5月18日发(作者:css的color属性)

维普资讯

168 福建电脑 2007年第1期 

向Access数据库报表中添加图像的方法分析 

范春荣・,张战勇2,刘春玲 

(1.石家庄铁路职业技术学院河北石家庄050041 2.河北石家庄幼儿师范学校河北石家庄o5oo81) 

(3.河北工程技术高等专科学校河北沧州061001) 

【摘要】:本文详细介绍了向access报表中添加图像的各种方法,并比较了各方法的优缺点,在文章最后给出了一个 

使用VBA缟程实现添加图像的简单实倒。 

【关键词】:报表;绑定图像;未绑定图像;VBA 

Access是一种小型的关系型数据库管理系统。也被称为桌 

面型数据库.是Microsoft O伍ce套件产品之一。Access作为一个 

数据库管理系统.通过各种数据库对象来管理信息,报表对象就 

是其中之一。在Access中可以利用报表从数据库中把需要的数 

据提取出来进行分析、整理和计算.按照用户所需的方式显示信 

添加方法如下:在报表设计视图中点击工具箱中的”图像” 

控件.将”图像”控件拖动到报表中要放置图像的位置,并用鼠标 

划出适当的区域.此时松开鼠标便会弹出”插入图片”对话框,在 

该对话框中指定图像文件的来源驱动器和目录。选定图像文件。 

单击”确定”按钮.图像就被插入到报表中了。接下来通过改变” 

图像”控件的属性值.来调整图像的大小和位置,以达到我们满 

息以便查看信息.并将数据以格式化的方式发送到打印机。 

在日常应用中.经常需要在报表中添加一定数量的图像。有 意的效果。 

在”图片类型”属性框中。指定要嵌入图像还是链接图像。链 

时为了修饰报表我们会在报表中添加少量图像。如公司的徽标 

等:有时需要显示大量图像,如某学校学籍管理数据库报表中所 

接方式适合于图像很大的情况。因为此时文件单独存在,不会影 

有学生的照片等。这时就需要用户根据实际情况,采取适当的方 

响数据库文件的规模:并且以链接方式加入图像。其他报表、窗 

体或应用程序均可共用这个图像。 

法向报表中添加图像。以提高工作效率。 

添加的背景图片和使用图像控件添加的图像.被称为静态 

合适方法的选取有桢于我们对一些重要概念的理解。在报 

表中显示的图像被分为两种:未绑定图像和绑定图像。未绑定图 

图像。在报表中不能修改它们,只能到原始文件中进行修改。需 

像不是报表中要显示记录中的一部分。它不会随数据库记录或 

要注意的是当使用嵌入图像时.在更改原始文件后需要刷新嵌 

报表页的移动而更改.如向报表中添加的背景图片、公司标识等 

入的图像。 

就是未绑定图像。相反,绑定图像是报表中各条记录中的一部 3.使用未绑定对象框添加未绑定图像 

使用未绑定对象框也可以添加图像。方法与使用图像控件 

分。是随每个数据库记录或报表页而更改的图像,例如。某公司 

的人事管理数据库。需要显示每位员工的信息及照片,则使用绑 

添加图像的方法类似.在报表设计视图中把工具箱的“未绑定对 

定图像 使用绑定或未绑定图像将决定报表中使用的控件类型。 

象框”控件拖动到报表中适当的位置。松开鼠标后弹出一个对话 

如果使用绑定图像.则使用图像控件或绑定对象框控件;要显示 框.选择“由文件创建”,然后单击”浏览”定位要添加的图像。如 

未绑定图像.可在图像控件和未绑定对象框之间进行选择。所以 果要链接到一个图像,则选中”链接”复选框,然后单击”确定”按 

要将图像嵌入到报表中,那么保持”链接”复选 

确定报表中要添加的是绑定还是未绑定图像是一个关键问题。 

钮来完成此过程:

除此之外.还需要清楚的一个问题是要链接图像还是嵌人 框为空,并单击”确定”。 

使用未绑定对象框添加的图像是以OLE方式存在的(OLE 

图像?在报表中可以嵌入要添加的图像。或链接到这些图像。嵌 

ect Linking and Embedding的缩写.直译为对象链接与嵌 

入图像时。Acce8s使其成为数据库文件的一部分,并且该图像始 

是Obj

Z方式的特点在于如果需要经常修改图像。只要在图像 

终可供报表使用。但是。由于Acces8会将嵌入图像的每个实例 

入)。0I

 

都添加到数据库文件中.因此嵌入图像会增加数据库大小。例 

上双击即能激括与该图像相关的应用程序(如:W dows嘶图、

oshoP等,具体取决于对象的类型)进行修改。当使用嵌入图 

如.如果在多个报表中嵌入公司徽标,则Access会重复存储该 

Phot

徽标多次。这种冗余存储可以迅速增加数据库大小,并导致其运 

像时.在报表中的修改只会改变图像的一个实例,即只会改变数 

如果嵌人同一个图 

行缓慢。相反。链接图像位于数据库文件外部.可以链接到位于 

据库中的图像文件而不改变原始图像,此外。

硬盘或网络上其他地方的图像。链接图像有助于减少数据库文 

像多次.则必须更改嵌入图像文件的每个实例:使用链接图像 

在报表中的修改会被保存在与之相链接的原始文件中。 

件的大小.因为Access只存储指向图像的链接信息。但是.链接 

时.

般情况下,添加未绑定图像时推荐使用图像控件,因为图 

可能会添加额外的工作。例如。如果移动图像,则必须更新该图 

像的每个链接。另外。如果图像文件损坏或网络出现故障,则链 

接将会破坏。如果网络稳定或用于存储图像的位置相对固定,则 

链接是一种好的选择.因为可以用更少的时间和更低的成本来 

更新图像。并且链接会减少数据库大小。 

下面介绍如何向报表中添加图像。 

1.添加未绑定圈像 

向报表中添加未绑定图像的方法如下: 

1.添加背景图片 

像控件可以快速加载.并且可以处理更多图形文件格式。而未绑 

定的对象框对.bmp和.dlb图像以外的任何图像文件类型的显 

示都要依赖OLE服务器呈现。 

2.添加绑定图像 

Acce8s提供了多种方法用来在报表中显示绑定图像。根据 

图像的存储方式.我们把添加绑定图像的方法分为三种。 

1.在”0IZ对象”宇段中嵌入图像并使用绑定对象框来显示 

图像。 

图像保存在数据库表的”OLE对象”宇段中。就像存储其他 

具体操作如下:在报表设计视图中激活 艮表L”i表“,在” 

然后鼠标右键单击每一条记 

格式”选项卡上的”图片”属性框中.单击”生成”按钮 并使用” 

数据一样。在表中添加OLE字段,

在弹出的快捷菜单中选择”插入对象”命令,选 

插入图片”对话框来定位图像。在”图片类型”属性框中。指定要 

录的OLE字段.

一将需要的图片对象添加到表中。 

嵌入图像还是链接图像.接着设置图片的缩放模式、对齐方式、 

择”由文件创建”再单击”浏览-

打开报表设计视图。将该OLE字段添加到报表中。或者是在报 

图片平铺等属性的值.这样背景图片就加入到报表中了。 

表中添加绑定对象框.并将它的”控件来源”属性值设为存放图 

2.用图像控件添加未绑定图像 

维普资讯

2007年第1期 福建 电脑 169 

像的表的OLE字段,这样在预览和打印报表时图像就显示出来 

等信息。具体操作如下: 

了 

(1)将除照片以外的所有信息都保存在数据库中。 

这种方法易于理解容易掌握.但当表中记录较多时需要做 (2)采集来的照片以身份证号码来命名。并且和数据库文 

大量的重复操作,使用起来相当麻烦。而且因为使用嵌入方式所 

件放在同一文件夹中 

以此方法相比其他方法占用的空间最大.会使数据库大小迅速 

(3)在数据库中保存图像路径。由于本例中图像的名称是 

增加。并导致其运行缓慢。 

和学生身份证号相同的。所以不用建立新的字段来存储图像的 

2.在硬盘或网络中存储图像.在"OLE对象”字段中存储图 

路径和文件名。而是使用现有的身份证号码字段运算生成。 

像的链接并使用绑定对象框来显示图像。 (4)创建报表,报表名为”学籍”。打开报表设计视图。插入 

此方法的操作过程与第一种方法几乎相同.不同之处是在 要打印的宇段列表。设置好字体和字号;在主体节上需要显示照 

插入对象对话框中定位图像后要选中”链接”复选框。这样表只 

片的位置添加图像控件。名称为img,设置其大小为照片的大 

存储了指向图像的链接信息,并没有将图像插入到数据库中。 

小。 

此方法需要的空间较少。但如果图像文件被移动或损坏.则 (5)依次点击菜单栏”视图一代码”命令。进入VBA代码编 

链接将破坏必须更新链接。 写窗口。选择”主体”的Format事件,编写如下代码: 

另外以上两种方法都使用了”OLE对象”.因此它们可显示 

Private Sub主体_Fc ̄mat(C,ancel A8 Integer,FormatCount As Int ̄) 

的图像文件类型是受限制的 

D|mP吐h舳sl 

但是。由于在前两种方法中,可以使用Access提供的菜单 

和对话框来完成.因此这两种方法比较容易掌握。 

依据应用程序路径、身份证字段内容得到图像路径 

Application.CuumntPmjvct.p丑llI返回应用程序的路径 

3.在硬盘或网络中存储图像。使用VBA代码.以编程方式 

“Reports!【学籍】!【身份证号码】..表示引用”学籍”报表中”身份证号码”字段的值 

在报表中设置图像控件的属性来显示图像。 

path=Application.CtmmntPrajeet.path&”、¨&Re ̄rmT【学al1]!【身份证号码】 

图像可以不存储在数据库中.只是在数据库中存储指向图 

&”JPg 

像的路径.而将全部图像数据直接以独立文件的形式存放在指 

定路径下。要将这项技术用于报表,就需要编写VBA过程,以便 

判断照片是香存在.如果不存在剐显示一张空白的图片nojpg 

在用户打开报表时.读取路径信息并显示图像。 

IfDit(path、=””Then 

VBA。即Microsoft Visual Basic for App ̄cafions。是Microsoft 

p丑llI=Application.CurrentPmjvet.Path&”、n0JPG” 

Be 

Office系列的内置编程语言。这是一种面向对象(OOP)的语言。 

el

irng.Picture path 

易于学习。且功能强大。同其他任何面向对象的编程语言一样, 

End If 

VBA里也有对象、属性、方法和事件。我们可以利用它对报表对 

End Sub 

象进行编程,以达到我们的目的。 

保存后,预览报表。照片便被自动加载进来了。 

默认方式下。报表对象包括三个节”页面页眉”、”主体”和” 

由于此方法只需在表的一个文本字段中存储图像文件名和 

页面页脚”。其中”主体”节显示报表的主体数据部分,也即我们 

所需要的每条数据记录都在报表主体中显示.对报表基础记录 

路径信息。因此所用的空间量最少。另外。它使用图像控件来代 

来源的每条记录而言。该节重复出现。在报表的每一节上都会发 

替绑定对象框,因此支持的图形文件的种类更多。但需要注意的 

必须同时移动图像。如果图像的路径改变, 

生Format事件.主体节中每一记录的Format事件正好发生在 

是如果移动数据库,

Access为记录中的数据设置格式之前.而且在Format事件过程 

必须更新表中的数据.以确保图像文件与数据库宇段的数据统 

中能访问当前记录中所包含的数据.这样我们就可以使用各节 

参考文献: 

中的数据。因此利用主体的format事件。可以编程实现在打开 

1.薛静峰,李风霞,黄都墙.Access厦其应用系统开发[M】.清华大学出版 

报表的时候。先从当前记录中读取路径信息,然后根据路径找到 

社.2002. 

相应图像并在图像控件中显示。这样图像数据虽然没有存储到 

2.王Jll,阮*平,于平创.中文版Office2000VBA一册通【M】.北京:人民 

数据库中.但却可以在预览报表或打印报表时显示我们需要的 

邮电出版社.2O0O. 

图像。 

3.ha-p://www,microsoR.com/chim/MicrosoR Access中文帮助. 

下面以打印学生的学籍报表为例简要介绍一下此方法.学 

4.【蔓1 Susan Sales Harkins Mik{ ̄Gunderloy.巧学巧用Access 2003与 

籍表中包括学生的姓名、照片班级、学号、身份证号码以及专业 

WA[Ml,马树奇.全燕译.电子工业出版社。2006. 

(上接第162页) 

获取时即使输入一篇英文文章得到的时间也为0.说明此方法 文有微小的改变。输出的hash函数值都有至少一半左右的bit 

发生变化。这说明这种算法有良好的”雪崩效应”。 

的效率是非常高的。 

2.雪崩效应 

总之,用以上方法构造128位的Hash函数,不仅算法简单容易 

设密钥是knowledgeispower.将明文是whatevery- 

实现,而且速度极快。高速高效,抗攻击力强。 

oudodowithallyourmight的结果与明文变为wiateveryoudodowith- 

auyo岫面ght时的结果比较发现,当明文改变了lbit时,输出改 

参考文献: 

变了63bit。同时测试长度比较短的明文,比如测试明文为good, 

1.卢开澄计算机密码学(第2版)北京:清华走学出版社 

改变为food.这时输出也改变了55bit。进行多次测试都说明明 


本文标签: 图像 报表 添加 绑定 使用