title image


Smiley SQL SUM Befehl soll nur bis zu einem bestimmten Wert gehen
Beispiel:

Tabelle enthält drei Lagerbestandsposten.

Der erste 50 Stück, der zweite 60, der dritte 20



Ich möchte IN DER Reihenfolge die Sätze ausgeben, bis sie einen per Parameter eingegebenen Wert erreicht.



Gibt der User also 70 ein, soll das Programm nur Posten eins und zwei ausgeben.



Löse ich das mit Sum, kommt witzigerweise bei 50 Stück der erste UND der zweite Posten raus... :(



Kann mir jemand helfen? Hier mein Code:



PARAMETERS [Which Item do you want to destock?] Long, [How much?] Long;



SELECT Storagetransaction.[Item N°], Storagetransaction.Deliverydate, Storagetransaction![Amount delivered]-Storagetransaction![Amount into production] AS [In stock], Storagetransaction.Storageposition, Sum(Storagetransaction.[Amount delivered]) AS [SummevonAmount delivered], Storagetransaction.[Item Name], Storagetransaction.[Transaction ID]



INTO Storagelist



FROM Storagetransaction



GROUP BY Storagetransaction.[Item N°], Storagetransaction.Deliverydate, Storagetransaction![Amount delivered]-Storagetransaction![Amount into production], Storagetransaction.Storageposition, Storagetransaction.[Item Name], Storagetransaction.[Transaction ID], Storagetransaction![Amount delivered]-Storagetransaction![Amount into production]



HAVING (((Storagetransaction.[Item N°])=[Which Item do you want to destock?]) And ((Sum(Storagetransaction.[Amount delivered]))=[How much?]) And ((Storagetransaction![Amount delivered]-Storagetransaction![Amount into production])>0))



ORDER BY Storagetransaction.Deliverydate;


larryfilou believes: "Never make the same mistake twice - there are so many others to choose from..."

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: