【问题标题】:generate link based on field values in access根据访问中的字段值生成链接
【发布时间】:2017-11-28 20:03:27
【问题描述】:

我们有一个根据测试编号 (A) 和请求编号 (B) 自动保存和命名的报告存档,生成一个类似于 C:\archivefolder\B_A 的目录。我正在访问中创建一个包含 A 和 B 字段的表,并且我想添加第三个字段,其中包含指向相关报告的超链接。我的计划是通过提供目录的第一部分 (C:\arvhivefolder) 自动生成链接,然后根据在其他两个字段(A 和 B)中输入的内容连接剩余部分。

到目前为止,我所做的创建了正确的目录并将其复制到超链接字段中,但链接不起作用。如果我将链接复制并粘贴到另一个字段中,则会将“##”添加到行尾 (C:\archivefolder\B_A##)。当我删除“##”时,链接有效。

谁能帮我解决这个问题?据我所知,我正在重命名链接,但没有更改地址/目录。

这是我到目前为止所做的:

为了创建完整目录,我创建了一个名为 ResultsLink 的字段,其中的表达式为:

"C:\archivefolder\" & [B] & "_" & [A] & ".pdf"

我不相信有办法从该计算字段生成链接,因此我创建了另一个具有超链接数据类型的字段并将其命名为 ResultsPDF。然后我创建了一个宏,将 ResultsLink 字段中的值复制到 ResultsPDF 字段中(现在是点击按钮,稍后会更改):

Me.ResultsPDF.Value = ResultsLink.Value
If Me.Dirty Then Me.Dirty = False

当我单击按钮时,超链接字段会更新为似乎是活动链接的内容,但无处可去。

【问题讨论】:

  • 请粘贴完整的表达式。 "C:archivefolder" 缺少斜杠,并且表达式似乎不可能产生您所说的那样。
  • 感谢您对细节的关注;我已经从原帖中删除了我的错误。
  • 可以以编程方式构造一个有效的超链接并保存到超链接类型字段中。一个超链接有 3 个部分 allenbrowne.com/casu-09.html。或者在函数中使用简单的字符串在其本机应用程序中打开文件。尝试 FollowHyperlink 或 allenbrowne.com/func-GoHyperlink.html 或使用 Shell 方法。

标签: ms-access hyperlink vba


【解决方案1】:

感谢 June7 在 cmets 中发布链接。我更改了我的宏以包含井号,它现在可以完美运行:

Me.ResultsPDF.Value = "#" & ResultsLink.Value & "#" If Me.Dirty Then Me.Dirty = False

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-30
    • 1970-01-01
    相关资源
    最近更新 更多