Я використовую колекцію для зберігання змінної типу SubForm
але коли я йду, щоб отримати об'єкт, він має тип Controls
. Чи може хто-небудь сказати мені, чому це?
For Each ctl In Me.controls
Select Case ctl.ControlType
Case acSubform
Debug.Print "subform: " & TypeName(ctl)
If (ctl.Name = "a" Or ctl.Name = "b") Then
frmCollection.Add (ctl)
End If
End Select
Next
For Each frm In frmCollection
Debug.Print "Control: " & TypeName(frm)
Next
Відповіді:
3 для відповіді № 1Підформа - це тип контролю. Виходячи з контексту, TypeName()
здається, повертається або загальний, або конкретний тип, але я не розумію, як це робить цей вибір.
Однак ви можете знайти TypeOf
корисно визначити чи ні frm
це підформа.
For Each frm In frmCollection
If TypeOf frm Is SubForm Then
Debug.Print "Control is a subform"
Else
Debug.Print "Control is not a subform"
End If
Next