Como extraigo yconsulto información de una bd

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
1
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

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas