【问题标题】:Access DB Report: clickable file location using a button访问数据库报告:使用按钮可点击的文件位置
【发布时间】:2017-07-13 05:41:58
【问题描述】:

我正在尝试为我的按钮编写一些代码:“打开”。如果单击,将自动打开具有该“文件地址”的文件:

我有以下 VBA 函数,它将文件位置作为输入字符串。我的问题是,如何将“文件位置”列中的 C:... 链接引用到函数的输入?我的意思是,这行不通(但如果我注释掉该函数,并取消注释子,我会弹出窗口说嗨!):

Trying to refer to another column inside the report

那我该怎么做呢?

【问题讨论】:

  • 请添加真实代码,图片无用

标签: ms-access button vba report file-link


【解决方案1】:

删除声明和设置 strURLLink 的两行。

您可以从按钮单击事件中调用该函数。

Private Sub Command35_Click()
x = OpenDocument(Me![File Location])
End Sub

然而,它并不一定是一个函数,可以是一个子。

为什么不直接在按钮点击事件中呢?

Private Sub Command35_Click()
    On Error GoTo Catch
    Application.FollowHyperlink(Me![File Location])
    Exit Sub
Catch:
    MsgBox "Oops! Can't open file"
End Sub

这不是宏代码,它是 VBA。 Access 中的宏编码非常不同。

【讨论】:

  • @ June7 嘿,谢谢。我试过这个:Private Sub Command35_Click() On Error GoTo Catch Application.FollowHyperlink ([Reports]![Search Report]![File Location]) Exit Sub Catch MsgBox "Oops! Can't open file" End Sub 单击按钮后:编译错误:未定义子或函数。但是,我注释掉Msgbox上面的4行,再次点击按钮后,Msgbox就弹出来了。想法?
  • 糟糕,我应该抓住这个。使用Catch:。请参阅修订后的答案。另外,不要认为您需要报告类和报告名称引用前缀。
  • @ June7 是的,现在错误消失了。我尝试了所有这三个:1)你的方式:Application.FollowHyperlink (Me![File Location]) 2)从报告中获取:Application.FollowHyperlink ([Reports]![Search Report]![File Location]) 3)从表中获取Application.FollowHyperlink ([Tables]![Main Document]![Main_File Location])。这三个都给了我相同的弹出窗口:'哎呀!无法打开文件'...所以...?我的表中名为“主文档”的列名实际上是“主文件位置”...
  • 您没有尝试没有表单名称前缀的代码,正如我在使用 Me 别名的示例中所示。当然不能参考表。该功能对我有用。使用静态文件路径和名称而不是变量引用对其进行测试。
  • @ June7 谢谢它的工作!请在下面查看我自己对我自己帖子的回答:) 我确实尝试过你的方式。这是我在上述三种方法中尝试的第一种方法。您对文件路径的看法是对的,但这与变量引用无关。我昨天重新定位了文件夹:P...再次感谢~
【解决方案2】:

有效!!!大家是这样的:

在设计视图中单击“打开”按钮。在属性表中,选择[事件过程],然后单击“...”进入一个窗口,您可以在其中编写您的 VBA 代码。确保以下两个红框内的字符串匹配如下:

Match the field name

请注意,字符串“Main_File Location”应该是您在引用此报告的表中设置的确切列名。

另外,请确保您的文件名显示它是哪种类型的文件。比如,如果你的文件名为 myfile1,它是一个 PNG 文件,你的文件位置必须是:C:\somepath\myfile1.png。如果是 excel:C:\somepath\myfile1.xlsx。或者,Sub 无法打开文档。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多