创建指向表单上的文件的链接,但文件地址存储在另一个表中



我制作了一个表格,用作网络上受控文档的部门间签核表。数据库已包含一个表,其中包含每个文档位置的超链接字段。该表还具有文档 ID 的文本字段。我的表单将其信息存储在不同的表中,但我希望我仍然可以使用第一个表中的超链接,而不是在第二个表中创建新链接。

我的谷歌搜索将我带到了这个论坛帖子,该帖子展示了使用FollowHyperlink和DLookup的一行:

Application.FollowHyperlink DLookup("Document_ID", "Documents", "Document_ID = '" & Me.DocumentID.Value & "'")

Document_ID是保存超链接的字段。

Me.DocumentID 是用户键入的文本框,单击此字段时代码将运行。

我已经尝试了多种代码变体,包括将表字段包装在括号"[]"中,使用超链接字段或文本字段作为条件,使用 Like 而不是 =(以及 Me.DocumentID 周围的星号(。所有这些都会导致运行时错误 2471:

作为查询参数输入的表达式生成此错误: "Document_ID">

这让我认为 Dlookup 不喜欢超链接字段,因为我可以很好地拉取其他字段。我错过了什么?或者有没有更好的方法来引用不同表中的超链接?

感謝 HansUp 為我指出正確的方向。事实证明,表中不存在"Document_ID"。相反,超链接字段在下划线和 ID("Document_ ID"(之间有一个空格,直到将表中的名称复制到空格更明显的 vba 中,我才抓住它。

在条件中使用超链接字段时,Dlookup 不起作用,因此改用带有文档 ID 的文本字段,并将我的代码更改为以下内容。关注超链接不会采用整个字段值(标题#地址(

Dim LinkText As String
LinkText = DLookup("[Document_ ID]", "Documents", "[DocID] = '" & Me.DocumentID & "'")
LinkText = Application.HyperlinkPart(LinkText, acAddress)
Application.FollowHyperlink LinkText

该控件现在将打开存在的文档(现在处理文档不存在时使用的代码(

最新更新