使用 Microsoft Office Access 2007 中的附件功能可以将一段或多段数据(Microsoft Office Word 2007 文档、Microsoft Office PowerPoint 2007 演示文稿和图像等)添加到数据库的记录中。本文提供了配置数据库以使用附件以及附加和管理数据所需的背景信息和步骤。
本文内容
为什么使用附件?
使用附件可以将多个文件存储在单个字段之中,甚至还可以将多种类型的文件存储在单个字段之中。例如,假定您拥有一个工作联系人数据库。现在,您可以将一份或几份简历附加到每位联系人的记录中,并加上每位联系人的照片。
附件还可以更有效地存储数据。Access 的早期版本采用了“对象链接和嵌入”(OLE) 技术来存储图像和文档。默认情况下,OLE 会创建一个等同于相应的图像或文档的位图。这些位图文件可能会变得十分庞大 - 最大可能会相当于原文件大小的 10 倍。当您查看数据库中的图像或文档时,OLE 将显示位图图像,而不是原文件。通过使用附件,可在文档以及其他非图像文件的父程序中打开这些文件,因此,可从 Access 中搜索这些文件并对它们进行编辑。
另外,OLE 需要名为 OLE 服务器的程序才能运行。例如,如果将 JPEG 图像文件存储在一个 Access 数据库中,则运行该数据库的每台计算机都需要有另一个注册为 OLE 服务器的程序,才能支持 JPEG 图像。相反,Office Access 2007 按照附件本身的格式进行存储,而不支持图像,因此您无需安装其他软件就可查看数据库中的图像。
附件和数据库的设计规则
默认情况下,关系数据库中的每个字段仅包含一段数据。例如,如果某个地址字段包含多个地址,则查找地址会变得很困难(如果还可以找到的话)。因此,乍看过去,附件似乎违背了数据库设计的规则,因为您可以将多个文件(多段数据)附加到一个字段。但实际上,附件并没有违背任何设计规则,因为当您将文件附加到记录中时,Office Access 2007 会创建一个或多个系统表,并在后台使用这些表将数据规范化。您无法查看或使用这些表。
有关查看其他系统表的信息,请参阅导航窗格指南一文。有关数据库设计的信息,请参阅数据库设计基础一文。
附件的使用方式
使用附件时,请记住以下准则:
- 仅可以将文件附加到在 Office Access 2007 中创建的并且使用新的 .accdb 文件格式的数据库中。不能在 Office Access 2007 (.accdb) 数据库与使用早期文件格式 (.mdb) 的数据库之间共享附件。
- 必须在表中创建一个字段,且必须将该字段设置为“附件”数据类型。将数据类型设置成“附件”之后,不能对其进行更改。
- 可以将多个文件存储在单个记录中。例如,您可以存储图像以及用文字处理和电子表格程序创建的文件。
- 您最多可以附加 2GB 的数据(Access 数据库的最大大小)。单个文件的大小不得超过 256MB。
- 使用“附件”对话框可添加、编辑并管理附件。通过双击表中的附件字段,可以直接从该字段中打开此对话框。如果要从窗体中管理附件,或者要从报表中查看附件,则可将附件控件添加到相应的窗体或报表中,然后将该控件绑定到基础附件表字段中。
- 默认情况下,附件控件会呈现图像,并显示与其他文件类型对应的程序图标。例如,假定您已将一张照片、一份简历以及一张 Microsoft Office Visio 2007 绘图附加到记录中。在您滚动浏览附件时,该控件将会呈现图像,并显示用于文档和绘图的程序图标。
- 从表或窗体中打开“附件”对话框时,可以添加、删除、编辑并保存附件。从报表中打开“附件”对话框时,只能将附件保存到其他位置。
- 除非附件本身已经过压缩,否则 Access 会对它们进行压缩。例如,JPEG 文件已由创建它的图形程序压缩过,因此 Access 不再对它们进行压缩。
- 如果您的计算机上安装了创建附件所用的程序,则可以使用该程序打开并编辑这些附件。
- 可以将附件保存在硬盘驱动器或者网络上的位置。然后,可以对附件进行编辑,并在确认所做更改确实是所需更改之后,将这些更改保存回数据库。
- 可以通过编程方式操作附件。
以下部分中的步骤介绍了如何添加和管理附件。
返回页首
将附件字段添加到表中
要在 Office Access 2007 中使用附件,首先必须在数据库中的至少一个表中添加附件字段。Office Access 2007 提供了两种向表中添加附件字段的方法。您可以在数据表视图中添加字段,也可以在设计视图中添加字段。本节中的步骤介绍了如何使用这两种方法。
在数据表视图中添加附件字段
- 在数据表视图中打开表后,单击第一个可用的空白列。要查找空白列,请在列标题中查找词组“添加新字段”。
- 在“数据表”选项卡上的“数据类型和格式”组中,单击“数据类型”旁边的下箭头,然后单击“附件”。
Access 将字段的数据类型设置为“附件”,并将图标放在字段的标题行中。下图显示了一个新的“附件”字段。请注意该字段标题行中的曲别针图标。默认情况下,无法在“附件”字段的标题行中输入文本。

- 保存所做的更改。
请记住,无法将新字段转换为其他数据类型,但如果您认为有错误,则可以删除该字段。
在设计视图中添加附件字段
- 在导航窗格中,右键单击要更改的表,然后单击快捷菜单上的“设计视图”
。
- 在“字段名称”列中,选择一个空白行,然后为“附件”字段输入一个名称。
- 在同一行中,单击“数据类型”下的“附件”。
- 保存所做的更改。
请记住,无法将新字段转换为其他数据类型,但如果您认为有错误,则可以删除该字段。
- 在“设计”选项卡上的“视图”组中,单击“视图”按钮下方的箭头,然后单击“数据表视图”以打开要使用的表。

- 或 -
右键单击该表的文档选项卡,然后单击快捷菜单上的“数据表视图”。
- 或 -
在导航窗格中,右键单击该表,然后单击快捷菜单上的“打开”。
- 继续执行后面的步骤。
返回页首
将文件直接附加到表中
将附件字段添加到表中后,不必创建数据输入窗体便可将文件附加到表的记录中。还可以不使用窗体而直接查看附件,但请记住:从表中直接查看附件时,必须在创建该文件所用的程序中或者在支持该文件类型的程序中进行查看。例如,如果打开一个附加到表中的 Word 文档,则 Word 也会启动,然后可以从 Word 而不是从 Access 中查看该文档。如果您的计算机上没有安装 Word,则会出现一个对话框,要求选择用于查看该文件的程序。
将附件添加到表中
- 当包含附件字段的表在数据表视图中处于打开状态时,双击该附件字段。
将出现“附件”对话框。下图显示了该对话框。

- 单击“添加”。
将出现“选择文件”对话框。
- 使用“搜索范围”列表导航到要附加到记录中的文件,选择一个或多个文件,然后单击“打开”。
可以选择任何受支持的数据类型的多个文件。要获得受支持的数据类型列表,请参阅本文后面的附件参考。
- 在“附件”对话框中,单击“确定”以将文件添加到表中。
Access 会将文件添加到字段中,并相应增加指示附件数量的数字。下图显示了附加了两个图像的字段:

- 根据需要重复上述步骤,将文件添加到当前字段或表中的其他字段。
从表中打开附件
- 当表在数据表视图中处于打开状态时,双击附件字段中的单元格。
- 在“附件”对话框中,双击要打开的文件。
- 或 -
选择文件并单击“打开”。 与此文件关联的程序将会启动并打开附件 - Excel 文件在 Excel 中打开,依此类推。
注释 有些图像文件可能用 Microsoft Windows 图片和传真查看器打开。除了查看图像以外,如果要进行其他操作,可右键单击相应的图像,然后单击“编辑”。如果计算机中已安装了创建该文件所用的程序,则会启动该程序。
保存对附件的更改
- 如有需要,请使用父程序编辑文件。
- 保存对文件所做的任何更改并关闭父程序。请记住:无论何时更改附件,所做更改均会保存在硬盘驱动器的 Internet 临时文件夹中。有关 Internet 临时文件夹的更多信息,请参阅本部分结尾处的备注。
- 要永久性地保存更改,请返回到 Access,在“附件”对话框中单击“确定”。
将出现一条与以下类似的消息:

- 单击“是”保存更改。
注释
- 在某个附件的父程序中打开该文件以进行查看或编辑时,Access 会将该文件的临时副本放在一个临时文件夹中。如果从父程序中对该文件进行更改并保存更改,则 Access 会将更改保存到临时副本中。当您返回到 Access 并单击“确定”关闭“附件”对话框时,Access 会再次提示您保存附件。单击“是”将更改后的文件写入到数据库中,或者单击“否”以使数据库中的文件内容保持不变。
- 要查找临时文件夹的位置,请使用以下步骤:
- 启动 Windows Internet Explorer。
- 在“工具”菜单上,单击“Internet 选项”。
- 在“常规”选项卡上,单击“设置”。
此时会出现“设置”对话框。在“Internet 临时文件夹”部分中将出现该文件夹路径。
返回页首
将附件用于窗体和报表
如果需要将附件用于窗体和报表,则可使用附件控件。当您在数据库记录中移动时,该控件会自动呈现图像文件。如果附加其他类型的文件(如文档或绘图),则附件控件会显示该文件类型对应的图标。例如,在添加演示文稿时,便可以看到 PowerPoint 图标,依此类推。使用该控件还可以浏览任何附件以及打开“附件”对话框。如果是从窗体中打开该对话框,则可添加、删除、编辑和保存附件。如果是从报表中打开该对话框,则仅可将附件保存到硬盘驱动器或网络位置,因为按照设计,报表是只读的。
以下部分中的步骤将介绍如何将图像控件添加到窗体或报表中、如何浏览记录、如何附加文件以及如何查看附件。请记住:仅当给定记录包含多个附件时,才可以滚动浏览附件。
将附件控件添加到窗体或报表中
本部分中的步骤介绍了如何将附件控件添加到窗体或报表中,然后将该控件绑定到基础表中的“附件”字段。将附件控件添加到窗体或报表中时,可执行相同的步骤。在开始操作之前,请记住:在数据库中至少有一个表必须具有附件字段。有关添加附件字段的信息,请参阅本文前面的将附件字段添加到表中。
注释 由于窗体和报表的设计过程复杂,以上部分中的步骤假定您已有一个至少包含一个表以及一个窗体或报表的数据库。有关创建表、窗体或报表的信息,请参阅下面的文章:
添加附件控件
- 在导航窗格中,右键单击要更改的窗体或报表,然后单击快捷菜单上的“设计视图”。
- 在“设计”选项卡上的“工具”组中,单击“添加现有字段”。
将出现“字段列表”窗格,其中列出了表中为窗体或报表提供数据的字段。该列表通过使附件字段可展开(即,可以单击该字段旁边的加号或减号)来指示附件字段。
下图显示了“字段列表”窗格中的一个典型附件字段。

- 将整个附件字段从列表拖动到窗体中(父项和子项),并将它放到窗体上的所需位置。
Access 将附件控件放在窗体中,并将该控件绑定到表字段中。
- 根据需要,右键单击该控件,然后单击“属性”以显示该控件的属性表。对控件属性进行设置或更改,以与窗体或报表的其余部分匹配。
- 保存所做的更改,然后右键单击文档选项卡并单击“窗体视图”或“报表视图”以打开要查看的窗体或报表。
如果基础字段包含图像文件,则该控件会呈现这些文件。如果基础字段包含其他类型的文件(如 Word 文档或 PowerPoint 演示文稿),则该控件将会显示该文件类型对应的图标。
使用窗体管理附件
将附件控件添加到一个窗体之后,便可直接从该窗体中添加、编辑、删除和保存附件。当某一记录中包含多个附件时,也可以滚动浏览附件,但在使用表时不可进行这一操作。
注释 窗体设计人员可能会将窗体设置成只读。如果是这样,则只有使用“附件”对话框才能将附件保存到硬盘驱动器或网络上的位置。
附加文件
- 打开显示附件的窗体,查找要向其附加文件的记录。
- 选择附件控件(绑定到“附件”字段的控件)。
将显示微型工具栏:
注释 如果您已将附件控件添加到分割窗体的数据表部分中,则不会显示微型工具栏。有关分割窗体的详细信息,请参阅文章创建分割窗体。
- 单击“查看附件”按钮(曲别针图标)以打开“附件”对话框。
- 在该对话框中,单击“添加”。
将出现“选择文件”对话框。
- 使用“搜索范围”列表导航到要附加的文件,然后单击“打开”。
- 要附加更多文件,请重复步骤 4 和步骤 5。
滚动浏览附件
注释 本部分中的步骤适用于窗体和报表。
- 打开显示附件的窗体或报表。
- 导航到包含附件的记录。
- 单击显示附件的图像控件。
将显示微型工具栏。
- 单击“后退”(向左键)或“前进”(向右键)以滚动浏览附件。如果想知道文件名,请单击“查看附件”按钮以打开“附件”对话框。附件的名称将出现在“附件”列表中。
返回页首
将附件保存到其他位置
本部分中的步骤适用于表、窗体和报表。可以将附加到给定记录的一个文件或所有文件保存到硬盘驱动器或网络上的位置。请记住,在选择保存所有文件时,不能选择保存部分文件 - 必须保存所有文件。要有选择地保存文件,需要每次选择一个文件进行保存。
- 打开包含附件的表、窗体或报表,然后打开“附件”对话框。
从表中打开“附件”对话框
- 在数据表视图中打开表,双击包含要保存的附件的附件字段。
从窗体或报表中打开“附件”对话框
- 打开显示附件的窗体或报表。
- 导航到包含附件的记录。
- 单击显示附件的图像控件。
将显示微型工具栏。
- 单击“查看附件”按钮。
保存单个附件
- 在“附件”对话框中,单击“另存为”。
将出现“保存附件”对话框。
- 使用“保存位置”列表导航到文件的新位置,然后单击“保存”。
保存所有附件
- 在“附件”对话框中,单击“全部保存”。
将出现“保存附件”对话框。
- 使用“搜索范围”列表导航到文件的新位置,然后单击“保存”。
返回页首
删除附件
本部分中的步骤适用于表和窗体。
删除附件
- 双击表中的附件字段以打开“附件”对话框。
- 或 -
在窗体中(在布局视图或窗体视图中),定位到包含要删除的附件的记录,然后单击微型工具栏上的“查看附件”按钮以打开该对话框。
- 在“附件”对话框中,选择要删除的文件,然后单击“删除”。
返回页首
在没有鼠标或其他指向设备的情况下使用附件
以下部分将介绍如何使用键盘将焦点置于导航窗格中,以及如何使用键盘打开包含附件的表、窗体或报表。这些步骤还介绍了如何浏览附件和打开“附件”对话框。
从导航窗格中打开表、窗体或报表
- 按 F11。
注释 如果导航窗格已关闭,按 F11 可打开该窗格并将焦点放置到其中。如果该窗格已打开,按 F11 可将其关闭。必须再次按 F11 才能打开该窗格并将焦点移至其中。
- 使用向上键和向下键选择要打开的表、窗体或报表。
- 按 Enter 打开所选对象。
如果打开一个表,Access 会将光标放在表中的第一个字段中。如果打开一个窗体或报表,则 Access 会将焦点放在第一个字段中。
从表中查看附件
- 如有必要,请使用箭头键将光标移到所需的附件字段。
- 按空格键。
将出现“附件”对话框。
- 按 Tab 键在对话框中的按钮之间移动,然后从按钮移到“附件”下的附件列表。
注释 记录可能包含多个附件。如果需要从包含两个或两个以上文件的列表中选择附件,请按 Tab 键移到该文件列表,然后使用箭头键选择所需文件。接着,按 Tab 键返回到按钮,然后选择所需操作。
- 在选择了所需的文件和按钮后,请按 Enter。
- 选择完成后,按 Tab 键,或者使用向上键和向下键选择“确定”,然后按 Enter。
从窗体或报表中滚动浏览附件
注释 这些步骤仅适用于您具有 Microsoft Natural Keyboard(人体工学键盘)且某一记录中包含多个附件的情况。
- 根据需要,按 Tab 键将焦点移到附件控件。默认情况下,Access 将突出显示该控件以及与该控件相关联的标签(如果存在这样的标签)。
- 按应用程序键。
将出现一个快捷菜单。
- 按 Tab 键,或者使用箭头键选择“前进”或“后退”,然后按 Enter。
- 根据需要重复步骤 2,以滚动浏览附件。
从窗体或报表中打开“附件”对话框
注释 这些步骤仅适用于您具有 Microsoft Natural Keyboard(人体工学键盘)的情况。
- 根据需要,按 Tab 键将焦点移到附件控件。默认情况下,Access 将突出显示该控件以及与该控件相关联的标签(如果存在这样的标签)。
- 按应用程序键。
将出现一个快捷菜单。
- 按 Tab 键,或者使用箭头键选择“查看附件”,然后按 Enter。
将出现“附件”对话框。
- 按 Tab 键在对话框中的按钮之间移动,然后从按钮移到“附件(双击可编辑)”下的附件列表。
注释 记录可能包含多个附件。如果需要从包含两个或两个以上文件的列表中选择附件,请按 Tab 键移到该文件列表,然后使用箭头键选择所需文件。接着,按 Tab 键返回到按钮,然后选择所需操作。
- 在选择了所需的文件和按钮后,请按 Enter。
- 选择完成后,按 Tab 键,或者使用箭头键选择“确定”,然后按 Enter。
返回页首
附件参考
以下各部分提供了附件的参考信息,包括附件所支持的图像和文档的文件格式、文件命名规则以及有关通过编程方式将文件附加到记录的信息。
支持的图像文件格式
Office Access 2007 本身可支持以下图形文件格式,这意味着无需其他软件,附件控件便可呈现这些文件。
- BMP(Windows 位图)
- RLE(行程编码位图)
- DIB(与设备无关的位图)
- GIF(图形交换格式)
- JPEG、JPG、JPE(联合图像专家组)
- EXIF(可交换文件格式)
- PNG(可移植网络图形)
- TIFF、TIF(标签图像文件格式)
- ICON、ICO(图标)
- WMF(Windows 图元文件)
- EMF(增强型图元文件)
支持的文档和其他文件的格式
通常,您可以附加用 2007 Microsoft Office System 的其中一个程序创建的任一文件。您也可以附加日志文件 (.log)、文本文件(.text 和 .txt)以及压缩文件 ( .zip)。
文件命名规则
附件的名称可以包含受在 Microsoft Windows NT (NTFS) 中使用的 NTFS 文件系统支持的任何 Unicode 字符。另外,文件名必须遵循以下准则:
- 文件名(包括文件扩展名)不得超过 255 个字符。
- 文件名不得包含以下字符:问号 (?)、引号 (")、正斜线或反斜线 (/ \)、左括号或右括号 (< >)、星号 (*)、竖线 (|)、冒号 (:) 或段落标记 (¶)。
Access 压缩的文件类型
将以下任一文件类型附加到数据库中时,如果文件本身没有经过压缩,则 Access 将对其进行压缩。
| 文件扩展名 |
是否压缩? |
原因 |
| .jpg、.jpeg |
否 |
已压缩 |
| .gif |
否 |
已压缩 |
| .png |
否 |
已压缩 |
| .tif、.tiff |
是 |
|
| .exif |
是 |
|
|
.bmp |
是 |
|
| .emf |
是
|
|
| .wmf |
是 |
|
| .ico |
是
|
|
| .zip |
否 |
已压缩 |
| .cab |
否 |
已压缩 |
| .docx |
否 |
已压缩(Metro 文件) |
| .xlsx |
否 |
已压缩(Metro 文件) |
| .xlsb |
否 |
已压缩(Metro 文件) |
| .pptx |
否 |
已压缩(Metro 文件) |
阻止的文件格式
Office Access 2007 会阻止以下附件类型。同时,您无法取消阻止在此处列出的任一文件类型。
| .ade |
.ins |
.mda |
.scr |
| .adp |
.isp |
.mdb |
.sct |
| .app |
.its |
.mde |
.shb |
| .asp |
.js |
.mdt |
.shs |
| .bas |
.jse |
.mdw |
.tmp |
| .bat |
.ksh |
.mdz |
.url |
| .cer |
.lnk |
.msc |
.vb |
| .chm |
.mad |
.msi |
.vbe |
| .cmd |
.maf |
.msp |
.vbs |
| .com |
.mag |
.mst |
.vsmacros |
| .cpl |
.mam |
.ops |
.vss |
| .crt |
.maq |
.pcd |
.vst |
| .csh |
.mar |
.pif |
.vsw |
| .exe |
.mas |
.prf |
.ws |
| .fxp |
.mat |
.prg |
.wsc |
| .hlp |
.mau |
.pst |
.wsf |
| .hta |
.mav |
.reg |
.wsh |
| .inf |
.maw |
.scf |
|
以编程方式将文件附加到记录中
Office Access 2007 公开了一个对象模型以及一些编程接口,以便使用 Visual Basic for Applications (VBA) 代码以编程方式将文件附加到记录中。有关以编程方式附加文件的信息,请参阅网址为 http://msdn.microsoft.com 的 Microsoft Developer Network 上的文章“LoadFromFile”和“SaveToFile”。
返回页首