tengo un formulario de login y quisiera saber que tengo que agregarle para
que despues de tres intentos no deje entrar cerrando la aplicacion
de antemano gracias
| |||
| como poner limite intentos login tengo un formulario de login y quisiera saber que tengo que agregarle para que despues de tres intentos no deje entrar cerrando la aplicacion de antemano gracias |
| |||
| Un contador.. cuando hace click en el boton, define una variable y sumale 1 y cuando llegue a tres dile que cierre la amplicacion. ejemplo: 'En declaciones Generañes define la variable dim intento as intger 'en el evento click del botom intento=intento +1 if intento >=3 then end |
| |||
| Respuesta: como poner limite intentos login gracias por tu ayuda, he puesto lo que me dijiste pero al fallar al ultimo intento me da un error que no se que es aqui te muestro como ha quedado el codigo
Código:
Option Compare Database
Dim Conn As ADODB.Connection
Dim rsCliente As ADODB.Recordset
Dim intento As Integer
Private Sub aceptar_click()
'MsgBox ("nombre" & nombre.Value)
Dim txtbusca, SQL, txtpass
txtbusca = login.Value
txtpass = pass.Value
SQL = "select NombrUsr from Usuario where LoginUsr='" & txtbusca & "' AND ClaveUsr='" & txtpass & "'"
Set rsCliente = Conn.Execute(SQL)
If (Not rsCliente.EOF) Then
MsgBox ("Login y password correctos. Bienvenido " & rsCliente.Fields.Item(0).Value)
DoCmd.Close acForm, "Ingreso", acSaveNo
DoCmd.OpenForm "Panel de control"
Else
MsgBox ("El login y/o password son incorrectos")
End If
intento = intento + 1
If intento >= 3 Then End
End If
End Sub
Private Sub cancelar_Click()
Form_Unload (1)
End Sub
Private Sub Comando5_Click()
End Sub
Private Sub Detalle_Click()
End Sub
Private Sub Form_Load()
'MsgBox ("ANTES declarar nada")
Set Conn = New ADODB.Connection
Set rsCliente = New ADODB.Recordset
'MsgBox ("ANTES CONECTAR PROVIDER")
Conn.Provider = "Microsoft.Jet.OLEDB.4.0"
'MsgBox ("ANTES CREAR DATASOURCE")
Conn.ConnectionString = CurrentDb.Name
'MsgBox (CurrentDb.Name)
'MsgBox Conn.State
Conn.Open
'Conn.Open
End Sub
Private Sub Form_Unload(Cancel As Integer)
Form.Visible = False
Conn.Close
'MsgBox "Hasta la próxima"
End Sub
Última edición por maur1c10; 02/11/2009 a las 10:33 Razón: corregir |
| |||
| Respuesta: como poner limite intentos login gracias, como declaro la variable como publica lo hice de la sig. manera Public intento As Integer pero me da el sig. error se ha producido el error 91 en tiempo de ejecucion variable objeto o bloque With no establecido y me señala una linea del codigo
Código:
Option Compare Database
Dim Conn As ADODB.Connection
Public intento As Integer
Dim rsCliente As ADODB.Recordset
Private Sub aceptar_click()
'MsgBox ("nombre" & nombre.Value)
Dim txtbusca, SQL, txtpass
txtbusca = login.Value
txtpass = pass.Value
SQL = "select NombrUsr from Usuario where LoginUsr='" & txtbusca & "' AND ClaveUsr='" & txtpass & "'"
Set rsCliente = Conn.Execute(SQL)
If (Not rsCliente.EOF) Then
MsgBox ("Login y password correctos. Bienvenido " & rsCliente.Fields.Item(0).Value)
DoCmd.Close acForm, "Ingreso", acSaveNo
DoCmd.OpenForm "Panel de control"
Else
MsgBox ("El login y/o password son incorrectos")
intento = intento + 1
If intento >= 3 Then End
End If
End Sub
Private Sub cancelar_Click()
Form_Unload (1)
End Sub
Private Sub Comando5_Click()
End Sub
Private Sub Detalle_Click()
End Sub
Private Sub Form_Load()
'MsgBox ("ANTES declarar nada")
Set Conn = New ADODB.Connection
Set rsCliente = New ADODB.Recordset
'MsgBox ("ANTES CONECTAR PROVIDER")
Conn.Provider = "Microsoft.Jet.OLEDB.4.0"
'MsgBox ("ANTES CREAR DATASOURCE")
Conn.ConnectionString = CurrentDb.Name
'MsgBox (CurrentDb.Name)
'MsgBox Conn.State
Conn.Open
'Conn.Open
End Sub
Private Sub Form_Unload(Cancel As Integer)
Form.Visible = False
Conn.Close
'MsgBox "Hasta la próxima"
End Sub
Última edición por maur1c10; 02/11/2009 a las 12:37 Razón: agregar info |
| ||||
| Respuesta: como poner limite intentos login Hola!! Intenta con este codigo: Private Sub aceptar_click() ... ... ... 'EL SELECT LO ADAPTE A LA BD DE NORTHWIND, CAMBIALO A TU BD SQL = "select * from Employees where EmployeeID=0" rsCliente.Source = SQL rsCliente.Open , Conn, adOpenDynamic, adLockBatchOptimistic If (Not rsCliente.EOF) Then MsgBox ("Login y password correctos. Bienvenido " & rsCliente.Fields.Item(0).Value) ... ... ... Else MsgBox ("El login y/o password son incorrectos") intento = intento + 1 If intento >= 3 Then End rsCliente.Close End If El codigo me funciona bien, nos cuentas!! |
| |||
| Respuesta: como poner limite intentos login lo he puesto de la sig. manera al ingresar contraseña correcta me dice que es incorrecta y despues de los tres intentos me da error (la parte roja) aclaro mi tabla se llama usuario, el campo de contraseña se llama ClaveUsr y el campo de usuario se llama LoginUsr
Código:
Option Compare Database
Dim Conn As ADODB.Connection
Dim rsCliente As ADODB.Recordset
Private Sub aceptar_click()
'MsgBox ("nombre" & nombre.Value)
Dim txtbusca, SQL, txtpass
txtbusca = login.Value
txtpass = pass.Value
SQL = "select ClaveUsr from Usuario where NivelUsr=0"
rsCliente.Source = SQL
rsCliente.Open , Conn, adOpenDynamic, adLockBatchOptimistic
If (Not rsCliente.EOF) Then
MsgBox ("Login y password correctos. Bienvenido " & rsCliente.Fields.Item(0).Value)
DoCmd.Close acForm, "Ingreso", acSaveNo
DoCmd.OpenForm "Panel de control"
Else
MsgBox ("El login y/o password son incorrectos")
intento = intento + 1
If intento >= 3 Then End
rsCliente.Close
End If
End Sub
Private Sub cancelar_Click()
Form_Unload (1)
End Sub
Private Sub Comando5_Click()
End Sub
Private Sub Detalle_Click()
End Sub
Private Sub Form_Load()
'MsgBox ("ANTES declarar nada")
Set Conn = New ADODB.Connection
Set rsCliente = New ADODB.Recordset
'MsgBox ("ANTES CONECTAR PROVIDER")
Conn.Provider = "Microsoft.Jet.OLEDB.4.0"
'MsgBox ("ANTES CREAR DATASOURCE")
Conn.ConnectionString = CurrentDb.Name
'MsgBox (CurrentDb.Name)
'MsgBox Conn.State
Conn.Open
'Conn.Open
End Sub
Private Sub Form_Unload(Cancel As Integer)
Form.Visible = False
Conn.Close
'MsgBox "Hasta la próxima"
End Sub
Última edición por maur1c10; 03/11/2009 a las 12:41 |
| ||||
| Respuesta: como poner limite intentos login No debería pasar al 4to intento... El error te dice que "no se puede asignar el valor porque el objeto está abierto"?, si es asi, ponle lo que está en rojo, pero aclaro, no deberia pasar al 4to intento, corre tu programa paso a paso para ver por que está saltando el 3er intento. PD: recuerda ajustar el query txtpass = pass.Value SQL = "select ClaveUsr from Usuario where NivelUsr=0" if rsCliente.state=1 then rsCliente.close rsCliente.Source = SQL rsCliente.Open , Conn, adOpenDynamic, adLockBatchOptimistic |