在 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(使用前将#替换为@)