Hola todos expertos Aquí va mi pregunta les pido su ayuda Yo tengo tengo un formulario pero antes de entrar a el yo coloque un inputbox que pide la clave de usuario, las claves están en una base de datos, el debe consultar la base de datos a ver si la clave esta allí, si es así pase al formulario, lo intente hacer con el like pero no lo hace, posiblemente me equivoque, porque se usar más o menos el like, les agradecería mucho si me ayudan
1 Respuesta
Respuesta de kieleze
1
1
kieleze, Estudio ingenieria en sistemas, estoy en 3º año
Los imputbox solamente sirven para tomar los datos que excribis ahí... no te permite hacer mucho más... Te propongo que hagas un formulario de tamaño adecuado para que te permita lograr lo que quieres con más facilidad.. los inputbox no permiten adminstrar bases de datos... Igualmente si lo quieres hacer así... la idea seria la siguiente Yo lo haría así... Pondría tendría una variable para guardar el password... en el load del formulario principal digamos pondria un while variable = "" Then variable = inputbox "ingrese el password" Acá me fijaría si la clave esta en la base de datos ... "tengo una pregunta, a el nombre de usuario como lo obtenés" aca adentro otro if if recordset.recordcount = 0 Then "esto seria que no se encontro ningun registro con esa clave" variable = "" loop Con esto podría llegar a andar Aunque sigo pensando que seria mejor con un un formulario común y corriente para poder lograrlo... Si consideras hacerlo con otro formulario acá te paso el código que uso yo tienes que tener en cuenta que tengo algunos textbox y botones, ademas de las variables necesarias o controles ado y dao... yo en lo particular uso bases yrecodset creados y conectadas por código... Option Explicit Private RSUsuario As Recordset Private Sub cmdCancelar_Click() Unload Me End Sub 'Private Sub Form_DblClick() ' txtLoginUsuario.Text = "jsaviola" ' txtPasswordUsuario.Text = "7777" ' cmdAceptar_Click 'End Sub Private Sub txtLoginUsuario_KeyPress(KeyAscii As Integer) If (KeyAscii >= 48 And KeyAscii <= 57) Then KeyAscii = 0 MsgBox "Solamente se admiten Letras." End If End Sub Private Sub HabilitarBotones() cmdAceptar.Enabled = True End Sub Private Sub DesHabilitarBotones() txtLoginUsuario.Text = "" txtPasswordUsuario.Text = "" cmdAceptar.Enabled = True End Sub Private Sub Form_Load() DesHabilitarBotones End Sub Private Sub cmdAceptar_Click() If (txtLoginUsuario.Text <> "") And (txtPasswordUsuario.Text <> "") Then HabilitarBotones varUsuario = txtLoginUsuario.Text varPassword = txtPasswordUsuario.Text verificarUsuario Else ' cmdAceptar.Enabled = False MsgBox "FALTAN INGRESAR DATOS", vbCritical, "Error" End If End Sub Sub verificarUsuario() Dim sBuscar As String ' Formar la cadena de la consulta: sBuscar = "SELECT grp_usuario.nro_grupo From usuarios INNER JOIN grp_usuario ON usuarios.lgn_usuario = grp_usuario.lgn_usuario WHERE (((usuarios.lgn_usuario)='" & txtLoginUsuario.Text & "') AND ((usuarios.psw_usuario)='" & txtPasswordUsuario.Text & "'));" ' sBuscar = "SELECT * FROM usuarios WHERE lgn_usuario = '" & txtLoginUsuario.Text & "' and psw_usuario = '" & txtPasswordUsuario.Text & "'" ' Creamos un recordset del tipo "estático", el cual no es modificable ' para poder modificarlo, tendría que ser del tipo dbOpenDynamic Set RSUsuario = BD.OpenRecordset(sBuscar, dbOpenForwardOnly) 'Set RSUsuario = BD.OpenRecordset(sBuscar, dbOpenSnapshot) ' Comprobar que hay datos en el recordset With RSUsuario ' Si no hay datos... If (.BOF And .EOF) Then MsgBox "DATO INCORRECTO", vbCritical, "Advertencia" Else If RSUsuario.Fields!nro_grupo = 1 Then MsgBox "Usuario no valido", vbCritical, "Advertencia" Else OK = True Unload Me End If End If End With End Sub