Hallo,
ich habe ein Problem mit 1:1 Beziehungen…
Eine „Haupt“-Tabelle wurde aus Berechtigungs-Gründen (Zugriffe) in mehrere Tabellen aufgeteilt und 1:1 verknüpft.
Der eindeutige Index (AutoWert) aus der Haupttabelle wurde dann mit dem jeweils eindeutigen Index (LongInteger) aus den Nebentabellen verknüpft.
Um in einem Formular die Daten aus allen Tabellen zur Verfügung zu haben, wurde dem Formular eine Abrage zugrunde gelegt, die alle Tabellen beinhaltet. Diese wurden auch hier 1:1 miteinander verknüpft, mit dem Unterschied, dass die Abrage alle Daten aus der Haupttabelle und nur die Datensätze aus den Nebentabellen beinhaltet, bei denen die Inhalte der verknüpften Felder der betr. Tabellen gleich sind. (So erhalte ich alle Datensätze aus der Haupttabelle, auch wenn in einer Nebentabelle kein Wert erfasst wurde; =Verknüpfungseigenschaften).
Nun zum Problem…
Ein Beispiel:
Im Formular werden in die Felder der Haupttabelle und in die Felder der 1. Nebentabelle Werte eingetragen. Die 1. Nebentabelle übernimmt hierbei automatisch den ID-Wert aus der Haupttabelle.
Wird der Datensatz dann zu einem späteren Zeitpunkt wieder aufgerufen, um Werte für die 2. Nebentabelle zu erfassen, passiert folgendes:
In der 2. Nebentabelle wird wieder die ID aus der Haupttabelle übernommen, gleichzeitig jedoch die ID der bereits erfassten Daten aus der 1. Nebentabelle auf 0 gesetzt. Beim speichern des DS erscheint dann logischerweise die Fehlermeldung:
„Der Datensatz kann nicht hinzugefügt oder geändert werden, da ein Datensatz in der Tabelle mit diesem Datensatz in Beziehung stehen muss.“
Kann mir jemand erklären, woran das liegt?
Danke schon mal.
Gruß
Uli