Error 13 en visual basic 6

Bueno hola tengo un programa en visual basic 6 que esta unido con una base de datos access bueno en fin hice un botón buscar que cuando metiera un registro de la tabla y oprimiera buscar en pantalla me mostraría todo el contenido de la tabla, la cosa es que si funcionaba y todo pero vine yo y por un momento quite la referencia MICROSOFT ACTIVEX DATA OBJECTS 2.8 LIBRARY y cuando se la volví a poner ooooooo! Sorpresa no me funcionaba y me salia el tal error 13 que no c porque porque no me salia antes si alguien sabe por favor ayuda! Necesito terminar este trabajo para el viernes! Aquí esta el código por si acaso:
Esto lo puse hasta arriba:
Option Explicit
Private cnn As ADODB.Connection
Private WithEvents rst As ADODB.Recordset
despues codigo............
y despues el boton buscar
Private Sub cmdBuscar_Click()
    Dim sBuscar As String
    Dim tRs As Recordset
    Dim tLi As ListItem
    sBuscar = Text2
    sBuscar = Replace(sBuscar, "*", "%")
    sBuscar = Replace(sBuscar, "?", "_")
    Text2 = sBuscar
    sBuscar = "SELECT registro,paciente,telefono,direccion,fecha,estudiante FROM estudiante WHERE registro LIKE '" & sBuscar & "' ORDER BY registro"
     Set tRs = cnn.Execute(sBuscar) ---------------------------------> aqui es donde me sale el error
    With tRs
        If (.BOF And .EOF) Then
            MsgBox "No se han encontrado los datos buscados"
        Else
            .MoveFirst
            Do While Not .EOF
             Text1(1) = tRs.Fields("paciente") & ""
             Text1(0) = tRs.Fields("registro") & ""
             Text1(4) = tRs.Fields("fecha") & ""
             Text1(2) = tRs.Fields("direccion") & ""
             Text1(3) = tRs.Fields("telefono") & ""
             Text1(5) = tRs.Fields("estudiante") & ""
                .MoveNext
            Loop
        End If
    End With
End Sub
Bueno espero una ayudadita por favor y gracias por su tiempo!

1 Respuesta

Respuesta
1
Un par de detalles:
En primer lugar el recordset 'tRs' está definido sin poner ADODB delante. Si estás utilizando también DAO es posible que el tipo asignado sea DAO. Recordset, lo cual justificaría el error que comentas.
Lo segundo que veo es que el código te podría dar problemas si el texto a buscar incluye una comilla (text2), por lo que la consulta que montas en 'sBuscar' tendría una sintaxis incorrecta. En este caso supongo que generaría un error diferente.
Me inclino más por la primera.
Por cierto, si no controlas lo de la comilla podrían introducirte en 'text2' algo así:
    ' or '1'='1
Este valor devolvería todos los registros.
Bueno gracias no tenias razón en lo primero que estaba declarado hasta arriba por que el de hasta arriba se llamaba rst no tRs bueno en fin con tu respuesta pude saber cual era mi error y declare hasta arriba Private WithEvents tRs As ADODB. Recordset y así ya me funciono muchas gracias por tomarte el tiempo de responderme, éxitos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas