ms-access - 该文件将不会打开与它关联的超链接字段
问题描述
我有一个带有超链接数据类型字段的表,其中填充了文件位置超链接。
然后我有一个表单和列表框,列表框填充了上面的表格字段。
虽然列表框填充正确,但当我单击它们时没有打开任何文件,它有一个值,例如
“打开文件#C:\1.pdf#”
该文件存在,但是当我单击表单中的字段时没有任何反应。
解决方案
这是因为列表框值只是一个字符串。Access 不会将此识别为可操作的超链接,因为它不是从表中的超链接字段或超链接格式控件中激活的。此外,如果列表框绑定到字段,则单击项目将更改记录中的值。
只有文本框和组合框控件可以格式化为可操作的超链接。两者都有 IsHyperlink 和 DisplayAsHyperlink 属性。
可以在列表框后面有 VBA 代码,该代码使用 HyperlinkPart() 内部函数提取中间超链接部分,并在 FollowHyperlink() 内部函数中使用它。
我不使用超链接类型字段。我将超链接保存到文本字段,然后使用 VBA FollowHyperlink 函数或使用查询中的表达式构造可操作的超链接(并将字段绑定到格式化的文本框)或在文本框中计算:
"#" & [Link] & "#"
推荐阅读
- python - 将键和字典作为键值对添加到现有字典中
- php - 为什么我的 PHP 代码中出现 (语法错误,意外标记 ";" )?
- python - Pandas loc 为相同的过滤器提供不同的值
- html - 当输入太大时,有序列表中的单词不会换行
- c++ - 使 ++o++ 抱怨具有用户定义的前置和后缀增量运算符的类型
- r - 如何使用 dplyr 将列中的值除以 R 中的特定行?
- java - Studio 4 不处理导入
- java - NamedParameterJdbcTemplate 性能缓慢
- node.js - Mineflayer - options.username = options.username ?? “播放器”错误
- javascript - Lazysizes 不像我拥有的其他项目那样在 div 上工作 - Angular