Hallo, ich nochmal…
Moin.
Ja. Ich versuche es nochmal anschaulicher zu erklären:
Tabelle „Patienten“ enthält:
- Patientencode (AutoWert als Primärschlüssel für eindeutige
Kennung)
- Name
- Vorname
- Geburtsdatum
- Anschrift
Mit dieser Tabelle soll die Tabelle „Befunde“ verknüpft
werden.
In dieser Tabelle sind folgende Angaben gespeichert:
Schön, da fehlt das Fremdschlüsselfeld, mit dem du dir die dritte Tabelle schenken kannst…
- Untersuchungscode (AutoWert, als Primärschlüssel für
Eindeutigkeit)
- Patientencode (Primärschlüssel aus Tabelle Patienten als Felddatentyp Zahl)
- Untersuchungsdatum
- Aktuelle Beschwerden
- Laborwerte
- Ultraschall-Befund
- Röntgen-Befund etc.
Nun hat ja jeder Patient (= 1 Datensatz in Tabelle
„Patienten“) mehrere Befund-Datensätze, da er ja an mehreren
Tagen untersucht
wurde. Wenn ich also einen Patienten aufrufe, so möchte ich in
den Befund-Datensätzen „blättern“ können wie in einer
Krankenakte.
Analog zur Beispieldatenbank Nordwind, wo eine ähnliche
Situation
mit Kunden und Bestellungen vorliegt, habe ich über eine
Verknüpfungstabelle eine 1:m-Beziehung aufgebaut.
Die Verknüpfungstabelle enthält die beiden Primärschlüssel,
also
„Patientencode“ und „Untersuchungscode“.
und ist in diesem „einfachen“ Fall überflüssig (um nicht von Speicherverschwendung zu reden)…
In der Nordwind-Datenbank funktioniert so eine Verknüpfung,
bei mir
gibt es aber die besagte Fehlermeldung.
Was ist hier zu tun ?
Gruß Kai
Wenn du in der Tabelle Befunde ein Zahlenfeld zur Aufnahme des Fremdschlüssels einfügst, in dem dann der Patientencode direkt gespeichert wird, lässt sich schon mit dieser einen Tabelle feststellen, zu welchem Patienten welche Datensätze gehören.
Du kannst dann nach Belieben (manche stehen da drauf!) eine 1:n Beziehung zwischen deinen beiden Tabellen Patienten und Befunde (über das Feld Patientencode) erstellen.
Im Formular muss dann für das Unterformular-steuerelement (Das Fenster, in dem das Unterformular dargestellt wird!) die Eigenschaften „Verknüpfen von“ und „Verknüpfen nach“ auf die Tabellenfelder „Patientencode“ angepasst werden. Dann zeigt das Unterformular nur noch die Datensätze, die zum aktuellen DS im Hauptformular gehören.
CU, Jan