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 |