Tosa: aus Ihrem Kommentar zu AngryHacker's Antwort Ich glaube, Sie prüfen den Container falsch.
Ihr Code sieht folgendermaßen aus
' BAD CODE '
If ctrl.Container = fraMovies Then
Bei mir ergibt das den Fehler 450 Wrong number of arguments or invalid property assignment
. Erhalten Sie denselben Fehler?
Der Code sollte Folgendes verwenden Is
statt =
wie diese
' GOOD CODE '
If ctrl.Container Is fraMovies Then
Erläuterung. Sie möchten prüfen, ob zwei Variablen auf dasselbe Steuerelement "zeigen". Steuerelemente sind Objekte: müssen Sie Is
no =
um zu prüfen, ob zwei Objektvariablen auf dasselbe Objekt "zeigen". Dies ist ein klassischer Fallstrick in VB6.
Ein letztes Wort. Könnten Sie das nächste Mal versuchen, 10 Zeilen oder weniger des tatsächlichen Codes zu posten, der den Fehler reproduziert, und die genaue Fehlernummer und -meldung sowie die genaue Zeile, in der er auftritt, angeben? Das macht es für uns viel einfacher, Ihr Problem zu lösen - ich weiß, dass es für Sie Arbeit ist, den Code zu kürzen, aber so bekommen Sie bessere Antworten.
EDIT Willkommen zurück! :) Sie sagten, einige Steuerelemente haben keine Container-Eigenschaft. Sie könnten versuchen, den Test in On Error Resume Next
in etwa so.
' GOOD CODE '
Dim bMatch As Boolean
Dim ctrl As Control
For Each ctrl In Me.Controls
bMatch = False
On Error Resume Next
bMatch = (ctrl.Container Is fraMovies)
On Error Goto 0
If bMatch Then
ctrl.Enabled = True
End If
Next