Hallo zusammen
habe je eine Tabelle für die Kundeninformationen und den Lieferanten die in der Tabelle Projekte zusammenlaufen
Jeder Kunde kann mehrere Projekte haben mit verschiedenen Lieferanten
und jeder Lieferant mehre Projekte bei verschiedenen Kunden
Hierzu dachte ich mir, wäre es gut, wenn ich der Tabelle Projekte eine Beziehung zur Kunden bzw. Lieferanten Tabelle zuweise
Tabellen.jpg
Leider bekomme ich das aber nicht auf die Reihe, vielleicht auch deswegen, weil ich die Fehlermeldung nicht verstehe
FM Datentypen.jpg
Zur Info
in der Tabelle Projekte wähle ich die Kommissionsnummer über ein Kombifeld aus, ebenso wie den Kunden
Ist das vielleicht damit gemeint "Datentyp"?
oder diese Meldung
Referenzielle_Integrität.jpg
Ich würde halt gern in der Tabelle Lieferant dieses + vor der Zeile haben, über das ich sehen kann, welche Projekte alle diesem Lieferanten zugeordnet sind
Ebenso in der Tabelle Kunden, welche Projekte diesem zugeordnet sind
So wie es halt ist, wenn diese 1:n Beziehung besteht
Kann mir jemand beim Lösen des Knotens helfen?
Hallo,
Deine Beschreiebung ist etwas verwirrend.
Wenn ein Kunde Projekte hat, wieso hat ein Lieferant auch Projekte ?
Die Fehlermeldung sind eindeutig, was verstehst Du daran nicht ?
Beziehungen laufen immer über die ID und in den abhängigen TAbellen ein Fremdschlüsselfeld des gleichen Datentyps. Daher sollte man die ID's nicht einfach ID nennen, sondern mit Bezug zur Tabelle (z.B. KundenID).
Was steht im Feld "Lieferant" und was im Feld "Lieferant Ref" ?
Dringender Rat:
Verzichte in Feldnamen unbeding auf Leer und Sonderzeichen. Ein NoGo sind Klammern im Feldnamen. Diese müssen in ein [] Klammerpaar eingeschlossen werden. Was eine Fehlerquelle ist und zusätzlichen Aufwand erfordert.
Alle Feldnamen mit solchen Sonderzeichen müssen bei Verwendung in Ausdrücken, SQL und VBA immer in ein []
Zitat von: MzKlMu am Dezember 06, 2022, 11:05:13Hallo,
Deine Beschreiebung ist etwas verwirrend.
Wenn ein Kunde Projekte hat, wieso hat ein Lieferant auch Projekte ?
Das "Projekt" bildet die Verbindung von unserer Zuordnung "Kommission" zum Kunden an den wir geliefert haben und der Teile vom Lieferanten.
Lieferant A hat zB beim Kunden 1 zu unserem Projekt abc eine Maschine und beim Projekt bcd eine andere geliefert.
Vom Lieferant B haben wir ebenfalls beim Kunden 1 eine Maschine für das Projekt efg
Beim Kunden 1 sind demnach 3 Projekte von uns, welche die Maschinen/Teile von 2 Lieferanten beinhalten
Kunde 1
- Projekt abc
-- Lieferant A
- Projekt bcd
-- Lieferant A
- Projekt efg
-- Lieferant B
Lieferant A
- Kunde 1
-- Projekt abc
-- Projekt bcd
Lieferant B
- Kunde 1
-- Projekt efg
Hilft das zum besseren Verständnis, was ich damit meine?
Ich hätte halt gern in der Tabelle Lieferanten diese automatische Übersicht bei welchen Kunden dessen Anlagen stehen
Ebenso möchte ich in der Tabelle Kunden sehen können, welche Anlagen von welchem Lieferant bei welchem Kunden stehen.
Daher war ich der Meinung das über Beziehungen herstellen zu können
Vorstellung.jpg
Zitat von: MzKlMu am Dezember 06, 2022, 11:05:13Die Fehlermeldung sind eindeutig, was verstehst Du daran nicht ?
Beziehungen laufen immer über die ID und in den abhängigen TAbellen ein Fremdschlüsselfeld des gleichen Datentyps.
<< Danke für die Übersetzung
Zitat von: MzKlMu am Dezember 06, 2022, 11:05:13Daher sollte man die ID's nicht einfach ID nennen, sondern mit Bezug zur Tabelle (z.B. KundenID).
Das ist ein sehr sinnvoller Hinweis, Danke. Werde das demnächst so umsetzen
Zitat von: MzKlMu am Dezember 06, 2022, 11:05:13Was steht im Feld "Lieferant" und was im Feld "Lieferant Ref" ?
Im Feld Lieferant steht der Name des Lieferanten
Im Feld Lieferant Ref steht seine Referenz, wie z.B. eine Seriennummer
Zitat von: MzKlMu am Dezember 06, 2022, 11:05:13Dringender Rat:
Verzichte in Feldnamen unbeding auf Leer und Sonderzeichen. Ein NoGo sind Klammern im Feldnamen. Klammerpaar eingeschlossen werden. Was eine Fehlerquelle ist und zusätzlichen Aufwand erfordert.
Alle Feldnamen mit solchen Sonderzeichen müssen bei Verwendung in Ausdrücken, SQL und VBA immer in ein []
Herzlichen Dank für den Rat - da das meine erste Datenbank ist, fehlt mir solches Wissen noch. Ich werde es anpassen.
Hallo,
Du brauchst noch eine weitere Tabelle in der die Projekte mit den Kunden und den Lieferanten verbunden werden (über Schlüsselfelder).
ZitatIm Feld Lieferant steht der Name des Lieferanten
Im Feld Lieferant Ref steht seine Referenz, wie z.B. eine Seriennummer
Nein. das Feld Lieferant wird nicht benötigt und LieferantRef ist die ID des Lieferanten nicht eine Seriennummer oder ähnliches.
ZitatLieferantRef ist die ID des Lieferanten nicht eine Seriennummer oder ähnliches.
Er wird wohl beides brauchen. Wobei die Lief-ID fehlt (!für den OP, - das FK-Feld).
Hallo,
ZitatEr wird wohl beides brauchen.
Aber doch nicht in der Projektetabelle. Und eine Seriennummer für einen Lieferanten scheint mir auch nicht ganz sinnvoll zu sein. Eher eine Lieferantennummer.
Ich hatte es so verstanden, dass diese Nummer zu der Maschine
gehört, die von diesem Lieferanten an dieses Projekt geliefert
wurde.
Ich glaube, dass ich das Thema nicht klar formuliert habe
Durch die erstellten Beziehungen zwischen den Tabellen, werden diese strukturiert zusammengefasst
BeziehungDSzuProjekt.jpg
Zusammenfassund.jpg
Eine solche Beziehung würde ich auch gerne zwischen der Haupttabelle Projekte und den dazugehörigen Tabellen tblKunde und tbl Lieferant herstellen, weiß aber nicht wie.
Gewünschter Beziehungstyp
gewuenschter_Beziehungstyp.jpg
Wo muss ich was, wie ändern, damit es klappt.
(siehe oben die erhaltenen Meldungen)
HEUREKA - Ich hab die Lösung gefunden
Nach zig Anläufen wurde mein Wunsch durch folgendes Beziehungsverhältnis erfüllt
Loesung.jpg
Wichtig dabei ist, das kein Haken bei "Mit referentieller Integrität" gesetzt werden darf.
Vielen Dank an alle, die hier helfen wollten.
Hallo
wenn keine refentielle Integrität gesetzt werden kann, so ist das ein Fehler. RI ist in einer Datenbank unerlässlich. Auf RI kann und darf nicht verzichtet werden. Auch die 1:1 Beziehung kann so nicht stimmen. Du kannst nicht die ID des Kunden mit der ID des Projekts verbinden, das macht keinen Sinn.
Bitte zeige mal ein Bild des Beziehungsfensters auf dem man alle Tabellen mit allen Feldern sieht, oder lade die DB hier hoch.
So jedenfalls ist das völlig falsch.
Hallo Carolyn,
Deine Anforderungen aus dem OP kannst du in der anliegenden
BeispielDb nachvollziehen.
gruss ekkehard