wie kann ich einen Datensatz per Button ändern? Also ich möchte nicht, dass man die Datensätze einfach überschreiben kann, das Ändern sollte nur über einen Button erfolgen.
Bin absolute Anfängerin in Access, also bitte etwas verständlich für mich ausdrücken
das ist schon fast gut. Problem ist nur, wenn das Formular auf me.allowedits false gesetzt ist, dann kann ich auch kein unterformular mehr öffnen. somit ist das ganz formular gesperrt. das wollte ich nicht.
hast du dafür auch einen tipp?
Ja ne andere Lösung wäre toll, ich möchte nämlich gerne verhindern, dass man aus versehen irgendein Feld überschreibt, aber ansonsten weiter zu den Unterformularen kommt. Danke Dir schon mal und bin gespannt
sondern etwa so:
Me![Text1].Locked=true
Me![Text2].Locked=true
Me![Text3].Locked=true
Ganz elegant wäre, bei jeden betroffenen Feld einen Wert in deren Eigenschaft „Marke“ zu schreiben und per Schleife alle Controls des Forms zu durchlaufen und dabei entspr. der „Marke“ die Locked-Eigenschaft setzen.
z.B:
Marke: L
Sub btnSperren_Click()
Dim ctl as Control
On error resume next
For each ctl In Me.Controls
ctl.locked = ctl.Tag=„L“
Next
End Sub
Sub btnEntSperren_Click()
Dim ctl as Control
On error resume next
For each ctl In Me.Controls
ctl.locked = not ctl.Tag=„L“
Next
End Sub
das funktioniert leider auch nicht, egal ob ich es true oder
false setze, ich kann immer noch in die felder überschreiben.
ja, und WO ,bzw. WANN führst Du die Codezeilen aus??
deinen anderen tipp verstehe ich nicht so ganz, was steht denn
für die marke L?
(Fast) jedes Steuerelement hat die Eigenschaft „Marke“ (Eigenschaftenfenster/Andere). In diese Eigenschaft(enzeile) schreibst Du den Buchstaben L (soll für L ocked stehen) als „Kennung“ oder „Markierung“.
und muss ich dann noch button zum sperren und
entsperren einfügen?
Wenn Du den vorgeschlagenen Code (und auch den Hinweis von That’s not all…) mal lesen würdest, dann ist diese Frage auch schon beantwortet.