是否可以在MS Access 2003或2010中使用图像的相对路径?
据我所知,事实并非如此。
您可以在运行时使用生成路径,并使其看起来像是一个相对路径
image1.Picture = <ProgramPath> & "\" & <RelativePath>
但这样做,我没有能力在设计时看一下图片。我确实需要这个选项!
这是用例。如果你知道一个解决方案,那就太好了:
folderDevelopment&lt;只能访问开发人员和玩新东西 folderDevelopment \ myProgram \ myProgramDevelopment.mdb / accdb&lt; testprogram folderDevelopment \ myProgram \ Images&lt; imagefolder
folderProduction&lt;普通用户可以访问
folderProduction \ myProgram \ Images&lt;普通用户的图像文件夹
folderProduction \ myProgram \ myProgramProduction.mdb / accdb&lt;普通用户的程序
有时我需要复制myProgramDevelopment.mdb,将其重命名为myProgramProduction.mdb 并将其移动到另一个文件夹。
如果我使用绝对路径,我的链接不会中断,但普通用户无权读取folderDevelopment。所以图片破了。
如果我使用伪相对路径,运行期间的链接总是完美的,但我在设计时没有图像,所以它不适合开发。
我现在看到的唯一解决方案是使用绝对路径并在每次切换时(手动或使用宏)更改它们,这是一个选项,但不是很好。
为什么访问2003年甚至2010年都不支持相对路径?太蹩脚了:/
答案 0 :(得分:1)
Application.CurrentProject.Path
将返回.mdb / .accdb的路径。然后,您可以将其用作创建“相对”路径的基础。
您无法在Access 2003中直接使用图像的相对路径(我不能代表Access 2010)。通常接受的解决方法是在Form_Load事件中设置图像控件Picture
属性:
Me.MyImg.Picture = Application.CurrentProject.Path & "\images\MyPic.jpg"