有没有办法调用 VBA(MS Access 2002 或 2003)中任何控件的 BeforeUpdate 事件过程?

2024-05-13

在 VBA 中,我正在更改 Access 表单中的一些控件的值。我喜欢在执行此操作后运行这些控件的 BeforeUpdate 事件,因为它会检查字段之间的一致性:

Private Sub ExampleProc1()
  Dim intCancel as Integer

  intCancel = False

  Me.Controls("Date1").Value=Null
  Me.Controls("Textfield1").Value=Null

  Call Date1_BeforeUpdate(intCancel)
  Call Textfield1_BeforeUpdate(intCancel)
End Sub

我想让它变得通用,但我找不到运行事件过程的方法。我想要这样的东西:

Private Sub ExampleProc2(ParamArray Fields())
  Dim intCancel as Integer, varV as Variant

  For Each varV in Fields
    Me.Controls(varV).value=Null
    intCancel = False
    Call Me.Controls(varV).BeforeUpdate(intCancel)
  Next
End Sub

这可能吗?也许 DoCmd.RunMacro 是可行的方法?


实际上你可以使用 CallByName 来做到这一点

CallByName Me, Me.Controls(varV).Name & "_BeforeUpdate", VbMethod, intCancel
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有办法调用 VBA(MS Access 2002 或 2003)中任何控件的 BeforeUpdate 事件过程? 的相关文章

随机推荐