PDA

Vollständige Version anzeigen : Formular nach Eingabe sperren


monaco
16.02.2001, 08:38
Habe folgendes Problem:
Nutze gem. den Vorlagen der Nordwind datenbank eine Anwendung, im Formular Kundeneingabe ist es nun meinen Kollegen schon öfters passiert, daß sie bei Neuanlage eines Kunden einfach vergessen haben auf einen neuen Datensatz zu klicken und den ersten angezeigten Datensatz bzw. Feld [Kunden-Code]geändert haben, da dies der Primärschlüssel ist gibt es dann Probleme.
Suche nun eine Möglichkeit nach Eingabe eines Kunden mittels einer Befehlsschaltfläche den Datensatz zu sperren und extra noch diesen z.B. grau einzufärben, weiters sollte es auch möglich sein über eine 2. Befehlsschaltfläche Sperre aufheben diesen wenn nötig zu ändern.
Danke+

SoftNet
16.02.2001, 11:42
Hallo monaco,

Du könntest versuchen Dir über ein "Ja/Nein"-Feld in der Tabelle zu merken ob der Datensatz gesperrt ist oder nicht. Im Formular erstellst DU dann im Ereignis "Beim Anzeigen" eine Prozedur mit der Du abhängig des Ja/Nein-Feldes die Formular-Eigenschaft "AllowEditions" auf "True" oder "False" setzt.

Zusätzlich kann ab Acc2000 dieses Ja/Nein-Feld noch dazu benutzt werden die "Bedingte Formatierung" (im Menü Format) zu steuern. So schlägst Du 2 Fliegen mit einer Klappe.

Gruss, Tommy. http://www.access-home.de

Michael_Stroda
18.02.2001, 16:33
Hallo,

ich hatte das gleiche Problem und habe es quasi andersrum gelöst, indem ich das Formular generell auf inaktiv (also grau hinterglegt) gesetzt habe. Dann einfach Button 'Bearbeiten' und 'Neu' hinzugefügt und unter Form_Current, das ganze Formular auf aktiv und AllowEdits auf True gesetzt.

Funkt wunderbar.

HTH

Gruß Michael

Mad
18.02.2001, 17:33
Ich mache es nochmal anders.

Ich beginne generell beim Aufruf des Formulars mit einem neuen, leeren Datensatz.
Sollte eine Änderung/Abfrage eines bestehenden Satzes nötig sein, habe ich ein Kombinationsfeld zum Suchen des betreffenden Satzes und blende dieses nach Auswahl zur Änderung/Abfrage ein.

Gruß, Dietmar

monaco
18.02.2001, 18:42
Danke für den Tipp, bitte nicht bös sein, schlage mich erst seit kurzer Zeit durch, wie kann ich das Formular inaktiv setzen ????

"Hab es zwischenzeitlich zwar so gelöst:
Private Sub Form_Current()
If IsNull([Kunden-Code]) Then
Me![Kunden-Code].Enabled = True
Else
Me![Kunden-Code].Enabled = False
End If

End Sub
Mittels einer Umschaltfläche entsperre ich dann den Kunden-Code

Wäre sehr dankbar für deine Hilfe.
cu Robert