根目录中的超链接位置

时间:2015-03-02 16:38:09

标签: ms-access access-vba

我刚刚在Access中创建了一个数据库,该数据库将包含子目录中PDF文件的超链接。

我可以简单地复制粘贴整个目录位置,但是如果我改变文件的位置(或者如果我们被迫将它们移动到其他地方),我将不得不重命名所有这些文件。

似乎更好的解决方案是告诉Access查看“root”目录并搜索可能永远不会更改的特定文件夹名称。

这可能吗?

澄清:

Database location: X:/Somewhere/Over/Here.ADB

PDF file location: X:/Somewhere/Over/There/123abc.PDF

告诉访问位于.ADB“root”目录的“There”文件夹中的搜索会更好,打开123abc.PDF

另一种方法是输入PDF位置值,如下所示:

X:/Somewhere/Over/There/123abc.PDF

X:/Somewhere/Over/There/456def.PDF... etc.

但是,如果数据库的位置更改为,例如X:/Somewhere/Else/,那么我需要重命名所有位置。

1 个答案:

答案 0 :(得分:2)

如果我正确理解你正在寻找什么,你可以使用这样的东西:

Private Sub Form_Load()

    Dim strDBPath as string
    strDBPath = CurrentProject.Path & "\"

    Me.Textbox1.Hyperlink = strDBPath & "PDFs\123abd.pdf"
    Me.Textbox2.Hyperlink = strDBPath & "PDFs\456efg.pdf"

End Sub

虽然这是基于您的前端文件位于' root'夹。

在注意到您的评论后,我将使用其他选项暂时更新以使用后端文件。

Private Sub Form_Load()

    Dim strDBPath as string
    strDBPath = Left(Mid(Currentdb.TableDefs("TableName").Connect, 11),Len(Mid(Currentdb.TableDefs("TableName").Connect, 11)) - 10)

    Me.Textbox1.Hyperlink = strDBPath & "PDFs\123abd.pdf"
    Me.Textbox2.Hyperlink = strDBPath & "PDFs\456efg.pdf"

End Sub

10是后端名称的长度相应调整我无法想到任何方式来更加动态地获得它。我觉得这样的东西有点混乱,可能有一种更简单的方法,但这是你如何做你想要的事情的基础工作。