Лучший способ разрешить событию работать с формой
В VBA у меня есть подчиненная форма, которую я использую во многих формах; однако у меня есть немного кода, где я хочу, чтобы этот код работал только в "одной форме"; поэтому, если у меня есть подчиненная форма с текстовым полем в форме 1, форме 2 и форме 3, я хочу, чтобы событие после обновления работало только для формы 2.
Каков наилучший способ сделать это?
1 ответ
Решение
Подформа имеет Parent
имущество. Таким образом, вы можете проверить Name
свойство подчиненной Parent
,
Dim strParent As String
strParent = Me.Parent.Name
If strParent = "form 2" Then
' do stuff for form 2
End If
Заметки:
- Этот код предназначен для события после обновления текстового поля в подчиненной форме. Если целевое текстовое поле присутствует в родительской форме, это проще; просто проверьте имя родительской формы напрямую (
Me.Name
). - Если подчиненная форма открывается сама по себе, то есть не как подчиненная форма для другой формы,
Me.Parent
выдаст ошибку. Затем вам нужно будет перехватить эту ошибку и проигнорировать ее.