Image ms access链接的图像恢复路径

Image ms access链接的图像恢复路径,image,ms-access,Image,Ms Access,我有一个图像对象。 我已将图片类型设置为“链接”,因此如果需要,可以更改图片。 我已将图片属性设置为图片名称 我认为access应该使用relitive寻址,并简单地在当前目录中查找映像。但是它没有,我得到一个错误,告诉我它找不到图片 有人有办法吗?(除了将图片类型设置为嵌入式或使用完整文件地址之外?) 谢谢 更新: 我试过这个: Private Sub Form_Load() Dim file As String file = CurrentDb().Name file = Replace(f

我有一个图像对象。 我已将图片类型设置为“链接”,因此如果需要,可以更改图片。 我已将图片属性设置为图片名称

我认为access应该使用relitive寻址,并简单地在当前目录中查找映像。但是它没有,我得到一个错误,告诉我它找不到图片

有人有办法吗?(除了将图片类型设置为嵌入式或使用完整文件地址之外?)

谢谢

更新:

我试过这个:

Private Sub Form_Load()
Dim file As String
file = CurrentDb().Name
file = Replace(file, ".mdb", ".bmp")
Me.Image46.Picture = file
端接头

它工作正常,但我仍然收到错误消息。我点击OK,它就工作了。只需将错误消息清除即可

解决方案:使用上述代码(或下面答案中的代码),然后将“图片类型”设置为“嵌入”,然后删除“图片”字段,使其显示“(无)”。 保存并运行。 它应该会起作用


谢谢

您可以像这样设置表单OnLoad事件的属性

Me.imgMy_image.picture=getDBPath & “mypicture.bmp”
下面是getDBPath函数

Public Function GetDBPath() As String
    Dim strFullPath As String
    Dim I As Integer

    strFullPath = CurrentDb().Name

    For I = Len(strFullPath) To 1 Step -1
        If Mid(strFullPath, I, 1) = "\" Then
            GetDBPath = Left(strFullPath, I)
            Exit For
        End If
    Next
End Function

在任何人评论“是”之前,我知道在access 2000及更高版本中,您可以使用currentproject.path,但我被时间遗忘了,因此需要该自定义功能,它仍然适用于access的更高版本。当前文件夹取决于您在access中打开数据库的方式。至少,如果通过“文件打开”打开,当前文件夹将更改为MDB文件的文件夹。但如果您在资源管理器中双击MDB打开,则不会打开。

谢谢!但是为什么我不直接说Me.imgMy\u image.picture=currentproject.path&“mypicture.bmp”?我真的不明白你说的关于被困在“时间遗忘的土地”中的话,只是提到了一个事实:在工作中,我被困在使用access97,它没有CurrentProject.path函数,所以我必须使用自定义函数。我的意思是,得了吧,这是一个几乎可以喝酒的节目!(在英国)哈哈,他们需要更新。就连我的公司都使用2003年。无论如何。我正在更新上面的内容。我尝试了一些方法,但仍然有一个错误。解决方案是:将图片类型设置为embedded,然后删除文件名。我有很多数据库在2000年之前就开始使用了,因此我有自己的自定义代码,用于从数据库名获取路径。它可以很容易地被CurrentProject.Path替换,但麻烦的是什么呢?当然,我有一些使用CurrentProject.Path的更新代码。