wer kann mir bei folgendem Problem helfen:
Ich möchte bei einem Formular den "Nur-Lese-Modus" einstellen. Dieses
Formular
hat aber einen Knopf "Bearbeiten". Durch drücken dieses Knopfes soll der
Datensatz
bearbeitet werden können (aber nur dieser eine, d.h., es müßten die
Navigationstasten am unteren Fensterrand verschwinden). Nach drücken eines
"Speichern"-Knopfes soll der Datensatz
in seiner geänderten Form gespeichert und das Formular wieder auf
"Nur-Lesen" gesetzt
werden.
Ich habe versucht, daß Problem mit Visual Basic zu lösen, bin da aber nicht
durchgestiegen.
Wer kann mir hier auf die Sprünge helfen?
Viele Dank im Voraus!
mit freundlichem Gruß
Michael
das Formular per VBA sperren und freigeben ist sehr einfach.
Du legst hinter den Freigabeknopf bzw. den Übernahmeknopf die Anweisung
"Me.AllowEdits = True" für die Freigabe bzw. "False" für sperren.
Das Sperren solltest du ausserdem noch auf das Ereignis "Beim Anzeigen"
legen, damit nach dem Blättern die Standardeintellung "Gesperrt" ist.
mfg
Bruno
Michael Westphal <michael...@nikocity.de> schrieb in im Newsbeitrag:
81n3cc$1e5g$1...@news.nikoma.de...
Und die Sache mit den Navigationsschaltflächen kannst Du so regeln:
Forms!DeinFormular.NavigationButtons = False ' keine
Navigation
bzw. Forms!DeinFormular.NavigationButtons = True ' mit
Navigation
Gruß Bernd
Bruno Koch <bruno....@t-online.de> schrieb in im Newsbeitrag:
81o70q$qfa$1...@news08.btx.dtag.de...
Das ist eigentlich ein Einzeiler. Wichtig, Du mußt das für alle
Unterformulare wiederholen (falls vorhanden)
Im zweiten sub siehst Du, wie der Knopf sich ändert (je nach Status). Da
kannst Du auch Deine _eigenen_ Navigationsbuttons unsichtbar/sichtbar
machen. Die Standardnavigation mußt Du generell ausschalten.
Private Sub Form_Load()
Dim frm As Form
Me.AllowEdits = False 'Beim start ist editieren nicht erlaubt
Me.FU_Arbeitsvermerke.Frm.AllowEdits = False
Me.FU_Autor.frm.AllowEdits = False
End Sub
Private Sub um_gesch_Click() 'Umschalten zwischen editieren und sperren
Me.AllowEdits = Not Me.AllowEdits 'Das ist eigentlich alles!
Me.FU_Arbeitsvermerke.Form.AllowEdits = Not
Me.FU_Arbeitsvermerke.Form.AllowEdits
Me.FU_Autor.Form.AllowEdits = Not Me.FU_Autor.Form.AllowEdits
If Me.AllowEdits Then
um_gesch.Caption = "Editieren"
um_gesch.ForeColor = 32768
Else
um_gesch.Caption = "Gesperrt"
um_gesch.ForeColor = 13209
End If
End Sub
vielen Dank erstmal für Eure Tipps, aber bei Deinem Programm habe ich zwei
Fragen:
1. Was bedeuten die Zeilen
...
Me.FU_Arbeitsvermerke.Frm.AllowEdits = False
Me.FU_Autor.frm.AllowEdits = False
...
2. Folgendes Verhalten des Formulars tritt nun, nach Verknüpfung meines
Buttons mit Deinem Code auf:
Beim Öffnen erscheint der gesperrt Button in rot. Super!
Beim clicken auf den Button wechselt er in grün: Editieren und man kann
editieren. Super.
Wenn ich aber nun mitten im Editiervorgang wieder auf der Knopf drücke,
dann wechselt er zu rot gesperrt, aber ich bin immer noch im Edit-Modus
(Erkennbar an dem Bleistift links oben im Formular). Wie kann man das
Editierte durch Drücken auf diesen Knopf erst mal updaten, sodaß der
Bleistift verschwindet und das Dreieck wieder erscheint?
Dank im Voraus!