Hallo
Ich habe ein Formular. AQuf diesem ist eine Kombinationsbox (Combobox), sowie ein Listenfeld (Listbox).
Die Kombinationsbox steuert die Auswahl der Produkte in der Abfrage an. Das Funktioniert soweit.
Nun möchte ich in der Listenbox die Ausgabe der Abfrage haben und nicht alle Werte der Abfrage, sondern nur diejenigen Werte, welche zu dem Produkt gehören.
Besten dank für jegliche Hinweise.
MFG Sebastian
???
Moin,
häääääääää !?
- Wie viele Tabellen hast du?
- Beschreib mal die Struktur deiner Tabellen.
- Welche Abfrage steht in der Combobox?
Oder schieb deine Datenbank mal online.
Verwirrten Gruß.Timo
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Naja, es geht nicht um Tabellen, es geht um Tabellenabfragen. Die Abfrage selbst ist schon OK
Jetzt, damit eine Abfrage nach etwas funktionieren kann, muss man einen Wert haben. Dieser Wert wird mittels Kombinationsfeld ausgelesen. Dieses Kombinationsfeld steuert dann so zu sagen die Abfrage. Das Funktioniert.
Jetzt möcht ich aber das Ausgaberesultat der Abfrage, da es Mehrere argumente sind in einer Listbox auflisten. Wie geht das?
Also hierbei handelt es sich um eine 1/n Abfrage. Die 1 wird definiert durch die Eingabe in dem Kombinationsfeld, und die n möglichkeiten möchte ich nun in einer Listbox auflisten.
Das funktioniert auch soweit, nur werden alle Tabelleninhalte in der Listbox aufgelistet, und nicht nur diejenigen die Gefragt sind.
Zum SQL Code:
Dies ist der Code der Abfrage:
SELECT Produkt_Spezifikation.Produkt, Produkt_Spezifikation.Spezifikation, Produkt_Zubehör.Artikel, Produkt_Zubehör.Dimension, Produkt_Zubehör.Sonstiges, Produkt_Zubehör.BestllNummer, Produkt_Zubehör.Anzahl, Produkt_ArbeitsschrittundKosten.Abteilung, Produkt_ArbeitsschrittundKosten.Arbeitsschrittkosten, Produkt_ArbeitsschrittundKosten.Arbeitsschritt
FROM ((Produkt_Zubehör RIGHT JOIN (Produkt_Spezifikation LEFT JOIN [Menü_Matrix_Produkangebot/Zubehör] ON Produkt_Spezifikation.Produkt_Nummer = [Menü_Matrix_Produkangebot/Zubehör].Produkt_Nummer) ON Produkt_Zubehör.Zubehör_Nummer = [Menü_Matrix_Produkangebot/Zubehör].Zubehör_Nummer) RIGHT JOIN [Menü_Matrix_Produktangebot/ArbeitsschrittundPreis] ON Produkt_Spezifikation.Produkt_Nummer = [Menü_Matrix_Produktangebot/ArbeitsschrittundPreis].Produkt_Nummer) RIGHT JOIN Produkt_ArbeitsschrittundKosten ON [Menü_Matrix_Produktangebot/ArbeitsschrittundPreis].Arbeitsschritt_und_Kosten_ID = Produkt_ArbeitsschrittundKosten.Arbeitsschritt_und_Kosten_ID;
Dies ist der Code der Listbox
SELECT Produkt_SpezifikationundZubehör.Produkt, Produkt_SpezifikationundZubehör.Spezifikation, Produkt_SpezifikationundZubehör.Artikel, Produkt_SpezifikationundZubehör.Dimension, Produkt_SpezifikationundZubehör.Sonstiges
FROM Produkt_SpezifikationundZubehör;
Dies ist der Code des Kombinationsfeldes
SELECT Produkt_Spezifikation.Produkt
FROM Produkt_Spezifikation;
Morgen!
hab das Gefühl, dass du mit deiner statischen Abfrage ohnehin auf dem falschen Weg bist.
Was du da benötigst, ist ein abhängiges Listenfeld.
Du gibst im Kombifeld eine Auswahl vor und willst nur die zur Auswahl gehörigen Daten im Listenfeld sehen…
Naja, es geht nicht um Tabellen, es geht um Tabellenabfragen.
Die Abfrage selbst ist schon OK
Jetzt, damit eine Abfrage nach etwas funktionieren kann, muss
man einen Wert haben. Dieser Wert wird mittels
Kombinationsfeld ausgelesen. Dieses Kombinationsfeld steuert
dann so zu sagen die Abfrage. Das Funktioniert.
Das Kombifeld steuert gar nichts…sorry! Aber durch deine Code-Schnipsel wird höchstens die RowSource einmalig definiert.
Jetzt möcht ich aber das Ausgaberesultat der Abfrage, da es
Mehrere argumente sind in einer Listbox auflisten. Wie geht
das?
siehe http://www.donkarl.com/FAQ/FAQ4Formulare.htm#4.36 (Abhängige Kombi/Listenfelder)
Dein Kombifeld ist dabei das übergeordnete Element und muss nach Aktualisierung das Listenfeld dazu bringen, den neuen Inhalt erneut auszulesen.
Also hierbei handelt es sich um eine 1/n Abfrage. Die 1 wird
definiert durch die Eingabe in dem Kombinationsfeld, und die n
möglichkeiten möchte ich nun in einer Listbox auflisten.
Das funktioniert auch soweit, nur werden alle Tabelleninhalte
in der Listbox aufgelistet, und nicht nur diejenigen die
Gefragt sind.
relativ logisch, da deine Abfrage dazu keinerlei Parameter (WHERE-Klausel) enthält.
Zum SQL Code:
Dies ist der Code der Abfrage:
SELECT Produkt_Spezifikation.Produkt,
Produkt_Spezifikation.Spezifikation, Produkt_Zubehör.Artikel,
Produkt_Zubehör.Dimension, Produkt_Zubehör.Sonstiges,
Produkt_Zubehör.BestllNummer, Produkt_Zubehör.Anzahl,
Produkt_ArbeitsschrittundKosten.Abteilung,
Produkt_ArbeitsschrittundKosten.Arbeitsschrittkosten,
Produkt_ArbeitsschrittundKosten.Arbeitsschritt
FROM ((Produkt_Zubehör RIGHT JOIN (Produkt_Spezifikation LEFT
JOIN [Menü_Matrix_Produkangebot/Zubehör] ON
Produkt_Spezifikation.Produkt_Nummer =
[Menü_Matrix_Produkangebot/Zubehör].Produkt_Nummer) ON
Produkt_Zubehör.Zubehör_Nummer =
[Menü_Matrix_Produkangebot/Zubehör].Zubehör_Nummer) RIGHT JOIN
[Menü_Matrix_Produktangebot/ArbeitsschrittundPreis] ON
Produkt_Spezifikation.Produkt_Nummer =
[Menü_Matrix_Produktangebot/ArbeitsschrittundPreis].Produkt_Nummer)
RIGHT JOIN Produkt_ArbeitsschrittundKosten ON
[Menü_Matrix_Produktangebot/ArbeitsschrittundPreis].Arbeitsschritt_und_Kosten_IDProdukt_ArbeitsschrittundKosten.Arbeitsschritt_und_Kosten_ID;
Dies ist der Code der Listbox
SELECT Produkt_SpezifikationundZubehör.Produkt,
Produkt_SpezifikationundZubehör.Spezifikation,
Produkt_SpezifikationundZubehör.Artikel,
Produkt_SpezifikationundZubehör.Dimension,
Produkt_SpezifikationundZubehör.Sonstiges
FROM Produkt_SpezifikationundZubehör;Dies ist der Code des Kombinationsfeldes
SELECT Produkt_Spezifikation.Produkt
FROM Produkt_Spezifikation;
cu, Jan
WHERE Bedingung
Wie kann ich dann durch die Statische Abfrage mit der WHERE Bedingung den Kombinationsfeldinhalt abfragen?
Danke für die Die Anregungen
MFG Sebastian