PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie vermeide ich Fehlermeldung unter Visual Basic?


LordDeath
2004-10-01, 19:56:18
also, ich will eine division durchführen! hierbei soll ein fester dividend mit einem divisor dividiert werden, welchen ich aus der "text" eigenschaft einer textbox beziehe! nun will ich aber, dass keine fehlermeldung kommt, wenn ich nichts oder buchstaben in dieses feld eingebe! wo kann ich feststellen, dass nur zahlen eingefügt werden können oder gibt es da auch noch andere lösungsmöglichkeiten? welche wär die beste?

dav133
2004-10-02, 02:24:49
Private Sub blabla()
On Error GoTo fehlerhandler
lblErgebnis.Caption = val(Divident) / txtDivisor.Text
Exit Sub
fehlerhandler:
On Error Resume Next
MsgBox "Falsche Eingabe. Nur Zahlen >0 erlaubt!",vbokonly,"Fehler!"
end sub


Rechtschreibfehler sind bestimmt drin ;(

LordDeath
2004-10-02, 14:23:44
danke! hat geklappt! nur musst ich nix mit "exit sub" benutzten! wann sollte man sowas erst benötigen?

edit: scheiße! die msg box kommt auch, wenn ich da nix falsch mache :(

edit2: ok, das exit sub war wohl dafür da, dass es nicht mehr der fehlerhaendler nicht ausgeführt wird, wenn kein fehler da war ^^

dav133
2004-10-02, 20:51:00
danke! hat geklappt! nur musst ich nix mit "exit sub" benutzten! wann sollte man sowas erst benötigen?

edit: scheiße! die msg box kommt auch, wenn ich da nix falsch mache :(

edit2: ok, das exit sub war wohl dafür da, dass es nicht mehr der fehlerhaendler nicht ausgeführt wird, wenn kein fehler da war ^^


hmm, dann machs so:


Private Sub blabla()
On Error GoTo fehlerhandler
lblErgebnis.Caption = val(Divident) / val(txtDivisor.Text)
goto ende
fehlerhandler:
On Error Resume Next
MsgBox "Falsche Eingabe. Nur Zahlen >0 erlaubt!",vbokonly,"Fehler!"
ende:
end sub

LordDeath
2004-10-02, 21:50:48
danke, hab geguckt! beides geht gleich! rest ist wohl nur noch geschmackssache!

dav133
2004-10-02, 21:56:05
ok, die letztere Variante würgt die Sub nicht ab, sondern leitet sie ans ende und ist wohl etwas eleganter. Ich kenne den restlichen Code ja nicht, aber wenns geht, dann is ja alles ok :uup: