MS Access 365-创建包含链接文件的子表单

我创建了一个表格和表格来跟踪销售机会。我希望用户能够将服务器上的关联文件“连接”到每个机会。例如,他们可能希望有机会指出报价。

由于将文件附加到数据库是值得商move的举动,因此我选择保存路径,并希望使用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

我有两个问题。

  1. 当我单击以在链接到tblLinks的子窗体中创建新记录时,我的宏运行并且数据已正确存储。但是,新创建的记录不会显示在子表单中。

  2. 如何创建双击事件,以便FollowHyperlink正确参与并打开有问题的文件?

我在网络上找不到这些问题的答案。

我已经为Excel编写了大量复杂的VBA,但是access对我来说是全新的。欢迎您提供任何可以推荐的资源。

谢谢。

iCMS 回答:MS Access 365-创建包含链接文件的子表单

在窗体的绑定控件中输入值,而不是运行INSERT操作,问题将消失。只需在表单上输入文本框即可,而不是LinkName的InputBox。如果要输入新项目,请确保将焦点放在新记录行上。然后在子表单后面编写代码:

Me.LinkLocation = strFullFilePath

否则,必须重新查询或刷新表单才能显示新记录。同样,如果代码位于子窗体的后面,则只需:Me.Requery

对于双击事件,您已经知道如何创建VBA代码,因此使用FollowHyperlink命令对此事件执行相同的操作。可以双击文本框或单击命令按钮。设置格式使其看起来像可单击的超链接。将文本框设置为锁定状态,以便用户不会意外编辑。

本文链接:https://www.f2er.com/1846213.html

大家都在问