In Access 2010 und höher ist das, was Sie beschrieben haben, mit einem Before-Change-Datenmakro für die Tabelle ein Kinderspiel:
Weitere Informationen zu Datenmakros finden Sie unter
Wie kann ich ein Makro erstellen, um einen Datensatz dauerhaft zu sperren, nachdem er gespeichert wurde?
Mein Problem: Jeder Access 2010-Sperrbefehl, durch den die gespeicherten Datensätze nicht bearbeitet werden können, sperrt auch die Formularfelder "Neuer Datensatz", sodass der Datenbank kein neuer Datensatz hinzugefügt werden kann. Ich muss das Gesicherte sperren und gleichzeitig neue Datensätze hinzufügen.
In Access 2010 und höher ist das, was Sie beschrieben haben, mit einem Before-Change-Datenmakro für die Tabelle ein Kinderspiel:
Weitere Informationen zu Datenmakros finden Sie unter
Da Sie nach einer VBA-Lösung fragen, sollten Sie DoCmd.OpenTable
und acAdd
als Datamode-Eigenschaft verwenden
Sub AddOnlyMode() DoCmd.OpenTable "table1", acViewNormal, acAdd End Sub
Wenn Sie es ausführen, wird eine vorhandene Tabelle mit dem Namen "table1" geöffnet. Alte vorhandene Einträge werden nicht angezeigt. Sie können neue Einträge nur hinzufügen und auch bearbeiten, solange Sie die Tabelle nicht schließen.
Sobald Sie die Tabelle geschlossen haben (Speichern reicht nicht), sind Ihre Eingaben gesperrt. Beim erneuten Öffnen der Tabelle über VBA werden keine Einträge angezeigt.
Wenn Sie sperren möchten, field1
versuchen Sie Folgendes:
Private Sub Field1_GotFocus () Wenn Me.Field1.Text "" Dann Me.Field1.Locked = True Sonst Me.Field1.Locked = False Ende wenn End Sub