使用数据表视图将 GIF、JPEG 和其他常见类型的图像文件添加到 Access 表中的 OLE 对象字段时,会看到单词“包”而不是预期的“位图图像”。
“包”出现在 字段中,因为 OLE 对象字段仅支持 Windows 位图 (.bmp) 和设备独立位图 (.dib) 文件。 如果要在 OLE 对象字段中存储其他类型的图形文件并让 Access 正确呈现它们,则必须安装其他软件,并且该软件必须提供 (称为 OLE 服务器的 组件,) 显示其他图像类型所需的组件。
以前版本的 Microsoft Office 提供了一个名为 Microsoft 照片编辑器的程序,该程序反过来又提供了呈现 GIF 和 JPEG 文件所需的 OLE 服务器。 Office 2003 系统已将照片编辑器替换为 Microsoft 图片管理器,后者不为这些类型的文件提供所需的 OLE 服务器。
可以使用以下任一技术来解决此问题:
-
将图像存储在数据库外部,并使用 Visual Basic® for Applications (VBA) 代码来显示它们。 有关详细信息,请参阅 Microsoft 知识库文章 如何在窗体、报表或数据访问页中显示文件夹中的图像。
-
将 GIF 或 JPEG 图像转换为 Windows 位图 (.bmp) 文件。 尽管 BMP 文件通常大于 GIF 或 JPEG 文件,但它们可以帮助减小数据库的大小,因为 Access 不会创建其他设备独立位图 (.dib) 文件来支持它们。 有关使用 GIF 或 JPEG 图像时 Access 为何会创建 DIB 文件的信息,请参阅 Microsoft 知识库文章 为什么 OLE 对象会导致数据库增长。
更多信息
有关将图像与 Access 配合使用的详细信息,请参阅以下文章:
-
ACC:为什么 OLE 对象会导致数据库增长 解释了为什么在 OLE 对象字段中存储 GIF 和 JPEG 图像会迅速增大数据库的大小。
-
如何将位图文件保存为 Access OLE 对象字段中的 OLE 对象 介绍了如何使用 VBA 代码将图像文件存储在 OLE 对象字段中,并自动启动正确的容器并显示这些文件。