2012-04-01 9 views
4

Ich versuche herauszufinden, wie zwei Bedingungen in einer Case-Anweisung getestet werden.Mehrere Bedingungen mit Select Case in VB 2010

Select Case txtWeight.Text 
    Case Is <= 2 
     decShippingCost = (decShipping2 + (decShipping2 * 0.26)) 
    Case Is > 2 and <= 4 
     decShippingCost = (decShipping4 + (decShipping4 * 0.026)) 

ich nicht die Arbeit und zu können, was mache ich falsch?

Antwort

7
Select Case txtWeight.Text 
    Case Is <= 2 
     decShippingCost = (decShipping2 + (decShipping2 * 0.26)) 
    Case 3 to 4 
     decShippingCost = (decShipping4 + (decShipping4 * 0.026)) 
End Select 

Oder vielleicht dies, wenn Sie 2,5 als> 2 fangen wollen.

Select Case txtWeight.Text 
    Case Is <= 2 
     decShippingCost = (decShipping2 + (decShipping2 * 0.26)) 
    Case 2.01 to 4 
     decShippingCost = (decShipping4 + (decShipping4 * 0.026)) 
End Select 
+0

Vielen Dank! Es ist immer etwas albern und klein :) Schätze deine Hilfe! –

+1

'Fall ist> 2, ist <= 4' – Valen

5

Sie müssen im zweiten Fall nicht auf ein Gewicht von mehr als zwei prüfen. Wenn es nicht größer als zwei ist, hat es den ersten Fall eingegeben. So können Sie es zu diesem vereinfachen:

Select Case txtWeight.Text 
    Case Is <= 2 
     decShippingCost = (decShipping2 + (decShipping2 * 0.26)) 
    Case Is <= 4 
     decShippingCost = (decShipping4 + (decShipping4 * 0.026)) 
End Select 
+1

Es ist wahr, aber es ist ein gefährlicher Weg zu gehen, wenn jemand den ersten Fall IS umgestaltet und nicht erkennt, dass es den zweiten beeinflussen wird. Aber trotzdem, +1 von mir wegen der Information über die Möglichkeit dazu. – Stefan