Einzelnen Beitrag anzeigen

Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.012 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#2

Re: Mehrere MasterSources von einer Tabelle??

  Alt 4. Nov 2004, 08:41
Zitat von buyden:
Hi,

Ich hab mal wieder ne kleine Datanbankfrage. Folgende Situation:

Ich hab ne MySQL DB mit den ZEOS-Komponenten angebunden. Das Programm soll ne Reparaturdatenbank für PCs werden.

Ich hab also ne Tabelle "Auftrag", in der sämtliche allgemeinen Daten zu einer Reparatur gespeichert werden. Außerdem sollen noch sämtliche Komponenten, die in dem zu einem Auftrag gehörenden PC verbaut sind aufgenommen werden. Also hab ich ne Tabelle "Artikel" in der sämtliche verfügbaren Einzelteile stehen. Diese möchte ich über ne Verbindungstabelle namens "Verbaut" miteinander verbinden.
Ich hab also bei den Haupttabellen jeweils die Verbindungstabelle als MasterSource angegeben und als Masterfield den entsprechenden Fremdschlüssel.

Sollte doch soweit richtig sein oder??

Jetzt brauche ich aber auch noch eine Tabelle in der ich aufnehme, welche Komponenten für den jeweiligen Auftrag bestellt sind. Ich müsste also die Tabelle "Auftrag" über ne weitere Verbindungstabelle "Bestellt" mit der "Artikel"-Tabelle verbinden, in MasterSource und Masterfield steht ja aber schon die andere Tabelle drin.

Wie geht man denn in so nem Fall vor???
Guten Morgen Mr. Anderson,

ich denke nicht, dass dein Vorgehen richtig ist.
Wenn ich dich richtig verstanden habe, dann möchtest du bei Auswählen eines Auftrages die verbauten und bestellten Artikel aufgelistet sehen.
Das heißt, die Auftragstabelle ist auf jeden Fall Master!
Du kannst in diesem Fall nicht die Verbindungstabelle als Master angeben, sondern musst über die Verbindungstabelle den jeweiligen Artikel auflösen, ungefähr so:
SELECT Verbaut.Auftrag_ID, Artikel.* FROM Verbaut, Artikel WHERE Verbaut.Artikel_ID = Artikel.Artikel_ID Jetzt kannst du bei dieser Datenmenge die Auftrags-Datenmenge als Master (über Auftrag_ID) angeben, so dass alle verbauten Artikel des gewählten Auftrags angezeigt werden. Ebenso musst du mit den bestellten Artikeln vorgehen.

MfG
Stevie
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat