
17/11/2008, 01:58
|
Colaborador | | Fecha de Ingreso: enero-2008 Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 17 años, 3 meses Puntos: 37 | |
Respuesta: tengo un problema con este codigo. Cita:
Iniciado por papurri hola a todos.. este codigo es un login,pero no funciona, me entrega un error en la linea en la que paso el sql al objeto comand..muchas gracias por la ayuda...
Private Sub cmdOK_Click()
Set rst = New ADODB.Recordset
Set comando = New ADODB.Command
''Set conexion = New ADODB.Connection
conexion.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=c:\info.mdb"
SQL = "SELECT Nombre, pass FROM usuarios WHERE Nombre = '" & txtUserName.Text & "' AND pass = '" & txtPassword.Text & "'"
comando.CommandText = SQL
rst.Open comando.CommandText, conexion
If (rst.RecordCount > 0) Then
frmMenuPrincipal.Show
rst.MoveNext
Else
MsgBox "contraseña invalida, intente otra vez!", , "Login"
txtPassword.SetFocus
SendKeys "{Home}+{End}"
End If
End Sub
Hola, ¿para qué un objeto Command? Private Sub cmdOK_Click()
Set rst = New ADODB.Recordset 'Set comando = New ADODB.Command
''Set conexion = New ADODB.Connection
conexion.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=c:\info.mdb"
sql = "SELECT Nombre, pass FROM usuarios WHERE Nombre = '" & TxtUserName.Text & "' AND pass = '" & txtPassword.Text & "'" 'comando.CommandText = SQL
rst.CursorLocation = adUseClient ' sin esta instrucción, la propiedad RecordCount del recordset siempre devolverá -1 'rst.Open comando.CommandText, conexion
rst.Open sql, conexion
If (rst.RecordCount > 0) Then ' los paréntesis los puedes omitir, no valen para nada
frmMenuPrincipal.Show
rst.MoveNext ' esta instrucción no tiene sentido
rst.Close ' cerrar el recordset
Else
MsgBox "contraseña invalida, intente otra vez!", , "Login"
txtPassword.SetFocus
SendKeys "{Home}+{End}"
End If
End Sub
Se supone que ya tienes declarados los objetos Connection ( conexion) y Recordset ( rst). |