If-Bedingung geht nicht

TheFlavour

Grünschnabel
Hallo Community,
ich arbeite gerade an einem Project und komme einfach nicht weiter, hier ist mein code:
Code:
Private Sub Command1_Click()
If ben = "Josef" And pass = "123456" Then
main.Show
Else
MsgBox "Benutzer exsestiert nicht !"
End If
End Sub



Private Sub Form_Load()
ben = Text1
pass = Text2
End Sub
> Immer kommt "benutzer Exestiert nicht !"
> Das soll eine art Passwortabfrage werden. Ich seh den fehler einfach nicht freue mich über hilfe :):(:confused::)
 
Hi,
wo werden die Variablen 'ben' und 'pass' denn definiert? Bist du sicher, dass die beiden Subroutinen die selben Variablen verwenden, und nicht bloß welche, die zufällig die selben Namen tragen? Sind "Text1" und "Text2" Strings? Oder sind das Eingabefelder in einem Dialog? Und bist du sicher, dass beide Routinen aufgerufen werden?
Der Codeausschnitt ist viel zu unvollständig, um das genaue Problem erkennen zu können.
 
Text1 und Text2 sind textboxen. Die Variablen ben und pass habe ich nicht Deklariert. Auch wenn ich sie deklariere > Dim ben As String und Dim pass As String, kommt immer noch "Benutzer exestiert nicht !" das ist bis jetz der gesagte code der Form bzw. Button.
 
Wenn Text1 und Text2 Textboxen sind, sind ben und pass auch welche. Ich glaube nicht, dass du die dann so mit Strings vergleichen kannst.
Variablen solltest du auf jeden Fall deklarieren. In welchem Scope hattest du sie denn deklariert? Ich glaube immer noch, dass du in den beiden Routinen unterschiedliche Variablen verwendest, die nur eben die selben Namen haben.
Und: Wird form_load nicht nur ein Mal, beim Erstellen des Formulars, aufgerufen? Zu dem Zeitpunkt stehen ja noch keine Werte in den Eingabefeldern.
 
Ne, main ist die Hauptform.
Ich hab es hingekriegt und zwar so :

Code:
If Text1.Text = "Josef" And Text2.Text =  "123456" then
...

Aber ich will das in den Variablen haben, um die dann auch in ner Datei abzuspeichern.
Kann man überhaupt ne Variable als Textbox deklarieren ? ich mach da immer As String.
 
Hallo!

Am besten deklarierst du zunächst die Variablen ausserhalb der jeweiligen Sub-Prozeduren, damit man von beiden darauf zugreifen kann.

Wie oben schon angesprochen steht im Load-Event der Form eher noch nichts in den Textfeldern. Am besten übergiebst du den Wert der Textfelder erst mit dem Klick auf die Schaltfläche an die Variablen.

codeman

EDIT: Hab mich korrigieren müssen...
 
Zuletzt bearbeitet:
Zurück