La Web del Programador: Comunidad de Programadores
 
    Pregunta:  55518 - ERROR 3021 AL LANZAR CONSULTA SQL UTILIZANDO UN TEXTBOX
Autor:  david piedrahita
Buenas:
Intento algo que supuestamente debe ser muy sencillo. Quiero desde visual lanzar una consulta sql sobre una base de datos de access utilizando un textbox para que desde él recoja un dato que uso en el where de la sql. El código lo he puesto para un botón de comando y el error que dá es error 3021 en tiempo de ejecución. No hay registro activo. Todo lo que he encontrado sobre este error no me ayuda. El código es:
Private Sub Command1_Click()
Dim BDD As Database
Dim TBL As Recordset
Set BDD = OpenDatabase("c:\Documents and Settings\A126813\Escritorio\db1.mdb")
Dim SQL As String
SQL = "select nombre from tabla1 where nombre like '" & Text3.Text & "%'"
Set TBL = BDD.OpenRecordset(SQL)
TBL.MoveFirst
Do Until TBL.EOF
List5.AddItem TBL("nombre") & " " & TBL("apellido") & " tiene " & TBL("edad")
TBL.MoveNext
Loop
End Sub
y el error da en TBL.MoveFirst
Alguien puede ayudarme? Gracias de ante mano.

  Respuesta:  Bismarck Pineda
Cuando yo he tenido ese problema es porque no he colocado el cursor en un registro activo, normalmente lo hago poniendo el evento refresh, ejemplo TBL.Refresh, con esto el cursor se coloca en el primer registro de la base de datos. Es aconsejable revisar antes si la tabla tiene registros grabados.

Espero te ayude