我有一个子表单,可以使用Me.SubForm.SourceObject = Query.SomeQuery
根据用户输入更改从中获取数据的位置。看来通过这样做,我失去了设置BeforeUpdate
属性的能力。
我使用的代码如下:
Forms![PartsDatabase]![RepsSubform].Form![Pack Rank].BeforeUpdate = "=ToTracking()"
我已确认这在SubForm.SourceObject
更改之前有效,但之后会抛出以下错误:RTE 2455“您输入的表达式对属性BeforeUpdate的引用无效。”
我想知道这是一个已知问题,还是我只需要修改我的代码进行调整。
答案 0 :(得分:1)
你在这里弄得一团糟。您永远不应该更改源对象,而应该更改记录源。表单中涉及的代码是表单级别。如果您希望使用Before Update事件,它属于Form而不是Recordsource。所以你总是去改变RecordSource。
你会用,
Forms!Parentform!SubForm.Form.RecordSource = "SELECT someFields FROM someTable;"
或者,
Forms!ParentForm!SubForm.Form.RecordSource = "yourCompiledQueryName"