VBA:从Sub调用函数

时间:2013-04-07 16:41:17

标签: vba ms-access

Private Function DisplayReport()
    DoCmd.OpenReport List0, acViewNormal
End Function

Private Sub Command3_Click()

End Sub

我正在试图找出在单击Command3时如何调用DisplayReport() (这是在Access 2010中)。

我希望这会打开当前在List0(列表框)中选择的报告。这是正确的做法吗?

编辑:我想通过阅读其他地方我明白这是一个“信任位置”问题?这是什么意思,我该如何解决这个问题?

4 个答案:

答案 0 :(得分:1)

您的Sub Command3_Click不包含可执行语句。尝试

Private Sub Command3_Click()
    DisplayReport
End Sub

此外,验证按钮的On Click事件属性是否与处理程序相关联。如果该行为空,请单击省略号按钮[...]并选择“代码生成器”。

cmd

修改

如果您已进行了这些更改并且事件仍未触发,则关闭并重新打开数据库。如果您在Access窗口顶部附近看到一条警告,说明了......

  

安全警告某些有效内容已被停用。点击了解更多详情。

...然后务必点击“启用内容”按钮。

答案 1 :(得分:0)

你试过这个吗?

Call DisplayReport

答案 2 :(得分:0)

  1. 你假装DisplayReport是一个函数,但它实际上什么都不返回
  2. 所以,将其改为Sub:
  3.   Private Sub DisplayReports
          DoCmd.OpenReport List0, acViewNormal
      End Sub
    

    因此从点击处理程序调用它:

        Private Sub Command3_Click()
            call DisplayReport
        End Sub
    

答案 3 :(得分:0)

好的,这是我在Access 2010中遇到的一个问题。问题是我的数据库不受信任。我设法更改了此设置,现在代码运行正常。