Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: ChemSim am April 07, 2024, 17:05:20

Titel: Probleme mit Tabellenbeziehungen
Beitrag von: ChemSim am April 07, 2024, 17:05:20
Hallo zusammen,

ich habe in meiner Datenbank die folgende Struktur:

Screenshot 2024-04-07 165453.png

Zudem habe ich ein Formular frmProduzentenverwaltung, welches mit der Tabelle tblProduzenten verknüpft ist.  Neben den Textfeldern für den Produzenten, Adresse, PLZ und Ort gibt es auch ein Kombinationsfeld, welches per Abfrage auf die Tabelle tblLänder zugreift, um ein Land auszuwählen.

Weiterhin habe ich ein Formular frmAnlagenverwaltung, das mit der Tabelle tblAnlagen verknüpft ist. Dort gibt es ein Kombinationsfeld, um einen Standort auszuwählen. Die Tabelle tblStandorte ist ebenfalls mit der Tabelle tblLänder verknüpft.

Jetzt habe ich das Problem, dass wenn ein Produzent nicht das selbe Land (z. B. Deutschland) ausgewählt hat, wie das Land, das zu dem Standort (z. B. Berlin) gehört, der mit einer bestimmten Anlage verknüpft ist, mir diese Anlage nicht in einem anderen Formular/Abfrage angezeigt wird. Sobald ich aber dafür sorge, dass Standort der Anlage und Land des Produzenten, der mit der Anlage verknüpft ist, dasselbe Land haben, funktioniert es einwandfrei.

Meines Erachtens nach liegt das Problem in der Verknüpfung der Tabelle tblAnlagen, tblStandorte, tblLänder und tblProduzenten.

Wie kann ich erreichen, dass ein Produzent auch ein von einer Anlage abweichendes Land haben kann? Es ist nämlich so, dass der Hauptsitz eines Produzenten in einem anderen Land liegen kann, als dort wo er eine Anlage stehen hat. Muss ich für die Produzenten eine eigene Länder-Tabelle erstellen?

Würde mich über eure Hilfe sehr freuen?
Titel: Re: Probleme mit Tabellenbeziehungen
Beitrag von: ebs17 am April 08, 2024, 07:23:01
Flüchtiger Hinweis: Wenn man mit den Beziehungen im "Kreisverkehr" zwischen Tabellen fahren kann, kann das schnell kritisch werden und zu "Überraschungen" führen.
Titel: Re: Probleme mit Tabellenbeziehungen
Beitrag von: ChemSim am April 08, 2024, 18:16:34
Also eine extra Tabelle für die Länder der Produzenten erstellen?
Titel: Re: Probleme mit Tabellenbeziehungen
Beitrag von: andyfau am April 08, 2024, 21:27:38
Hallo,
man kann Tabellen mehrfach ins Beziehungsfenster nehmen und so den Kreisverkehr vermeiden.

Beste Grüße
Andreas
Titel: Re: Probleme mit Tabellenbeziehungen
Beitrag von: PhilS am April 08, 2024, 21:41:27
Zitat von: ChemSim am April 07, 2024, 17:05:20Jetzt habe ich das Problem, dass wenn ein Produzent nicht das selbe Land (z. B. Deutschland) ausgewählt hat, wie das Land, das zu dem Standort (z. B. Berlin) gehört, der mit einer bestimmten Anlage verknüpft ist, mir diese Anlage nicht in einem anderen Formular/Abfrage angezeigt wird. Sobald ich aber dafür sorge, dass Standort der Anlage und Land des Produzenten, der mit der Anlage verknüpft ist, dasselbe Land haben, funktioniert es einwandfrei.
Höchstwahrscheinlich hat dieses Problem bestenfalls mittelbar mit den Beziehungen der Tabellen zu tun.

Stattdessen würde ich primäre die Abfrage für das betroffene Formular unter die Lupe nehmen. Wahrscheinlich wurden in der Abfrage Joins zwischen den Tabellen erstellt, die dazu führen dass die Länderzuordnungen für beide gleich sein müssen. Möglicherweise macht Access das automatisch falsch. Du kannst diese falschen Joins aber einfach aus der Abfrage entfernen ohne die Beziehungen der Tabellen untereinander zu ändern.
Zitat von: ChemSim am April 07, 2024, 17:05:20Muss ich für die Produzenten eine eigene Länder-Tabelle erstellen?
Nein, definitiv nicht!
Innerhalb einer Abfrage kannst du die eine Ländertabelle mehrfach hinzufügen. Wenn du die Länderinformation zu verschiedenen Entitäten in einer Abfrage anzeigen willst, ist das zwingend erforderlich.
Titel: Re: Probleme mit Tabellenbeziehungen
Beitrag von: ChemSim am April 08, 2024, 22:07:26
Hallo PhilS,

ZitatWahrscheinlich wurden in der Abfrage Joins zwischen den Tabellen erstellt, die dazu führen dass die Länderzuordnungen für beide gleich sein müssen.

Danke für den Hinweis, in der Tat gab es eine Join zwischen der Tabelle tblProduzenten und tblLänder, die ich entfernt habe. Jetzt schein es zu funktionieren.

Gruß
Simon