Guten Morgen zusammen,
ich nutze aktuell Access 2010, um über dort erstellte Formulare Daten in eine Postgres Datenbank einzutragen. Aus meiner Sicht ist das Konstrukt sehr simpel. Ich habe in der Postgres eine Tabelle erzeugt mit verschiedenen Spalten, davon eine Spalte als ID (Primärschlüssel), die automatisch einen neuen Wert für jeden Datensatz generiert auf Basis einer Sequence in der Datenbank. Das funktioniert dort auch problemlos, wenn ich wenn ich die Daten dort bearbeite.
Die Tabelle habe ich per ODBC mit Access verknüpft und dort ein einfaches Formular erstellt, aber dabei die Spalte ID ausgeblendet. Um mir das Ganze deutlicher zu machen habe ich das gleiche Formular noch mal erstellt, diesmal mit der ID Spalte, um zu sehen, was dort passiert. Das Verhalten ist bei beiden Formularen gleich.
Wenn ich dort nun Daten eintrage, passiert folgendes:
- Ich positioniere am Ende auf die Zeile für einen neuen Datensatz und fülle im Formular die erste Spalte des neuen Satzes mit einem Wert aus. Die anderen Felder lasse ich leer.
- Ich verlasse mit der Maus den neuen Datensatz, so dass dieser geschrieben wird. In diesem Moment werden die übrigen Felder des neuen Datensatzes mit Werten eines anderen Satzes gefüllt. Auch die ID wird übernommen und ich habe im Formular faktisch ein Duplikat erzeugt.
- In der Postgres taucht dieser Datensatz nirgendwo auf. Dort sehe ich einen neuen Satz mit der richtigen (nächsten) ID und leeren ID.
- Drücke ich F5 um das Fomular zu aktualisieren, verschwindet das Duplikat und der neue Satz taucht in dem Formular auf.
Habt ihr eine Idee wie ich das Problem lösen oder zumindest weiter eingrenzen kann?
Danke und Gruß
Matthias