1

VBA には、多くのフォームで使用するサブフォームがあります。ただし、このコードを「1つのフォーム」でのみ機能させたいコードが少しあります。したがって、フォーム 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. このコードは、サブフォームのテキスト ボックスの after update イベントを対象としています。ターゲット テキスト ボックスが代わりに親フォームに存在する場合は、より簡単です。親フォームの名前を直接確認してください ( Me.Name)。
  2. サブフォームを別のフォームのサブフォームとしてではなく、単独で開いた場合、Me.Parentエラーがスローされます。次に、そのエラーをトラップして無視する必要があります。
于 2013-10-07T15:16:37.437 に答える