PDA

Vollständige Version anzeigen : Kontrollkästchen


genpop
22.10.2001, 13:32
Hallo,
ich habe folgendes Problem.
Mit nachfolgendem Code habe ich ein Kontrollkästchen belegt. Öffne ich ein Formular neu und wähle ein Kontrollkästchen an reagiert es wie gewünscht, auch wenn ich vorher den Datensatz gewechselt habe. Habe ich jedoch einmal ein K angewählt und wechsle dann den datensatz läßt sich das K. nicht mehr ansprechen.
Private Sub Kontrollkästchen1_Click()
If Me.Kontrollkästchen1.Value = -1 Then
Me.Benutzer_Datum.SetFocus
Me.Benutzer_Datum = Date
Me.Benutzer_Datum.Locked = True
Me.letztebearb.SetFocus
Me.letztebearb.Locked = False
Me.letztebearb = Now
Me.letztebearb.Locked = True
Me.Bearb.SetFocus
Me.Bearb.Locked = False
Me.Bearb = sUserName
Me.Bearb.Locked = True
Me.BenutzerGruppe.SetFocus
Me.BenutzerGruppe = sUserName
Me.BenutzerGruppe.Locked = True
Me.Kontrollkästchen1.Locked = True
Me.cbo_Status.SetFocus
Me.cbo_Status = "ausgeliefert"
Me.Kontrollkästchen1.SetFocus
End If
End Sub

Was mache ich falsch oder wo liegt die Lösung?
Vielen Dank im Voraus

MarioR
22.10.2001, 14:02
Hallo,

erstmal kann man den Code beträchtlich einkürzen:

If Me.Kontrollkästchen1 Then
Me.Benutzer_Datum = Date
Me.Benutzer_Datum.Locked = True
Me.letztebearb = Now
Me.Bearb = sUserName
Me.BenutzerGruppe = sUserName
Me.BenutzerGruppe.Locked = True
Me.Kontrollkästchen1.Locked = True
Me.cbo_Status = "ausgeliefert"
End If


Das Kontrollkästchen reagiert nicht mehr, weil Du es mit
Me.Kontrollkästchen1.Locked = True
sperrst.

Was möchtest Du mit dem Kontrollkästchen eigentlich genau erreichen?

genpop
23.10.2001, 07:15
Hallo Mario,
erstmal danke für die Antwort
setfocus hatte ich zuerst nicht kodiert,aber dann bekam ich laufend fehlermeldungen beim Kompilieren.
Zu meinem locked = true
ich möchte daß das Kontrollkästchen nicht mehr angesprochen werden kann auch nach neustart des Programmes aber nur für diesen Datensatz. Bei einem Datensatz bei dem das Kontrollkästchen noch nicht aktiviert wurde soll dieses natürlich noch weiter bedient werden können. Aber vielleicht muß ich das mit einer if abfrage abfangen.
gruß genpop

MarioR
23.10.2001, 07:31
Ist das Kontrollkästchen an ein Feld in Deiner Tabelle gebunden?

Wenn das der Fall ist, kannst Du es beim Blättern durch die DS entweder sperren oder freigeben. Dazu trägst Du beim Ereignis Beim Anzeigen im Formular Folgendes ein:
Me.Kontrollkästchen1.Locked = Me.Kontrollkästchen1

Das bedeutet natürlich, dass Du eine Sperrung nicht wieder aufheben kannst (zumindest nicht über das Kontrollkästchen)!

PS: Du musst beim Blättern natürlich auch die anderen Felder wieder freigeben, also z.B.
Me.Benutzer_Datum.Locked = Me.Kontrollkästchen1
[Dieser Beitrag wurde von MarioR am 23.10.2001 editiert.]