【问题标题】:Call a sub from a function in Access 2010从 Access 2010 中的函数调用子
【发布时间】:2012-11-19 22:08:54
【问题描述】:

我的 MS Access 应用程序有一个子例程,在我更新表单上的一个控件后触发。

Public Sub cboCrew_AfterUpdate()
    ...do some work...
End Sub

我想从我在 Module1 中定义的函数中调用这个相同的子函数

Function my_function()
     Call cboCrew_AfterUpdate
End Function

此代码抛出错误:“Compile Error Sub or Function not defined”

我怀疑问题在于我在调用潜艇时不够具体。 我需要用"some_modulte_name.sub_name" 引用子吗? 谁能告诉我我错过了什么?

【问题讨论】:

    标签: vba ms-access ms-access-2010


    【解决方案1】:

    反过来设置...

    Public Sub cboCrew_AfterUpdate()
        My_Function
    End Sub
    
    Function my_function(frm As Form)
         ''Do stuff
    End Function
    

    重新评论

    Public Sub cboCrew_AfterUpdate()
        My_Function Me 
    End Sub
    
    Function my_function(frm As Form)
         MsgBox frm.Name
    End Function
    
    Sub AnotherSub()
       My_Function Forms!AFormName
    End Sub
    

    【讨论】:

    • 这是一个聪明的方法。不幸的是,它无济于事。你看我需要让 {public sub cboCrew_afterUpdate()} 着火。在您的解决方案中,它已经触发了。
    • 这不是特别聪明,它是一种标准方法。当事件触发时,将执行操作。您如何看待更新后触发与在另一个函数中执行这些相同操作有何不同?
    • 我问的问题是“如何从函数中调用子”。我问这个的原因是因为我需要一个现有的 Sub 来触发另一个事件。显然,子已经触发(在更新事件之后)。但我想在另一个时间,在另一个事件期间给潜艇打电话。希望这可以澄清。
    • 感谢您的帮助。我已经找到了如何引用 sub。
    猜你喜欢
    • 2014-11-28
    • 2018-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-11
    • 1970-01-01
    相关资源
    最近更新 更多