Jagg har gjort ett inloggningsformulär, nu undrar jag hur man gör så att man får ett besked om att inlogningsuppgiftena var fel och att du får en chans till, äfter 3 misslyckade försök så ska programmet avslutas Option Explicit tack för hjälpen, men hur gör jag så att det står nått nytt varje gång i Msgboxen, tex fel lösenord förstagången den visas, sen försök igen andra gången osv... Jag tycker att du borde lägga antal inloggninsförsök i en label Men lägg värdet i en label och sen så läser du bara från den och visar det i msgboxen... Option Explicit När jag deklarerar left as long så står det :Member already exists in a object module from which this object module derives. Varför?? Left är väl en metod... Option ExplicitLösenord
Sv: Lösenord
Dim Try As Long
Public LoginSucceeded As Boolean
Private Sub cmdCancel_Click()
'set the global var to false
'to denote a failed login
LoginSucceeded = False
Me.Hide
End Sub
Private Sub cmdOK_Click()
'check for correct password
If txtPassword = "password" Then
'place code to here to pass the
'success to the calling sub
'setting a global var is the easiest
LoginSucceeded = True
Me.Hide
Else
Try = Try + 1
MsgBox "Invalid Password, try again!", , "Login"
txtPassword.SetFocus
SendKeys "{Home}+{End}"
If Try = 3 Then End
End If
End Sub
Private Sub Form_Load()
Try = 0
End Sub
//JesperSv: Lösenord
Sv: Lösenord
och sen använda en if-sats för att ta reda på hur många försök
som har gjorts.
/HjortenSv: Lösenord
/HjortenSv: Lösenord
Dim Try, Left As Long
Public LoginSucceeded As Boolean
Private Sub cmdCancel_Click()
'set the global var to false
'to denote a failed login
LoginSucceeded = False
Me.Hide
End Sub
Private Sub cmdOK_Click()
'check for correct password
If txtPassword = "password" Then
'place code to here to pass the
'success to the calling sub
'setting a global var is the easiest
LoginSucceeded = True
Me.Hide
Else
Try = Try + 1
Left = 3 - Try
MsgBox "Invalid Password, try again! You have "+ Left + "tries left", , "Login"
txtPassword.SetFocus
SendKeys "{Home}+{End}"
If Try = 3 Then End
End If
End Sub
Private Sub Form_Load()
Try = 0
End Sub
//JesperSv: Lösenord
Sv: Lösenord
inte så bra att ha variabelnamn med samma namn kanske...testa med typ left2 istället
/JohanSv: Lösenord
Dim Try As Long
Dim Try2 As String
Public LoginSucceeded As Boolean
Private Sub cmdCancel_Click()
'set the global var to false
'to denote a failed login
LoginSucceeded = False
Me.Hide
End Sub
Private Sub cmdOK_Click()
'check for correct password
If txtPassword = "password" Then
'place code to here to pass the
'success to the calling sub
'setting a global var is the easiest
LoginSucceeded = True
Me.Hide
Else
Try = Try + 1
Try2 = 3 - Try
MsgBox "Invalid Password, try again! You have " + Try2 + " tries left", , "Login"
txtPassword.SetFocus
SendKeys "{Home}+{End}"
If Try = 3 Then End
End If
End Sub
Private Sub Form_Load()
Try = 0
End Sub
Det här funkar (har testat)
MVH Jesper