WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   3 variablen mit if....then (http://www.wcm.at/forum/showthread.php?t=106337)

Potassium 22.08.2003 12:39

ich hab bis jetzt das (4 am anfang is eine sprungmarke für goto)

4 If benbox = a Then
Unload Me
ElseIf benbox = c Then
Unload Me
ElseIf benbox = e Then
Unload Me
Else
MsgBox "Der Benutzername existiert nicht. Bitte geben Sie einen gültigen an.", vbOKCancel, "Benutzername"
End If

aber nun zeigt er immer die letzte feherlmeldung an.:ms: :heul:
was is da falsch? :motz: :confused: ich will eigetnlich das weder a noch b noch c erfüllt sei dürfen dann soll er die msgbox erscheinen lassen. sonst nicht.

werner_q 22.08.2003 13:04

Jessas
 
Vielleicht ein Typ-Problem ?
(Ich will nicht überheblich sein, aber weisst du was Typen sind ?)

Was ist benbox, was soll a,b,e sein ? Wenn benbox (würde ich raten) ein Objekt ist (ein Textfeld z.B.) und a,b,e sind Strings oder auch Variant (wahrscheinlich, wenn du nichts deklariert hast, was ich wieder annehme), dann werden die Abfragen nie erfüllt sein, egal was in a,b,e drinsteht.

Den Inhalt des Textfeldes (wenn es denn eines sein soll) erhältst du mit benbox.Text. Diese Variable kannst du dann mit einem Variant (oder besser, String) vergleichen.

Potassium 22.08.2003 13:59

1.) a, b und c waren strings aber das is t ja egal
2.) du hattest recht das mit dem benbox.text (ja ist eine textbox)hab ich jetzt so gelst
g = benbox.text

if g = a then
...
elseif g = c then
....
elseif g = e then
.....
else
msgbox ....
endif
--------------------------
3.) du hastrecht ich kenn mich mit vb ned gut aus ich beginn gerade erst und muss alles ausprobieren das keine hilfe keine büchet etc.

werner_q 22.08.2003 16:59

Na, dann freut's mich geholfen haben zu können !

Seidl 22.08.2003 18:08

Re: 3 variablen mit if....then
 
Zitat:

Original geschrieben von potassium
hi leute
ich hab in vb 3 variablen. ich will mit einem if befehl das nur wenn keine der drei erfüllt is er eine nachricht anzeigt. sollte eine doch erfüllt sein dann soll er zu dem jeweiligen prozess gehn. ich hoffe das war verständlich. wie mach ich das?

Verständlich? Das? :lol: :lol: :lol:

No hard feelings; aber der Kommentar musste einfach mal sein.


Um doch noch meinen Senf dazu zu geben:

Wie wär's mit

-------------------------
dim strBB as String
strBB = benbox.Text
If strBB <> a AND strBB <> c AND strBB <> e Then
MsgBox "Der Benutzername existiert nicht. Bitte geben Sie einen gültigen an.", vbOKCancel, "Benutzername"
Else
Unload Me
End If
-------------------------

oder mit

-------------------------
Select Case benbox.Text
Case a
Unload Me
Case b
Unload Me
Case c
Unload Me
Case Else
MsgBox "Der Benutzername existiert nicht. Bitte geben Sie einen gültigen an.", vbOKCancel, "Benutzername"
End Select
-------------------------

LDIR 22.08.2003 23:20

Zitat:

Original geschrieben von wbendl
Hi!

Verwende besser die Select Case Anweisung.

WB

Ach ja?

SELECT Variable
CASE >1: Anweisung
CASE <=1: Anweisung
END SELECT

Glaube kaum dass es so geht ;), aber mit IF THEN kann man sowas machen.
CASE funktioniert nur im Fall der verwendung von "=" Zeichen, deswegen ist der Tip mit CASE nur bedingt zu empfehlen.

Potassium 23.08.2003 00:28

geht <> auch bei buchstaben? ch denk das ist nur für zahlen.

reemrev 23.08.2003 00:42

Geht auch bei Buchstaben, die von Seidl aufgezeigte ifVariante ist die einfachste, ev. den String mit fester Größe belegen und mit Trim$(oder ähnlichem) abfragen.


Bei Case Anweisungen braucht man nicht unbedingt ein "=" Zeichen
Case 1 to 50
Case 1,2,5,6,7
Case Label1.Caption
Case"Hallo"
gehen ebenso.


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:36 Uhr.

Powered by vBulletin® Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag