MSGbox bei falschen wert

Hallo
Bin bei vb nicht weit und brauche hilfe mit vb 2008.

Habe einen Rechner erstellt der die einheiten umrechnet.
man gibt alles ein bei einer textbox muss der wert cm mm m und dm stehen.

wenn aber was falsch ist soll er ein fenster bringen mit „Falscher Eingabewert (Einheit)“
habe zwar code:

If Textbox5.text not „cm“ or „mm“ or „m“ or „dm“ then
MsgBox(„Falcher Einheitswert“)
End If

zeigt fehler an

Hallo,

Ihr Problem beim Vergleich ist vermutlich die falsche Wahl des Vergleichsoperators.

Probieren Sie bitte folgende Anweisung.

If TextBox5.Text „mm“ And TextBox5.Text „cm“ And TextBox5.Text „dm“ And TextBox5.Text „m“ Then

MsgBox(„Falscher Einheitswert“)

End If

Sie vergleichen einen Text (TextBox5.Text) mit einem Boolean-Ausdruck.

Der NOT-Operator führt eine logische Negation eines Boolean-Ausdrucks aus. Das Ergebnis ist das logische Gegenteil seines Operanden. Wenn der Ausdruck True ergibt, gibt Not den Wert False zurück. Wenn der Ausdruck False ergibt, gibt Not den Wert True zurück.

Logische Operatoren vergleichen Boolean-Ausdrücke und geben ein Boolean-Ergebnis zurück.

Sie müssen Texte (String) vergleichen. Die folgenden Operatoren sind die Vergleichsoperatoren von Visual Basic, die Sie nutzen können:

>=

ungleich

Is
Der Is-Operator ermittelt, ob zwei Objektverweise auf dasselbe Objekt verweisen. Jedoch werden keine Wertvergleiche ausgeführt. Wenn sowohl object1 als auch object2 auf dieselbe Objektinstanz verweisen, dann ist result gleich True; verweisen sie nicht auf dieselbe Objektinstanz, dann ist result gleich False

IsNot
Der IsNot-Operator stellt fest, ob zwei Objektverweise auf unterschiedliche Objekte verweisen. Jedoch werden keine Wertvergleiche ausgeführt. Wenn object1 und object2 jeweils auf dieselbe Objektinstanz verweisen, hat result den Wert False; andernfalls hat result den Wert True.

Like.
Vergleicht eine Zeichenfolge mit einem Muster. Dabei ist auch „Muster“ eine Zeichengfolge, die aber einzelne Zeichen der 1. Zeichenfolge mit einem bestimmten Zeichen, einem Platzhalterzeichen, einer Zeichenliste oder einem Bereich von Zeichen vergleichen kann (mittels ? * #
[Liste beliebiger Zeichen]
[!Liste beliebiger Zeichen, die nicht enthalten sein dürfen] ).

Hoffentlich konnte ich Ihnen damit ein wenig helfen. Bitte sehen Sie auch in der Hilfe unter Vergleichsoperatoren nach.

Ich wünsche Ihnen viel Erfolg und Spaß bei der weiteren Arbeit mit VB. Es wäre nett, wenn Sie mir kurz mitteilen, ob es geklappt hat.

Freundliche Grüße :smile:

JA danke hat alles geklappt musste halt nur bei anderen Textbox5 in Textbox4 ändern

Dein Fehler ist das du einen absoluten wert gemacht hast die textbox darf in dieser anweisung nur „cm“ „mm“ „m“ oder „dm“ als text stehen haben. Richtig wäre dieser Code:

If TextBox1.Text.Contains(„m“) = False Then MsgBox("pls insert a value format (cm,m, or dm) ")
hierbei wird nur überprüft ob die textbox denn text enthält. bei diesen code brauchst du für jede einheit eine if anweisung, deshalb würde ich dir empfehlen dir die select case methode anzuschauen die ist hierfür besser geeignet. bei weiteren fragen einfach melden.

Gruß

Sorry kann da nicht weiterhelfen.

Gruss
Peter Fuhsy