【发布时间】:2020-07-28 21:30:21
【问题描述】:
我创建了一个表格和表单来跟踪销售机会。我希望用户能够将我们服务器上的关联文件“连接”到每个机会。例如,他们可能希望有机会指出报价。
由于将文件附加到数据库是一个值得商榷的举动,我选择保存路径并希望使用FollowHyperlink 来导航和打开文件。
我的策略是创建一个包含与特定机会相关联的链接的子表单。然后用户可以点击子表单中的子表单昵称来打开相关文件。
通过网上冲浪,我设法创建了一个宏,允许用户将选定的文件和路径存储在名为 LinkLocation 的列中,通过 InputBox 为条目分配昵称,并存储昵称在名为LinkName 的列中。此宏按预期工作。
编辑:代码共享。
Sub test()
Dim f As Object
Dim strSQL As String
Dim strShorthand As String ' Short hand name for display in subform.
Dim strFullFilePath As String ' Full file path
Set f = Application.FileDialog(3)
f.allowMultiSelect = False
f.Show
strFullFilePath = f.SelectedItems(1)
strShorthand = InputBox("Enter the shorthand name here.")
strSQL = "INSERT INTO tblLinks (LinkLocation, LinkName) Values ('" &
strFullFilePath & "','" & strShorthand & " ');"
DoCmd.SetWarnings False
DoCmd.RunSQL strSQL
DoCmd.SetWarnings True
End Sub
我有两个问题。
-
当我在链接到
tblLinks的子表单中单击以创建新记录时,我的宏运行并且数据被正确存储。但是,新创建的记录不会显示在子表单中。 -
如何创建双击事件,以便
FollowHyperlink正确参与并打开相关文件?
我在网上找不到这些问题的答案。
我已经为 Excel 编写了大量复杂的 VBA,但 Access 对我来说是全新的。欢迎您推荐任何资源。
提前致谢。
【问题讨论】:
-
1) 刷新/重新查询子表单,2) 与您创建任何事件的方式相同。我不使用宏,只使用 VBA。
-
感谢您的尝试,但这不是很有帮助。
-
重新查询/刷新表单的建议没有帮助?研究 Requery 和 Refresh 命令。你的问题实在是太笼统了。没有用于分析的代码。
-
附上“工作代码”。
标签: ms-access hyperlink subform