PDA

Vollständige Version anzeigen : Felder sperren


Jörg B.
26.04.2001, 16:15
In meinem Formular sind die Textfelder Nr., Betrieb, Länge und Datum. Wenn ich ein existierenden Datensatz aufrufe sollen diese Felder gesperrt sein (also das man keine Veränderungen vornehmen kann) das Unterformular soll aber Veränderungen annehmen. Wenn ich über eine Schaltfläche einen Neuen Datensatz anlegen will dann sollen alle Felder wieder frei sein, geht so etwas und wie?
Danke Jörg

Alexander Jan Peters
26.04.2001, 16:42
Hallo,

ganz generell geht es mit Hilfe der Locked-Eigenschaft (Gesperrt) der Steuerelemente (Aktiviert: Enabled = True).

Me.txtDatum.Locked = True 'Gesperrt

Wenn es mehrere sind, nummerier sie entweder durch und nutzte eine Schleife, um die Eigenschaft zu setzen oder versuch es mit der Eigenschaft Tag (Marke) der Steuerelemente

Private Sub sFelderSperren(fSperre As Boolean)
Dim ctl As Control
Dim fLock As Boolean 'Sperre Ja/Nein
Dim fActiv as Boolean 'Aktiviert Ja/Nein

'Geht sicher eleganter
If fSperre = True Then
fLock = True
fActiv = False
Else
fLock = False
fActiv = True
End If


For Each ctl in Me.Controls
If ctl.Tag = "Sperre" Then
ctl.Locked = fLock
ctl.Enabled = fActiv
End IF
Next

End Sub

Mit Hilfe der NewRecord-Eigenschaft des Formulars kann ermittelt werden, ob der aktuelle DS ein neuer DS ist.

Private Sub Form_Current()
Dim intA As Integer

intA = Me.NewRecord
If intA = True Then
'Neuer Datensatz
sFelderSperren False
Else
'Vorhandener Datensatz
sFelderSperren True
End If
End Sub


MfG

A.J.Peters