Von |
Heiko |
Am |
27. Februar 2008 um 14:10:15 |
Frage |
Hallo,
ich habe folgendes Problem. Ich habe einige Formulare in denen bei Klick auf eine CheckBox einige andere Steuerelemente aktiviert bzw deaktiviert werden sollen.
Das ganze funktioniert auch und sieht dann so aus:Private Sub Checkbox1_Click() If Checkbox1.Value = 0 Then Me.Textfeld1.Enabled = False Me.Textfeld2.Enabled = False Me.Textfeld3.Enabled = False Me.Textfeld4.Enabled = False Me.Checkbox2.Enabled = False End If If CheckBox1.Value = -1 Then Me.Textfeld1.Enabled = True Me.Textfeld2.Enabled = True Me.Textfeld3.Enabled = True Me.Textfeld4.Enabled = True Me.Checkbox2.Enabled = True End If End Sub Nun möchte ich es aber besser machen und Code sparen und die Objekte, die ein- bzw. ausgeblendet werden an eine Function übergeben. Hatte mir das in etwa so vorgestellt:Private Sub Checkbox1_Click() Dim Formular As String Dim objekte() As String Formular = "Form_" + Me.Name objekte(0) = "Textfeld1" objekte(1) = "Textfeld2" objekte(2) = "Textfeld3" objekte(3) = "Textfeld4" objekte(4) = "Checkbox2" If Checkbox1.Value = 0 Then ausblenden(objekte, Formular) End If If Checkbox1.Value = -1 Then einblenden(objekte, Formular) End If End Sub Function aublenden(objekte, Formular) anfang = LBound(objekte) ende = UBound(objekte) For i = anfang To ende aktobjekt = Formular + "." + objekte(i) aktobjekt.Enabled = False Next i End Function Das ganze dann natürlich noch mit einblenden.
Ich habe nun 2 Std verschiedenste Varianten versucht und mich durch diverse Fehlermeldungen gekämpft, aber bekomme es einfach nicht hin. Offensichtlich funktioniert das ansprechen eines Steuerelements nicht mit einer Stringvariable (geb ich den code hart in die Function ein, funktioniert es.)
Ich kenne mich leider überhaupt nicht mit dem Gebrauch von Objekten aus, denke aber das hier der Hund begraben liegt und bitte um Hilfe von den erfahreneren Benutzern. :)
Danke schon mal im Voraus Heiko |
|