#ms-access #reference #subform
Вопрос:
У меня есть универсальный модуль, который я могу вызвать из любой формы, и он включит все текстовые поля и поля со списком, для свойства тега которых установлено значение «EnableForReadOnly». Я хотел бы создать что-то подобное для подформ.
Public Sub EnableReadOnlyControls(theForm)
Dim i As Integer
' Cycle through the form's controls,
For i = 0 To theForm.Count - 1
If theForm(i).Tag = "EnableForReadOnly" Then
If TypeOf theForm(i) Is TextBox Then
theForm(i).Locked = False
theForm(i).Enabled = True
ElseIf TypeOf theForm(i) Is ComboBox Then
theForm(i).Locked = False
theForm(i).Enabled = True
End If
End If
Next i
Конец Суб
Чтобы вызвать этот подраздел из формы, в событии onOpen формы я набираю следующее, и это отлично работает:
EnableReadOnlyControls Me
Я хотел бы создать аналогичную универсальную подформу для подформ, но я не уверен, что можно было бы ссылаться на подформу таким универсальным способом. Любые мысли будут высоко оценены.
Комментарии:
1. Вы можете просто использовать ту же функцию.
EnableReadOnlyControls Me.SubformControl.Form
. Или вызов, который у вас есть, в событии открытия подформы.2. Спасибо @Andre, что сработало идеально!
Ответ №1:
Я публикую комментарий Андре здесь в качестве ответа. Спасибо, Андре!
«Вы можете просто использовать ту же функцию. EnableReadOnlyControls Меня.Подчиненная форма.Форма. Или вызов, который у вас есть, в открытом событии подформы.»
Пример: Имя элемента управления подформы в моей основной форме-frmCounterTopSub, поэтому я добавил эту строку в свой код, и это сработало как заклинание:
EnableReadOnlyControls Me.frmCounterTopSub.Form