Anónimo
Registro de con base de datos vb 6.0
Necesito hacer realizar un programa que en el inicio tiene que tener un usuario y una contraseña para ingresar al programa pero estos usuarios y contraseñas están guardados en una base de datos, como puedo hacer para enlazar la base e datos echa en access con esos text para que me verifique que si sea el usuario y la contraseña que le corresponde por medio de sql y no por medio de módulos.
1 Respuesta
Respuesta
1
1
Anónimo
Supongo que todo lo primordial con respecto a las conexiones a la base de datos ya lo realizaste, por lo mismo te doy este ejemplo directo de como hacer para verificar lo que tu quieres:
______________________________________________________________________
strSQL = "SELECT * FROM USUARIOCONTRASEÑA WHERE Usuario = '" & Text1.text & "' AND Contraseña ='" & Text2.text & "'"
______________________________________________________________________
' USUARIOCONTRASEÑA viene siendo la tabla.
Esa es una de forma bastante sencilla de verificar usuarios y contraseñas, ahora si encuentras que la respuesta no esta muy clara me dices y agrago más cosas incluso modificaciones.
Existen otras formas de averiguar Usuarios y Contraseñas y como puse más arriba si quieres una respuesta un poco más clara y amplia me dices.
______________________________________________________________________
strSQL = "SELECT * FROM USUARIOCONTRASEÑA WHERE Usuario = '" & Text1.text & "' AND Contraseña ='" & Text2.text & "'"
______________________________________________________________________
' USUARIOCONTRASEÑA viene siendo la tabla.
Esa es una de forma bastante sencilla de verificar usuarios y contraseñas, ahora si encuentras que la respuesta no esta muy clara me dices y agrago más cosas incluso modificaciones.
Existen otras formas de averiguar Usuarios y Contraseñas y como puse más arriba si quieres una respuesta un poco más clara y amplia me dices.
Hola
La verdad es que no se la verdad mucho de esto de sql entonces si me poduedes explicar mejor te lo agradecería
Gracias
La verdad es que no se la verdad mucho de esto de sql entonces si me poduedes explicar mejor te lo agradecería
Gracias
Si estas trabajando con ADO tienes que realizar las siguiente operaciones:
Primero la conexión con la base de datos que la puedes hacer de la siguiente manera:
(Si es que no usas Módulos lo puedes hacer todo en los eventos directos)
Primero en las declaraciones generales colocas:
_____________________________________________________________
Dim conexion As ADODB.Connection
Dim RecordsetADO As ADODB.Recordset
Dim strSQL As String
_____________________________________________________________
Lo siguiente puedes ponerlo en evento load del Formulario:
____________________________________________________________________
Set conexion = New ADODB.Connection
With conexion
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source = RUTA Y NOMBRE DE LA BASE DE DATOS"
.Open
End With
Ejemplo de RUTA Y NOMBRE DE LA BASE DE DATOS:
C:\Archivos de programa\Base\db1.mdb
____________________________________________________________________
Luego para realizar lo que es la consulta supongamos que utilizas un botón para realizar la verificación, entonces en el evento click del Botón Colocas:
_________________________________________________________________
strSQL = "SELECT * FROM TUTABLA WHERE Usuario = '" & Text1.text & "' AND Contraseña ='" & Text2.text & "'"
Set RecordsetADO = New ADODB.Recordset
' Propiedades del Recordset
With RecordsetADO
.CursorLocation = adUseClient
' Abre el recordset indicando la tabla
.Open strSQL, conexion, adOpenStatic, adLockOptimistic, adCmdTable
End With
En este proceso estas realizando la consulta para verificar usuario y contraseña, donde dice tu tabla seria el nombre que le diste a la tabla de usuarios.
En el Whit esta el proceso que toma la consulta planteada más arriba por eso después del open se coloca el strSQL.
_________________________________________________________________
Luego de eso colocas:
If RecordsetADO.BOF Then
MsgBox "Login o Contraseña incorrecta.", vbCritical, "Acceso denegado."
Else
MDIForm1.Show
End If
Nota:
Donde esta la consulta puedes colocar simplemente el nombre de la tabla pero después realizar la consulta mostrada en otro procedimiento pero como dices que no tiene mucha experiencia en el tema te recomiendo que lo realices como te lo planteo más arriba.
Primero la conexión con la base de datos que la puedes hacer de la siguiente manera:
(Si es que no usas Módulos lo puedes hacer todo en los eventos directos)
Primero en las declaraciones generales colocas:
_____________________________________________________________
Dim conexion As ADODB.Connection
Dim RecordsetADO As ADODB.Recordset
Dim strSQL As String
_____________________________________________________________
Lo siguiente puedes ponerlo en evento load del Formulario:
____________________________________________________________________
Set conexion = New ADODB.Connection
With conexion
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source = RUTA Y NOMBRE DE LA BASE DE DATOS"
.Open
End With
Ejemplo de RUTA Y NOMBRE DE LA BASE DE DATOS:
C:\Archivos de programa\Base\db1.mdb
____________________________________________________________________
Luego para realizar lo que es la consulta supongamos que utilizas un botón para realizar la verificación, entonces en el evento click del Botón Colocas:
_________________________________________________________________
strSQL = "SELECT * FROM TUTABLA WHERE Usuario = '" & Text1.text & "' AND Contraseña ='" & Text2.text & "'"
Set RecordsetADO = New ADODB.Recordset
' Propiedades del Recordset
With RecordsetADO
.CursorLocation = adUseClient
' Abre el recordset indicando la tabla
.Open strSQL, conexion, adOpenStatic, adLockOptimistic, adCmdTable
End With
En este proceso estas realizando la consulta para verificar usuario y contraseña, donde dice tu tabla seria el nombre que le diste a la tabla de usuarios.
En el Whit esta el proceso que toma la consulta planteada más arriba por eso después del open se coloca el strSQL.
_________________________________________________________________
Luego de eso colocas:
If RecordsetADO.BOF Then
MsgBox "Login o Contraseña incorrecta.", vbCritical, "Acceso denegado."
Else
MDIForm1.Show
End If
Nota:
Donde esta la consulta puedes colocar simplemente el nombre de la tabla pero después realizar la consulta mostrada en otro procedimiento pero como dices que no tiene mucha experiencia en el tema te recomiendo que lo realices como te lo planteo más arriba.
Hola
mira que pena con ud pero es que en la linea de codigo
strSQL = "SELECT * FROM TUTABLA WHERE Usuario = '" & Text1.text & "' AND Contraseña ='" & Text2.text & "'"
¿Me dise que falta objeto que estará pasando sabes?
Pues mira si es más fácil yo manejo las bases de daatos con data enviroment si es más fácil por hay pues me dirás.
Gracias nuevamente y si quieres dame más bien tu msn para hablar por hay y que me ayudes más fácil
mira que pena con ud pero es que en la linea de codigo
strSQL = "SELECT * FROM TUTABLA WHERE Usuario = '" & Text1.text & "' AND Contraseña ='" & Text2.text & "'"
¿Me dise que falta objeto que estará pasando sabes?
Pues mira si es más fácil yo manejo las bases de daatos con data enviroment si es más fácil por hay pues me dirás.
Gracias nuevamente y si quieres dame más bien tu msn para hablar por hay y que me ayudes más fácil
Si lo que utilizas es el data environment la consulta seria muy parecida, pero para obtener resultados de distintos usuarios lo que podrías hacer es darle parámetros a la consulta SQL.
Ahora lo malo es que no utilizo MSN, pero si podrías decirme exactamente cual es el error que te arroja seria de gran ayuda para ayudarte a resolver tu problema.
Ah, supongo que a la consulta SQL que te escribí le cambiaste los nombres de los campos y tabla según como los tienes tu ¿Verdad?.
Ahora lo malo es que no utilizo MSN, pero si podrías decirme exactamente cual es el error que te arroja seria de gran ayuda para ayudarte a resolver tu problema.
Ah, supongo que a la consulta SQL que te escribí le cambiaste los nombres de los campos y tabla según como los tienes tu ¿Verdad?.
Hola
si los cambie pero me dise que "se requiere un objeto" en la linea de codigo strSQL = "SELECT * FROM Tabla_De_Administradores WHERE usuario = '" & Text1.text & "' AND contraseña ='" & Text2.text & "'"
Gracias
si los cambie pero me dise que "se requiere un objeto" en la linea de codigo strSQL = "SELECT * FROM Tabla_De_Administradores WHERE usuario = '" & Text1.text & "' AND contraseña ='" & Text2.text & "'"
Gracias
¿Qué tipo de datos tienen tus campos usuario y contraseña?
Porque para verificar si estaba en lo correcto acabo de probar lo que te pase y funciona bien.
Trata de decirme que tipos de datos tienen tus campos y también me gustaría que pusieras parte del código que estas utilizando para realizar la validación.
Porque para verificar si estaba en lo correcto acabo de probar lo que te pase y funciona bien.
Trata de decirme que tipos de datos tienen tus campos y también me gustaría que pusieras parte del código que estas utilizando para realizar la validación.
El tipo de datos que utilizo son de texto
Y de códigos solo estoy utilizando los que tu me distes porque como es en el inicio no tengo nada más en ese form
Y de códigos solo estoy utilizando los que tu me distes porque como es en el inicio no tengo nada más en ese form
Empecemos a descartar problemas:
Mira el código lo he revisado y no le encuentro error.
Lo de tus campos va bien el tipo de datos por ese lado no tenemos problemas.
Ahora lo que puede ser es que no tengas activada la referencia de ado.
¿En algún momento la activaste?
Mira el código lo he revisado y no le encuentro error.
Lo de tus campos va bien el tipo de datos por ese lado no tenemos problemas.
Ahora lo que puede ser es que no tengas activada la referencia de ado.
¿En algún momento la activaste?
La verdad no, ¿cómo es el nombre exactode esa referencia?
Vas a Proyecto luego a Referencias al seleccionar referencias te tiene que aparecer una ventana en esa seleccionas Microsoft ActiveX Data Objects 2.5 existen más versiones de estas pero selecciona la que te digo.
Me cuentas si te funciona.
Me cuentas si te funciona.
Me sale error ´- 2147217900(8004e14)´en tiempo de ejecución:
Error de sintaxis en la clausula FROM.
En la linea de código:
.Open Strsql, conexion, adopenstatic, adlockOptimistic, adCmdTable
Error de sintaxis en la clausula FROM.
En la linea de código:
.Open Strsql, conexion, adopenstatic, adlockOptimistic, adCmdTable
Me acabo de dar cuenta de un detalle:
En el siguiente código:
With RecordsetADO
.CursorLocation = adUseClient
' Abre el recordset indicando la tabla
.Open strSQL, conexion, adOpenStatic, adLockOptimistic, adCmdTable
End With
Donde dice adCmdTable se tiene que cambiar por adCmdText, lo que pasa como estamos ocupando una consulta SELECT se tiene que identificar que es por medio de texto.
En la consulta sql si te das cuenta existe un Text1.text
y un Text2.text, lo que tienes que hacer es verificar si los nombres
de los cuadros de texto donde ingresas el usuario y la contraseña
sean iguales a los que salen en la consulta.
En el siguiente código:
With RecordsetADO
.CursorLocation = adUseClient
' Abre el recordset indicando la tabla
.Open strSQL, conexion, adOpenStatic, adLockOptimistic, adCmdTable
End With
Donde dice adCmdTable se tiene que cambiar por adCmdText, lo que pasa como estamos ocupando una consulta SELECT se tiene que identificar que es por medio de texto.
En la consulta sql si te das cuenta existe un Text1.text
y un Text2.text, lo que tienes que hacer es verificar si los nombres
de los cuadros de texto donde ingresas el usuario y la contraseña
sean iguales a los que salen en la consulta.
- Compartir respuesta
- Anónimo
ahora mismo