可以使用 Access 中的附件功能将一个或多个文件(文档、演示文稿、图像等)添加到数据库中的记录。 本文提供配置数据库以使用附件以及附加和管理数据所需的背景信息和步骤。
本文内容
为什么使用附件?
可以使用附件将多个文件存储在单个字段中,甚至还可在该字段中存储多种类型的文件。 例如,假定你有一个工作联系人数据库。 现在,可以将一份或几份简历附加到每位联系人的记录中,并附加每位联系人的照片。
附件还可以更有效地存储数据。 早期版本的 Access 使用称为对象链接和嵌入 (OLE) 的技术来存储图像和文档。 默认情况下,OLE 会创建一个等同于相应的图像或文档的位图。 这些位图文件可能会变得十分庞大 - 最大可能会相当于原文件大小的 10 倍。 当您查看数据库中的图像或文档时,OLE 将显示位图图像,而不是原文件。 通过使用附件,可以在其父程序中打开文档和其他非图像文件,因此可以从 Access 内搜索和编辑这些文件。
另外,OLE 需要名为 OLE 服务器的程序才能正常工作。 例如,如果将 JPEG 映像文件存储在 Access 数据库中,则运行该数据库的每台计算机都需要另一个注册为 JPEG 映像的 OLE 服务器的程序。 相反,如果 Access 不支持图像,则会按照附件本身的格式存储它们,因此您无需安装其他软件便可查看数据库中的图像。
附件和数据库设计规则
默认情况下,关系数据库中的每个字段都仅包含一段数据。 例如,如果某个地址字段包含了多个地址,那么查找地址将会变得困难,甚至有可能找不到。 所以乍看之下,附件似乎违背了数据库设计的规则,因为可以向字段附加多于一个文件(一段数据)。 但实际上附件并不违背任何设计规则,因为当你将文件附加到记录时,Access 会创建一个或多个系统表,并使用这些表在后台对数据进行规范化。 你无法查看或处理这些表。
附件的使用方式
使用附件时,请记住以下准则:
-
可以将文件仅附加到在 Access 中创建且使用 .accdb 文件格式的数据库。 你无法在 Access (.accdb) 数据库和早期 (.mdb) 文件格式的数据库之间共享附件。
-
必须在表中创建一个字段,并将该字段设置为“附件”数据类型。 将数据类型设置为“附件”后,便不能再更改它。
-
可以将多个文件存储在单个记录中。 例如,您可以存储图像以及用文字处理和电子表格程序创建的文件。
-
最多可以附加两 GB 的数据 ( Access 数据库) 的最大大小。 单个文件的大小不得超过 256MB。
-
使用“附件”对话框可添加、编辑并管理附件。 通过双击表中的附件字段,可以直接从该字段中打开此对话框。 如果要从窗体中管理附件,或者要从报表中查看附件,则可将附件控件添加到相应的窗体或报表中,然后将该控件绑定到基础附件表字段中。
-
默认情况下,附件控件会呈现图像,并显示与其他文件类型对应的程序图标。 例如,假定将一张照片、一份简历和一张 Visio 绘图附加到了某条记录中。 在滚动浏览附件时,该控件会呈现图像并显示文档和绘图的程序图标。
-
当从表或窗体打开“附件”对话框时,可以添加、删除、编辑和保存附件。 当从报表打开“附件”对话框时,只能将附件保存到其他位置。
-
除非附件本身已经过压缩,否则 Access 会对它们进行压缩。 例如,JPEG 文件已由创建它的图形程序压缩过,因此 Access 不再对它们进行压缩。
-
如果您的计算机上安装了创建附件所用的程序,则可以使用该程序打开并编辑这些附件。
-
可以将附件保存在硬盘驱动器或者网络上的位置。 然后,可以对附件进行编辑,并在确认所做更改确实是所需更改之后,将这些更改保存回数据库。
-
可以通过编程方式操作附件。
以下几个部分中的步骤介绍如何添加和管理附件。
将附件字段添加到表中
要在 Access 中使用附件,首先必须至少向数据库中的一个表添加附件字段。 Access 提供两种方法来向表中添加附件字段。 你可以在数据表视图中添加附件字段,也可以在设计视图中添加附件字段。 本部分中的步骤介绍如何使用这两种方法。
在数据表视图中添加附件字段
-
在数据表视图中打开表后,单击第一个可用的空白列。 要查找空白列,请在列标题中搜索关键词“添加新字段”。
-
在“ 表字段”选项卡上的“ 格式” 组中,单击“ 数据类型”旁边的向下箭头,然后单击“ 附件”。
Access 将字段的数据类型设置为“附件”,并在字段的标题行中放置图标。 下图显示了一个新的“附件”字段。 请注意该字段标题行中的曲别针图标。 默认情况下,无法在“附件”字段的标题行中输入文本。
-
保存所做的更改。
请记住,你无法将该新字段转换为其他数据类型,但如果觉得犯了错误,可以删除它。
在设计视图中添加附件字段
-
在导航窗格中,右键单击要更改的表,然后单击快捷菜单上的“ 设计视图 ” 。
-
在“字段名称”列中,选择一个空白行,然后为“附件”字段输入一个名称。
-
在同一行中,单击“数据类型”下的“附件”。
-
保存所做的更改。
请记住,你无法将该新字段转换为其他数据类型,但如果觉得犯了错误,可以删除它。
-
在“设计”选项卡的“视图”组中,单击“视图”按钮下方的箭头,然后单击“数据表视图”以打开要用的表。
- 或 -
右键单击相应表的文档选项卡,然后单击快捷菜单上的“数据表视图”。
- 或 -
在导航窗格中,右键单击相应表,然后单击快捷菜单上的“打开”。
-
继续执行后面的步骤。
将文件直接附加到表中
将附件字段添加到表后,不必创建数据输入窗体便可将文件附加到该表的记录中。 还可以不使用窗体而查看附件,但请记住,从表中直接查看附件时,必须在创建相应文件时所用的程序中或在支持相应文件类型的程序中进行查看。 例如,如果打开附加到表格的 Word 文档,Word 也会启动,并且你从 Word 中查看文档,而不是 Access 。 如果计算机上未安装 Word,系统将弹出对话框,要求你选择一个程序来查看文件。
将附件添加到表中
-
当包含附件字段的表在数据表视图中处于打开状态时,双击该附件字段。
将出现“附件”对话框。 下图显示该对话框。
-
单击“添加”。 将出现“选择文件”对话框。
-
使用“搜索范围”列表导航到要附加到记录中的文件,选择一个或多个文件,然后单击“打开”。
可以选择任何受支持的数据类型的多个文件。 要获得受支持的数据类型列表,请参阅本文后面的附件参考。
-
在“附件”对话框中,单击“确定”以将文件添加到表中。
Access 将文件添加到 字段中,并相应地递增指示附件的数字。 下图显示附加了两张图像的字段:
-
根据需要重复执行上述步骤,将文件添加到当前字段或表中的其他字段。
从表中打开附件
-
当相应表在数据表视图中处于打开状态时,双击附件字段中的单元格。
-
在“附件”对话框中,双击要打开的文件。
- 或 -
选择文件,然后单击“打开”。
此时,与文件关联的程序会启动并打开附件, 例如 Excel 文件在 Excel 中打开,依此类推。
某些图像文件可以在 Microsoft Windows 图片中打开。 如果你不仅仅只想查看图像,可右键单击相应的图像,然后单击“编辑”。 如果计算机中已安装了创建该文件所用的程序,则会启动该程序。
保存对附件所做的更改
-
如有需要,请使用父程序编辑文件。
-
保存对文件所做的任何更改并关闭父程序。 请记住:无论何时更改附件,所做更改均会保存在硬盘驱动器的 Internet 临时文件夹中。 有关 Internet 临时文件夹的更多信息,请参阅本部分结尾处的备注。
-
若要永久保存更改,请返回到 Access ,然后在“ 附件 ”对话框中,单击“ 确定”。
将显示与以下内容类似的消息:
-
单击“是”保存更改。
注意: 在父程序中打开附加文件以供查看或编辑时, Access 将文件的临时副本放在临时文件夹中。 如果更改文件并从父程序内保存更改, Access 将更改保存到临时副本。 返回 Access 并单击“ 确定” 以关闭“ 附件 ”对话框时, Access 会提示再次保存附加文件。 单击“是”将更改后的文件写入到数据库中,或者单击“否”以使数据库中的文件内容保持不变。
将附件用于窗体和报表
如果需要将附件用于窗体和报表,则可使用附件控件。 当您在数据库记录中移动时,该控件会自动呈现图像文件。 如果附加其他类型的文件(如文档或绘图),则附件控件会显示该文件类型对应的图标。 例如,在添加演示文稿时,便可以看到 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。
附件参考
以下各部分提供了附件的参考信息,包括附件所支持的图像和文档的文件格式、文件命名规则以及有关通过编程方式将文件附加到记录的信息。
支持的图像文件格式
Access 本身支持以下图形文件格式,这意味着无需其他软件,附件控件便可呈现这些文件。
BMP(Windows 位图)
RLE(行程编码位图)
DIB(与设备无关的位图)
GIF(图形交换格式)
JPEG、JPG、JPE(联合图像专家组)
EXIF(可交换文件格式)
PNG(可移植网络图形)
TIFF、TIF(标签图像文件格式)
ICON、ICO(图标)
WMF(Windows 图元文件)
EMF(增强型图元文件)
支持的文档和其他文件的格式
通常,可以附加用 Microsoft Office 程序之一创建的任何文件。 也可以附加日志文件 (.log)、文本文件(.text、.txt)和 .zip 压缩文件。
文件命名规则
附加文件的名称可以包含 Microsoft Windows 中使用的 NTFS 文件系统支持的任何 Unicode 字符。 另外,文件名必须遵循以下准则:
-
名称不得超过 255 个字符,包括文件扩展名。
-
名称不能包含以下字符:问号 (?)、引号 (")、正斜线或反斜线 (/\)、左尖括号或右尖括号 (<>)、星号 (*)、竖线 (|)、冒号 (:) 或段落符号 (¶)。
Access 压缩的文件的类型
将以下任一文件类型附加到数据库时, Access 压缩它们(如果尚未以本机方式进行压缩)。
文件扩展名 |
是否压缩? |
原因 |
---|---|---|
.jpg、.jpeg |
否 |
已压缩 |
.gif |
否 |
已压缩 |
.png |
否 |
已压缩 |
.tif、.tiff |
是 |
|
.exif |
是 |
|
.bmp |
是 |
|
.emf |
是 |
|
.wmf |
是 |
|
.ico |
是 |
|
.zip |
否 |
已压缩 |
.cab |
否 |
已压缩 |
.docx |
否 |
已压缩 |
.xlsx |
否 |
已压缩 |
.xlsb |
否 |
已压缩 |
.pptx |
否 |
已压缩 |
阻止的文件格式
Access 将阻止以下类型的附加文件。 目前还无法取消阻止此处列出的任何文件类型。
.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 |
以编程方式将文件附加到记录中
Access 公开对象模型和编程接口,以便使用 Visual Basic for Applications (VBA) 代码以编程方式将文件附加到记录中。 有关以编程方式附加文件的信息,请参阅 文章 LoadFromFile和 SaveToFile。