Ver Mensaje Individual
  #2 (permalink)  
Antiguo 17/11/2008, 01:58
Avellaneda
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: tengo un problema con este codigo.

Cita:
Iniciado por papurri Ver Mensaje
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).