PDA

Vollständige Version anzeigen : Gruppierte Abfrage mit 2 berechneten Werten


Franz Rueh
09.05.2004, 14:53
Ich brauche eine gruppierte Abfrage mit 2 berechneten Werten(1. Lagerbestand, 2. Lager), wobei der 2. Wert den 1. berechneten Wert benötigt - siehe SQL:
SELECT tblProduct.ProductID, OnHand(abf_ausruestung_summen.ProductID) AS Lagerbestand, abf_ausruestung_summen.AusQuantity, abf_ausruestung_summen.RueckQuantity, [Lagerbestand]+nz([AusQuantity],0)+nz([RueckQuantity],0) AS Lager
FROM tblProduct LEFT JOIN abf_ausruestung_summen ON tblProduct.ProductID=abf_ausruestung_summen.ProductID
GROUP BY tblProduct.ProductID, OnHand(abf_ausruestung_summen.ProductID), abf_ausruestung_summen.AusQuantity, abf_ausruestung_summen.RueckQuantity, [Lagerbestand]+nz([AusQuantity],0)+nz([RueckQuantity],0);

Bisher hat das auch problemlos funktioniert, doch jetzt fragt er plötzlich nach einer Parametereingabe für "Lagerbestand", klicke ich ohne Eingabe of OK wird die Abfrage ausgeführt und die Werte sind richtig - Wie bekomme ich diese Parametermeldung weg?
Sieh auch angehängte DB- es geht um die "abf_lagerbestand". Früher hatte ich beide berechneten Werte in der Gruppierung als "Ausdruck" definiert, was jetzt mit der Fehlermeldung, dass das nicht Teil der Aggregatfunktion sei, quittiert wird.
Access 2002
Franz

Nouba
09.05.2004, 15:34
Mit Gruppierungsfunktion sollte es so gehen.
SELECT
P.ProductID
, OnHand(q.ProductID) AS Lagerbestand
, q.AusQuantity
, q.RueckQuantity
, OnHand(q.ProductID)+Nz([AusQuantity],0)+Nz([RueckQuantity],0) AS Lager
FROM tblProduct AS P
LEFT JOIN abf_ausruestung_summen AS q
ON P.ProductID = q.ProductID
GROUP BY
P.ProductID
, OnHand(q.ProductID)
, q.AusQuantity
, q.RueckQuantity
, OnHand(q.ProductID)+Nz([AusQuantity],0)+Nz([RueckQuantity],0)
da die Abfrage vorher sowieso schon gruppiert ist, reicht auch eine einfache Abfrage aus.
SELECT
P.ProductID
, OnHand(q.ProductID) AS Lagerbestand
, q.AusQuantity
, q.RueckQuantity
, OnHand(q.ProductID)+Nz([AusQuantity],0)+Nz([RueckQuantity],0) AS Lager
FROM tblProduct AS P
LEFT JOIN abf_ausruestung_summen AS q
ON P.ProductID = q.ProductID

Franz Rueh
09.05.2004, 18:22
Nouba, wieder einmal ein großes Danke an dich - deine Lösungen funktionieren großartig, so großartig wie deine Hilfsbereitschaft!

Franz