Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: hawebe am September 23, 2015, 13:53:02

Titel: Unerklärbarer Übernahmefehler
Beitrag von: hawebe am September 23, 2015, 13:53:02
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
Titel: Re: Unerklärbarer Übernahmefehler
Beitrag von: DF6GL am September 23, 2015, 14:03:33
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
Titel: Re: Unerklärbarer Übernahmefehler
Beitrag von: MaggieMay am September 23, 2015, 14:09:38
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
Titel: Re: Unerklärbarer Übernahmefehler
Beitrag von: ebs17 am September 23, 2015, 18:03:58
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
Titel: Re: Unerklärbarer Übernahmefehler
Beitrag von: hawebe am September 23, 2015, 20:36:43
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.