· Mehdi Aroui · produktivitaet · 2 min read
Access-Schreibkonflikt mit MariaDB, MySQL oder MSSQL beheben
Die Fehlermeldung "Dieser Datensatz wurde seit Beginn der Bearbeitung von einem anderen Benutzer geändert" tritt in Access-Frontends mit externem Backend häufiger auf als erwartet. Die Ursache liegt im Datentyp, die Lösung in einem TIMESTAMP-Feld.

Die Ausgangslage
Eine Access-Datenbank wurde auf MariaDB, MySQL oder Microsoft SQL Server migriert. Aus Hamburger Praxen und Büros sehen wir diesen Migrationspfad häufig. Access wird weiterhin als Frontend genutzt, das Backend läuft auf dem externen Datenbankserver. (Stand 2026: Die beschriebene TIMESTAMP-Lösung gilt für MariaDB 10.x/11.x und MySQL 8.x unverändert.) Bei Änderungen an Datensätzen erscheint die Fehlermeldung:
“Schreibkonflikt. Dieser Datensatz wurde seit Beginn der Bearbeitung von einem anderen Benutzer geändert.”
Das Kuriose: Der Fehler tritt auch dann auf, wenn kein zweiter Benutzer aktiv ist.
Ursache
Access nutzt die JET-Datenbank-Engine für den externen Datenbankzugriff. JET vergleicht beim Speichern feldweise den aktuellen Zustand eines Datensatzes mit dem Zustand zum Zeitpunkt des Öffnens. Bei der Konvertierung von Access zu MySQL oder MariaDB werden Datentypen manchmal nicht exakt übertragen. Felder ohne eindeutigen Änderungszeitstempel führen dazu, dass JET glaubt, ein anderer Prozess habe den Datensatz verändert.
Lösung: TIMESTAMP-Feld hinzufügen
Ein Feld mit dem Datentyp TIMESTAMP gibt JET einen zuverlässigen Anker für den Vergleich. Der Wert wird automatisch bei jeder Änderung aktualisiert.
Schritt 1: Backup anlegen
Vor jeder Schemaänderung an der produktiven Datenbank ein Backup erstellen.
Schritt 2: TIMESTAMP-Feld per ALTER TABLE hinzufügen
ALTER TABLE `tabellenname`
ADD COLUMN `TimeStamp` TIMESTAMP NULL
DEFAULT CURRENT_TIMESTAMP()
ON UPDATE CURRENT_TIMESTAMP()
AFTER `letztes_feld`;letztes_feld durch den tatsächlichen Spaltennamen ersetzen, nach dem das neue Feld eingefügt werden soll.
Schritt 3: Verknüpfung in Access neu laden
- Access öffnen
- Externe Daten, Neue Datenquelle
- Aus anderen Quellen, ODBC-Datenbank
- “Erstellen Sie eine Verknüpfung zur Datenquelle” wählen
- Bestehende ODBC-Datenquelle auswählen
- Tabelle auswählen und verknüpfen
- Alte Verknüpfung in Access entfernen, neue umbenennen
Nach der Neuverknüpfung erkennt Access das TIMESTAMP-Feld automatisch und nutzt es für die Konflikterkennung. Der Schreibkonflikt-Fehler sollte nicht mehr auftreten.
Wichtig bei MSSQL
Bei Microsoft SQL Server erfüllt ein rowversion-Feld (früher timestamp) dieselbe Funktion. Access erkennt diesen Datentyp ebenfalls und verwendet ihn für den Datensatzvergleich.
ALTER TABLE tabellenname
ADD rowversion_col rowversion;Netzleiter unterstützt bei der Migration von Access-Datenbanken auf externe Backends und bei der Fehleranalyse in bestehenden Hybridlösungen. Fragen an die Hotline: 040 25 499 500.

