German Error CS0159 beim "Abfangen" einer Fehlermeldung

JOTHA

Well-Known Member
Licensed User
Longtime User
Hallo,

ich habe folgenden Code:
B4X:
Sub Kalender2_ValueChanged
If Kalender2.Value < Kalender1.Value Then
ErrorLabel (Fehler1)   'Fehlermeldung
Kalender2.Value = Kalender1.Value
Fehler1:
Msgbox("Das Ende-Datum kann nicht früher sein als das Beginn-Datum.", "Fehlermeldung", cMsgboxOK, cMsgboxHand)
End If
ButtonZeichneLineChart_Click
End Sub
... dabei möchte ich eine Fehlermeldung abfangen.
Das Ganze funktioniert auf dem Desktop.

Es läßt sich aber nicht compilieren. Beim Compilieren erscheint die angehängte Fehlermeldung:

:confused:
 

klaus

Expert
Licensed User
Longtime User
Ist die Fehlermeldung eine Systemmeldung oder willst Du eine falsche Eingabe abfangen ?

Dann würde Ich Dir folgendes vorschlagen:
B4X:
Sub Kalender2_ValueChanged
If Kalender2.Value < Kalender1.Value Then
 Msgbox("Das Ende-Datum kann nicht früher sein als das Beginn-Datum.", "Fehlermeldung", cMsgboxOK, cMsgboxHand)
 Kalender2.Value = Kalender1.Value
 ButtonZeichneLineChart_Click
End If
End Sub

Ich befürchte dass
ErrorLabel (Fehler1)
Fehler1:
nicht in einer If .. Then / Else / End If Funktion sein dürfen, der Konpiler ist empfindlicher als der Interpreter des IDE's.

Beste Grüsse.
 

JOTHA

Well-Known Member
Licensed User
Longtime User
Hallo Klaus,

du hast wahrscheinlich recht, dass es an der "IF - THEN" Situation liegt.

So wie Du das vorgeschlagen hast, habe ich es schon vorher gemacht, das läuft auch und lässt sich compilieren.

Nur in deinem Vorschlag muss das "ButtonZeichneLineChart_Click" nach dem End If kommen, sonst zeichnet die App nur den Chart, wenn die IF-THEN-Bedingung stimmt, oder?

So wie das jetzt läuft lasse ich es mal.

Danke trotzdem für deine Mühe! :)

---> Ich habe noch ein anderes "Phänomen":
Ich kann den Chart mit allen Daten eines Monats anzeigen lassen (z.B.: vom 01.11.10 bis 08.11.10), sobald ich aber einen Tag zurückgehe, werden keine Daten mehr ausgegeben, wegen "Überlauffehler" (z.B.: 31.10.10 bis 08.11.10).

Am Memory kann es nicht liegen, denn eine Wiedergabe der Daten vom 01.10.10 bis zum 31.10.10 funktioniert auch.

Also es werden nur die Daten angezeigt, wenn sie alle aus dem gleichen Monat stammen. Woran kann das liegen? :confused:

Ich verwende dazu folgende Zeile zum Auslesen aus einer SQL-Datenbank:
B4X:
Command.CommandText = "SELECT BZWert FROM SQLDiabetesTagebuch WHERE BZWert >=0 AND Datum BETWEEN '"&Date(Kalender1.Value)&"' AND '"&Date(Kalender2.Value)&"' "
 

klaus

Expert
Licensed User
Longtime User
Nur in deinem Vorschlag muss das "ButtonZeichneLineChart_Click" nach dem End If kommen, sonst zeichnet die App nur den Chart, wenn die IF-THEN-Bedingung stimmt, oder?

Klar ja !

Ich bin kein SQL Spezialist, aber könnte es eventuell mit dem Datumsformat zusammenhängen ?
Hast Du mal versucht anstatt
B4X:
Command.CommandText = "SELECT BZWert FROM SQLDiabetesTagebuch WHERE BZWert >=0 AND Datum BETWEEN '"&Date(Kalender1.Value)&"' AND '"&Date(Kalender2.Value))&"' "
dies
B4X:
Command.CommandText = "SELECT BZWert FROM SQLDiabetesTagebuch WHERE BZWert >=0 AND Datum BETWEEN '31.10.10' AND '08.11.10'"
zu versuchen, eventuell mit verschiedenen Datums.

Oder im IDE mal nachsehen ob die "SELECT BZWert FROM SQLDiabetesTagebuch WHERE BZWert >=0 AND Datum BETWEEN '"&Date(Kalender1.Value)&"' AND '"&Date(Kalender2.Value))&"' " Zeile auch so aussieht wie Du es willst.

Beste Grüsse.
 

JOTHA

Well-Known Member
Licensed User
Longtime User
Hallo Klaus,

klar habe ich es zuerst mit der einfacheren Art '25.10.10' probiert. Es hat nicht geklappt.

Anbei poste ich mal die Fehlermeldung, vielleicht kann jemand was damit anfangen?
 

JOTHA

Well-Known Member
Licensed User
Longtime User
P.S.: das Format ("dd.mm.yyyy") = '27.10.2010' hilft auch nicht weiter und in der IDE-Hilfe zum Thema SQL ist auch nichts zu finden.
 
Top