1

在 VBA 中,我有一个子表单,可用于多种表单;但是我有一些代码,我只希望这个代码在“一种形式”上工作;因此,如果我在表单 1、表单 2 和表单 3 中有带有文本框的子表单,我希望更新后事件仅适用于表单 2。

这样做的最佳方法是什么?

4

1 回答 1

1

子表单有一个Parent属性。所以你可以检查Name子表单的属性Parent

Dim strParent As String
strParent = Me.Parent.Name
If strParent = "form 2" Then
    ' do stuff for form 2
End If

笔记:

  1. 该代码用于子表单上文本框的更新后事件。如果目标文本框出现在父表单上,那就更简单了;只需直接检查父表单的名称 ( Me.Name)。
  2. 如果子窗体是自己打开的,即不作为另一个窗体的子窗体,Me.Parent将抛出错误。然后,您需要捕获该错误并忽略它。
于 2013-10-07T15:16:37.437 回答