Nur der erste Artikel im Warenkorb löst Versandkosten aus

Hallo Zusammen,

nachdem wir unsere Versandkosten für Langgüter endlich soweit am Laufen haben, haben wir nun folgendes Problem:

Die Versandkosten werden nach Länge&Breite berechnet - jedoch wird nur der erste Artikel im Warenkorb berücksichtigt.

Code:

IF ((d.length >  3 AND d.length   3 AND d.width IF((d.length >  4 AND d.length   4 AND d.width IF((d.length >  5 AND d.length    5 AND d.width )))

 

Jemand eine Idee wie ich den Code umbauen muss?

Sollen denn die Kosten pro Artikel angerechnet werden? Dann musst du ein SUM() drumherum machen.

Das SUM heißt eigentlich nur, dass alle Positionen genommen werden und addiert.

Ansonsten musst du mit MAX() bei den einzelnen Abfragen arbeiten.

IF((MAX(d.length) > 3 AND MAX(d.length) < 4) OR (MAX(d.width) >  3 AND MAX(d.width)

IF((MAX(d.length) > 4 AND MAX(d.length) < 5) OR (MAX(d.width) >  4 AND MAX(d.width)

IF((MAX(d.length) > 5 AND MAX(d.length) < 10) OR (MAX(d.width) >  5 AND MAX(d.width)

)))

 

So hab ich es jetzt aufgebaut…aber scheint immernoch nicht so richtig zu funktionieren

Also die Formel funktioniert jetzt… folgendes Problem haben wir jetzt noch… Wenn ein Artikel kleiner als 3Meter ist muss das Gesamtgewicht berechnet werden - dort haben wir jetzt folgende Formel hinterlegt:

 

IF((MAX(d.length) > 3 AND MAX(d.length) < 4) OR (MAX(d.width) >  3 AND MAX(d.width)

IF((MAX(d.length) > 4 AND MAX(d.length) < 5) OR (MAX(d.width) >  4 AND MAX(d.width)

IF((MAX(d.length) > 5 AND MAX(d.length) < 10) OR (MAX(d.width) >  5 AND MAX(d.width)

IF((SUM(d.weight) > 31.5 AND SUM(d.weight) < 100), 31.50,

IF((SUM(d.weight) > 100 AND SUM(d.weight) < 200), 38.85,

IF((SUM(d.weight) > 200 AND SUM(d.weight) < 300), 50.40,0

))))))

Hier gibt er aber bei einem Artikel unter 3m den Wert 0 bei den Versandkosten aus

Irgendwie kommen wir hier nicht mehr weiter…

Hallo, kann mir jemand bei meiner Abfrage behilflich sein: 

Es soll geprüft werden ob Länge oder Breite oder Höhe < 1000, dann 10 euro,

anschl. wenn Länge oder Breite oder Höhe < 1500, dann 20 euro,

anschl. wenn Länge oder Breite oder Höhe < 2500, dann 30 euro,

Es ist nat. auch kombinationen möglich, länge unter 1500 und breite evtl. über 2500 – dann soll er den aufschlag von den mehr als 2500 nehmen …

Komme einfach nicht weiter … :frowning:

Bisher:

IF((MAX(d.length) > 0 AND MAX(d.length) < 1000) OR (MAX(d.width) > 0) AND (MAX(d.width) < 1000) OR (MAX(d.height) > 0) AND (MAX(d.height) < 1000), 5, 
IF((MAX(d.length) > 1000 AND MAX(d.length) < 1500) OR (MAX(d.width) > 1000) AND (MAX(d.width) < 1500) OR (MAX(d.height) > 1000) AND (MAX(d.height) < 1500), 10, 0))