Hallo, ich finde den Fehler nicht und hoffe auf Euere Hilfe.
Ich teile Folien entsprechend ihrem Qm-Preis ([SumMat] ungebundenes Textfeld, Format €, 3 Dezimalstellen) in Preisgruppen von 1 - 9 ([PGHS] ungebundenes Textfeld, Format Allg. Zahl) ein.
Das Problem:
Wenn [SumMat] => "10,000" ist, erfolgt die Einteilung in die [PGHS] 3. (Me!SumMat) >= "8,000" greift hier nicht !!!
Wenn [SumMat] < "10,000" ist, erfolgt die Einteilung korrekt in die [PGHS] 9.
Es ist mir unerklärlich, warum der Wert >10,000 nicht richtig in die [PGHS] übernommen wird.
If (Me!SumMat) >= "4,420" Then
If (Me!SumMat) < "5,440" Then
Me!PGHS = 7
End If
End If
If (Me!SumMat) >= "5,440" Then
If (Me!SumMat) < "8,000" Then
Me!PGHS = 8
End If
End If
If (Me!SumMat) >= "8,000" Then
Me!PGHS = 9
End If
Hallo,
Texte (Literale) sind nun mal keine numerischen Werte...
If (Me!SumMat) >= 4.42 Then
If (Me!SumMat) < 5.44 Then
Me!PGHS = 7
End If
End If
If (Me!SumMat) >= 5.44 Then
If (Me!SumMat) < 8 Then
Me!PGHS = 8
End If
End If
If (Me!SumMat) >= 8 Then
Me!PGHS = 9
End If
Hi,
sind das tatsächlich Texte, so ist "1" natürlich kleiner als "9", egal wie viele Nullen dahinter stehen. Bei Zahlen solltest du auch einen Zahlenvergleich durchführen, also bspw. so:
If (Me!SumMat) >= 5.44 Then
Übersichtlicher wird's allerding so:
If (Me!SumMat) >= 4.42 And Me!SumMat < 5.44 Then
Me!PGHS = 7
ElseIf (Me!SumMat) >= 5.44 And (Me!SumMat) < 8 Then
Me!PGHS = 8
ElseIf (Me!SumMat) >= 8 Then
Me!PGHS = 9
End If
Bezüglich Übersichtlichkeit:
Select Case Me!SumMat
Case < 5.44
Me!PGHS = 7
Case < 8
Me!PGHS = 8
Case Else
Me!PGHS = 9
End Select
Ich danke Euch für die Unterstützung.
Den Punkt anstelle des Kommas hatte ich heute früh schon versucht, aber dabei schob sich immer eine Raute hinter die Zahl. Warum? Keine Ahnung, was da falsch gelaufen ist.
Nun klappt es. Auch den aus dem Jahr 2004 stammenden Code habe ich entsprechend dem Vorschlag von Maggie modernisiert.
Also nochmals vielen Dank.