Hallo zusammen,
Ich möchte gerne Daten aus zwei Tabellen in einem Grid anzeigen lassen, aber mit eingeschränkter Ergebnismenge.
Hier kurz die Felder:
1. Tabelle (Crosstable): Name: Cross_Artikel_Zubehoer
- Artikel_ID --> (Fremdschlüssel auf Artikelstamm.ID)
- Zubehoer_ID --> (Fremdschlüssel auf Artikelstamm.ID)
- Modularikel
2. Tabelle: Name: Artikelstamm
- ID --> (Primärschlüssel)
- Name
- Einkaufspreis
- Verkaufspreis
So, nun genauer zum Problem.
Ich möchte, dass nun in meinem Grid alle Zubehörartikel angezeigt werden, wo Zubehoerartikel.Artikel_ID und Artikelstamm.ID gleich sind (aber nur für die Artikelstamm.ID, auf der ich grade positioniert bin - also nicht alle).
Beispiel:
Ein Artikel in Artikelstamm wurde ausgewählt und in dem Grid sollen nun alle dazugehörigen Zubehörartikel stehen. Die Zubehörartikel sind auch Teil des Artikelstamms.
Nun möchte ich zu jedem Zubehörartikel auch die Preise wissen (anzeigen reicht ...).
Und das habe ich bereits:
SQL-Statement des Querys:
SQL-Code:
SELECT Artikel_ID, Zubehoer_ID, Modulartikel
FROM Cross_Artikel_Zubehoer, Artikelstamm
WHERE Artikel_ID = Artikelstamm.ID
und den Filter des Querys:
Delphi-Quellcode:
Query_Zubehoer.Filter := 'Artikel_ID=' + IntToStr(Table_Artikel.FieldValues['ID']);
Query_Zubehoer.Filtered := True;
Da ich in
SQL noch nicht so fit bin, habe ich bei dem Statement meine Schwierigkeiten.
Wie muss ich das Statement abändern, das ich immer die Preise von den Artikel erhalte, wo ich die IDs in der eingeschränkten Menge im Grid habe?
PS: Ich weiß, dass ist alles ein bisschen verwurschtelt, aber ich hoffe, dass ihr mir bei meinen Problem behilflich sein könnt.
Danke.
MFG
Lorenz
Ich habe viel von meinem Geld für Alkohol, Weiber und schnelle Autos ausgegeben ... Den Rest habe ich einfach verpraßt.
George Best - 22.05.1946 - 25.11.2005 - nordirischer Fußballspieler