peppey paloma
Grünschnabel
Hallo!
Ich bin ein ziemlicher VB-Anfänger und muss demnächst eine Studienarbeit (Visual Basic Programm) abgeben. Ich hab mir einen Promillerechner überlegt und ihn auch schon programmiert. Soweit funktioniert alles einwandfrei, solange der Benutzer alle Textboxeingaben "richtig" eintippt (also keine Buchstaben, keine Textbox unausgefüllt lassen etc.). Ein Kriterium dieser Studienarbeit ist allerdings, dass solche Falscheingaben nicht zum Absturz des Programms führen sollen.
Nun zu meinem konkreten Problem:
Ich will, dass nach Betätigung des Berechnungs-CommandButtons (bei ausgelassenen Textfeldern) eine MessageBox (Text:"Bitte alle Felder ausfüllen!) erscheint, die man mit OK wieder schließen kann, um dann mit der Eingabe der Textboxfelder fortfahren zu können. Dies klappt bei mir auch noch! Allerdings funktioniert dann die Berechnung oder nur die Ausgabe oder was weiß ich nicht mehr. Selbst wenn man gleich nach dem Starten des Programms alle Textfelder ordnungsgemäß ausfüllt, erscheint im Ausgabe-Label gar nix. Ich meine es liegt am "Exit Sub".
Setze ich im Quellcode einen Kommentar-Strich vor Exit Sub (==> 'Exit Sub), dann funktioniert bei richtiger Eingabe wieder alles einwandfrei. Bei Falscheingabe kommt zwar die beschriebene MessageBox, nach dem OK-Klick kommt aber logischerweise wieder eine Fehlermeldung, weil die Subroutine nicht beendet wurde.
O Gott, hoffentlich kapiert das hier einer, ich kapiers selber nicht mehr ganz
Hier der verantwortliche Teil des Quellcodes:
[...]
Private Sub cmd1_Click()
If Len(txt1.Text) = 0 Or Len(txt2.Text) = 0 Or Len(txt3.Text) = 0 Or Len(txt4.Text) = 0 Or Len(txt5.Text) = 0 Or Len(txt6.Text) = 0 Or Len(txt7.Text) = 0 Or Len(txt8.Text) = 0 Then MsgBox "Sie müssen alle Felder ausfüllen!", vbOKOnly + vbInformation
Exit Sub
[...]
Nochmal kurz das Problem:
ohne "Exit Sub" geht bei richtiger Eingabe das Programm, aber eine Neueingabe nach der MessageBox ist nicht möglich, da Fehlermeldung.
mit "Exit Sub" liefert das Programm keinen Ausgabewert (keine Ahnung, ob der überhaupt was rechnet). Allerdings kann man nach der MessageBox seine Angaben ohne Fehlermeldung ändern.
mein Tag wäre gerettet, wenn mir jemand von euch helfen könnte. Schon mal DANKE an den/die Helfer!
P.S.:mit Debuggen komm ich nicht weiter, das kann ich noch nicht
Edit: Durch Rumknobeln bin ich zufälligerweise auf eine Lösung des Problems gekommen!
Hab ich mir hald den Tag selber retten müssen
Der Thread kann guten Gewissens gelöscht werden!
Gruß
Ich bin ein ziemlicher VB-Anfänger und muss demnächst eine Studienarbeit (Visual Basic Programm) abgeben. Ich hab mir einen Promillerechner überlegt und ihn auch schon programmiert. Soweit funktioniert alles einwandfrei, solange der Benutzer alle Textboxeingaben "richtig" eintippt (also keine Buchstaben, keine Textbox unausgefüllt lassen etc.). Ein Kriterium dieser Studienarbeit ist allerdings, dass solche Falscheingaben nicht zum Absturz des Programms führen sollen.
Nun zu meinem konkreten Problem:
Ich will, dass nach Betätigung des Berechnungs-CommandButtons (bei ausgelassenen Textfeldern) eine MessageBox (Text:"Bitte alle Felder ausfüllen!) erscheint, die man mit OK wieder schließen kann, um dann mit der Eingabe der Textboxfelder fortfahren zu können. Dies klappt bei mir auch noch! Allerdings funktioniert dann die Berechnung oder nur die Ausgabe oder was weiß ich nicht mehr. Selbst wenn man gleich nach dem Starten des Programms alle Textfelder ordnungsgemäß ausfüllt, erscheint im Ausgabe-Label gar nix. Ich meine es liegt am "Exit Sub".
Setze ich im Quellcode einen Kommentar-Strich vor Exit Sub (==> 'Exit Sub), dann funktioniert bei richtiger Eingabe wieder alles einwandfrei. Bei Falscheingabe kommt zwar die beschriebene MessageBox, nach dem OK-Klick kommt aber logischerweise wieder eine Fehlermeldung, weil die Subroutine nicht beendet wurde.
O Gott, hoffentlich kapiert das hier einer, ich kapiers selber nicht mehr ganz
Hier der verantwortliche Teil des Quellcodes:
[...]
Private Sub cmd1_Click()
If Len(txt1.Text) = 0 Or Len(txt2.Text) = 0 Or Len(txt3.Text) = 0 Or Len(txt4.Text) = 0 Or Len(txt5.Text) = 0 Or Len(txt6.Text) = 0 Or Len(txt7.Text) = 0 Or Len(txt8.Text) = 0 Then MsgBox "Sie müssen alle Felder ausfüllen!", vbOKOnly + vbInformation
Exit Sub
[...]
Nochmal kurz das Problem:
ohne "Exit Sub" geht bei richtiger Eingabe das Programm, aber eine Neueingabe nach der MessageBox ist nicht möglich, da Fehlermeldung.
mit "Exit Sub" liefert das Programm keinen Ausgabewert (keine Ahnung, ob der überhaupt was rechnet). Allerdings kann man nach der MessageBox seine Angaben ohne Fehlermeldung ändern.
mein Tag wäre gerettet, wenn mir jemand von euch helfen könnte. Schon mal DANKE an den/die Helfer!
P.S.:mit Debuggen komm ich nicht weiter, das kann ich noch nicht
Edit: Durch Rumknobeln bin ich zufälligerweise auf eine Lösung des Problems gekommen!
Hab ich mir hald den Tag selber retten müssen
Der Thread kann guten Gewissens gelöscht werden!
Gruß
Zuletzt bearbeitet: