【发布时间】:2023-03-09 00:32:02
【问题描述】:
想象一个表单,为了演示的目的,它只包含一个子表单和一个需要相互镜像的文本框。
我尝试通过将文本框上的 Control Source 设置为子表单中字段的值来完成此操作,这可以使它们相互镜像,但文本框不可编辑,所以这是一个不合适的解决方案。
接下来我决定尝试在两个控件上使用 AfterUpdate 事件来运行设置另一个控件值的代码。
这对文本框来说很简单:
'Set value of Notes field on subform whenever value of the corresponding textbox
Private Sub Notes_Textbox_AfterUpdate()
Me.subform.Form![Notes] = Me.Notes_Textbox.Text
End Sub
但是,对于子表单字段,这并不简单。我不知道如何以仍然允许我引用该子表单之外的控件的方式引用子表单中的字段上的事件。
作为演示,我需要一种方法来做到这一点:
Private Sub subform_Notes_AfterUpdate()
Me.Notes_Textbox.Text = Me.subform.Form![Notes]
End Sub
我可以在子表单范围内访问子表单字段 AfterUpdate 事件,但如果这样做,我将无法访问文本框,因为它位于主表单中,而不是子表单中。
所以我要么需要一种方法来在主窗体范围内的子窗体中的字段上定义事件函数,要么需要一种方法使文本框成为子窗体的一部分,同时保持子窗体在数据表视图中打开的能力.
【问题讨论】: