Visual Basic - Problema con records

Life is soft - evento anual de software empresarial
 
Vista:

Problema con records

Publicado por Alejandro (33 intervenciones) el 03/07/2007 22:29:37
Hola.

Tengo el siguiente problema con visual basic y una base de datos de access 2003.
Cada vez que intento hacer que el programa que estoy escribiendo ejecute la siguiente declaracion :
If cboUsuarios = RS_Usuario![Nusuario] And txtLlave = RS_Usuario![Ncontraseña] Then

Me sale el siguiente error:
Run-time error '3021
No current record

Yo agrege unos records a las tablas y me sigue apareciendo el mismo error, no se donde es el error.

No se si es suficiente codigo si nececitan mas solo digan.
Las referencias que estoy usando son las siguientes :
Microsoft Data Binding Collection
Microsoft Activex Data Objects 2.8
Microsoft Dao 3.6

De antemano gracias por sus respuestas.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problema con records

Publicado por Papo (128 intervenciones) el 03/07/2007 23:10:01
El error 3021 se refiere a que el apuntador del recordset se encuentra en EOF o BOF y no hay registros que mostrar, es decir, estas son propiedades del miembro RecordSet y las mismas se encuentran como TRUE por que estan estacionadas antes del primer registro activo o despues del ultimo registro de la tabla, con el On Error GoTo determina si el Err.Number = 3021 y que realice la accion correspondiente a este error y desde ahi lo desvias del resto del codigo con un Exit Sub, te voy a poner un ejemplo para ver si te sirve.

Private Sub cmdEditAlmacen_Click()
On Error GoTo BaseVacia
txtClaveAlmacen.Locked = False
txtDifeAlmacen.Locked = False
txtDescAlmacen.Locked = False
txtClaveAlmacen.SetFocus
txtUnidadAlmacen.Locked = False
cmdOkAlmacen.Enabled = True
cmdCancelAlmacen.Enabled = True
cmdOkAlmacen.SetFocus
cmdNuevoAlmacen.Enabled = False
cmdEditAlmacen.Enabled = False
cmdBuscarAlmacen.Enabled = False
cmdEliminarAlmacen.Enabled = False
cmdCancelAlmacen.Enabled = False
cmdAlmacenSalir.Enabled = False
BaseVacia:
Call Vacia
End Sub

Public Sub Vacia()
If Err.Number = 3021 Then
MsgBox ("Base de datos vacia"), , "Null"
End If
End Sub

Espero te sirva y sea lo que quieres saber, saludos...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problema con records

Publicado por Papo (128 intervenciones) el 03/07/2007 23:34:48
Mira lo revise un poco mas y veo que la comparacion que haces es contra que?, no indica que estes apuntando a nada en la tabla, mejor utiliza el metodo Find o FindFirst de la propiedad RecordSet del objeto de datos, el resultado que arroja es un (-3) o algo asi y ahi es donde estaciona el apuntador y no lo vas a mover para nada a menos de que lo que le pides que encuentre exista en la tabla.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problema con records

Publicado por Alejandro (33 intervenciones) el 04/07/2007 15:41:49
Muchas gracias por su ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar