PDA

Vollständige Version anzeigen : Formular bei Klick sperren


juergen
02.07.2001, 09:02
hallo zusammen,

habe folgendes Problem:

In meinem Formular gibt es ein Kontrollkästchen "erledigt". wenn dieses angeklickt wird (Wert: -1), dann soll das Formular für diesen Datensatz gesperrt sein (kein editieren bzw. löschen mehr möglich)

Habe es mit:

if "kontrollkästen" = -1 then
me.allowedits = false
me.Text.setfocus
end if

(Habe diesen Code auch noch ins Formular gegeben - beim öffnen.)

probiert.
Irgendwie funktioniert das nicht ganz, teilweise werden Felder (ohne Klick) gleich gesperrt teilweise gar nicht....???

Hat jemand eine Idee wie ich dies auf einfache Weise lösen kann. Wäre für ein Beispiel sehr dankbar.

Danke im voraus

Gruss Jürgen

gloria
02.07.2001, 09:17
hi,
sollte mit deiner Methode schon gehen:
Wenn die Eigenschaft AllowAdditions auf Nein eingestellt ist, ist der Befehl Daten eingeben im Menü Datensätze nicht verfügbar.

Ich sperr immer die Eingabefelder
if "kontrollkästen" = -1 then
me!Feld.locked=true
usw.
end if

(Locked-Eigenschaften) verwenden.

ciao glori

FW
02.07.2001, 09:28
... Du solltest den Code nicht "beim Öffnen" eintragen, sondern "beim Anzeigen"...

Simon
02.07.2001, 09:35
Hallo Juergen,

Habe das gleich Problem wie du gehabt und auf folgende Art gelöst:

Das Kontrollkästchen bekommt ein Code 'nach Aktualisieren':
Private Sub dein Kontrollkästchenname_AfterUpdate()
Dim varBookmark As Variant
varBookmark = Me.Bookmark
Me.Requery
On Error Resume Next
Me.Bookmark = varBookmark
On Error GoTo 0

End Sub

Und nachher bekommt das HauptFormular auch einen Code 'beim Öffnen':
Private Sub Form_Open(Cancel As Integer)
Me.FilterOn = True
End Sub

und unter Filter folgendes:
((Not dein Formularname.[dein Kontrollkästchenname]=-1))

Du soltes aber 'Filter zulassen' noch auf "JA" stellen

dan sollte es gehen!!

Gruss Simon

juergen
02.07.2001, 10:25
hallo,

Danke für die schnelle Antwort, aber es funktioniert nicht ganz: Es werden teilweise Felder gesperrt - meistens nicht alle. gesperrte Felder werden auch wieder frei gegeben.??? kann keine Logik finden??

mein Code:

Private Sub Form_Current()
If Me![Kontrollkästchen77] = -1 Then
Me.AllowEdits = False
Me![Name].SetFocus
Else
Me.AllowEdits = True
End If
End Sub

und:

Private Sub Kontrollkästchen77_Click()
If Me![Kontrollkästchen77] = -1 Then
Me.Datum1 = Date
Me.AllowEdits = False
Else
Me.AllowEdits = True
Me.Datum1 = Null
End If
Me![Kontrollkästchen77] = -1
Me.Refresh
end sub


Hat jemand von euch noch eine Idee...

Vielen Dank im voraus...
Gruss Jürgen

Judith
02.07.2001, 11:18
Hallo!

Versuche einmal:

Private Sub Form_Load()
If Me.Kontrollkästchen77.Value = True Then
Me.AllowEdits = False
Me.Name.SetFocus
End if
End Sub

Private Sub Kontrollkästchen77_Click()
If Me.Kontrollkästchen77.Value = True Then
Me.Datum1 = Date
Me.AllowEdits = False
Else
Me.Datum1 = Null
End If
Me.Requery
End sub

juergen
03.07.2001, 06:24
Hallo zusammen,

Danke für eure Hilfe!

Habs hingekriegt!

Schönen Tag noch
Gruss Jürgen