首页 > 解决方案 > 如何转换为访问中的图像文件的相对路径(用于使用闪存驱动器中的数据库)?

问题描述

我想将我的数据库移动到闪存驱动器(化石收藏的目录)。我想将它发送给一些可能在不同计算机上使用它的同事。相关图像的大小相当大,22 GB,因此考虑到重复复制的麻烦并且不知道它们有多少空间,我认为直接从闪存驱动器运行它会更方便。

我已将图像移动到与数据库相同的文件夹中。这些存储在“收藏图像”文件夹中的子文件夹中。

我可以通过放置(例如)来显示图像

=[CurrentProject].[Path] & "\Collection images\Cabinet
19\0001-19-1-22390a-1.tif"

在图像控制源中,但我已经在一个字段中拥有文件路径(超过一千个),并且想知道是否有一种更省时的方式来执行此操作。我还创建了一个搜索表单,但我不确定此方法将如何影响其行为。

这是我的第一个数据库,我的编码经验几乎不存在。“按数字”的解释将非常有帮助,但任何指针将不胜感激 - 谢谢!

标签: ms-accessms-access-2016

解决方案


我个人的做法通常是:使用占位符来指示文件夹的路径:

首先,更新表:

UPDATE MyTable
SET ImagePath = Replace(ImagePath, "C:\My\Absolute\Path", "%Placeholder%")

然后,在显示时将占位符替换为当前路径。

作为图像属性:

=Replace(ImagePath, "%Placeholder%", CurrentProject.Path)

您还可以决定只存储没有占位符的相对路径:

UPDATE MyTable
SET ImagePath = Replace(ImagePath, "C:\My\Absolute\Path", "")

然后在开头附加当前路径:

=CurrentProject.Path & ImagePath

占位符方法的主要优点是您可以混合使用绝对路径和相对路径,并在单个表中使用多个不同的相对路径。


推荐阅读