从 Access 2010 中的函数调用子

Posted

技术标签:

【中文标题】从 Access 2010 中的函数调用子【英文标题】:Call a sub from a function in 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" 引用子吗? 谁能告诉我我错过了什么?

【问题讨论】:

【参考方案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。

以上是关于从 Access 2010 中的函数调用子的主要内容,如果未能解决你的问题,请参考以下文章

从 Java 调用 Access 中的 VBA 函数

我可以从 Microsoft Access 调用 SQL Server 的用户定义函数吗

Access 2010 VBA 错误 2425“您输入的表达式具有数据库找不到的函数名称”

从 VB Access 调用 UDF(Sql server)“表达式中的未定义函数 <函数名>”

使用 useRef 从 Reactjs 中的父级调用子函数

从reactjs中的父组件调用并将参数传递给子组件的函数