1
컬렉션을 사용하여 SubForm
유형의 변수를 저장하고 있지만 개체를 검색하기 위해 이동하면 유형은 Controls
입니다. 누군가 왜 이것이라고 말할 수 있습니까?컬렉션은 Access & VBA를 사용하여 변수 유형을 변경합니다.
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
감사합니다. 또 다른 문제점은 컬렉션에서 벗어난 객체가 올바른 속성을 잃어버린 것입니다. frm.Name이 더 이상 인식되지 않습니다. VBA에서 캐스트를 만들 수 없다는 것이 내 이해입니다. – Nate
제 테스트에서'frm'이'.Name' 속성을 잃어 버리는 것을보고 있지 않습니다. 그래서'frm'을 어떻게 선언하는지 궁금합니다 : Control; 목적; 다른; 다른 것? – HansUp
VBA에서는 캐스트를 만들 수 없습니다. 나는 그 점을 완전히 잃어 버렸다. – HansUp