Form.SourceObject
我有一个根据用户输入更改其记录源 ( ) 的子表单。我正在开发一个更改跟踪系统,该系统依赖于Before Update
子表单中某些字段的属性(如果有区别,则在工作表视图中)。如果我不更改记录源,Before Update
则会适当地触发。如果我确实更改了它,它就会丢失,我需要重新分配触发器。问题是,我找不到任何描述如何做到这一点的东西。我尝试使用以下代码,其中“Tracker”是要调用的代码:
Forms![PartsDatabaseX]![RepsSubformX]![Pack Rank].BeforeUpdate = "[Event Procedure]"
错误 2455 = “您输入的表达式对属性 BeforeUpdate 的引用无效”
Forms![PartsDatabaseX]![RepsSubformX]![Pack Rank].BeforeUpdate = "Tracker"
错误 2455 = “您输入的表达式对属性 BeforeUpdate 的引用无效”
Forms![PartsDatabaseX]![RepsSubformX]![Pack Rank].BeforeUpdate(Tracker)
编译错误 = 预期函数或变量
Forms![PartsDatabaseX]![RepsSubformX]![Pack Rank].BeforeUpdate "Tracker"
错误 438 = “对象不支持此属性或方法”
编辑-
在玩了更多之后,我可以BeforeUpdate
正确地将属性分配给表单中的控件,假设存在相应的更新前事件:
Private Sub Assign_Before_Update()
Me.FormCtl.BeforeUpdate = "[Event Procedure]"
End Sub
Private Sub FormCtl_BeforeUpdate(Cancel As Integer)
'Do stuff
End Sub
不幸的是,这种方法仍然与子表单失败......
我开始认为我正在更改的事实Form.SourceObject
是阻止我设置属性的原因。