Búsqueda dinámica en Visual basic 6.0

Necesito que alguien me ayude con esto, la cuestión es la siguiente, estoy haciendo un sistema y necesito realizar una búsqueda dinámica, osea, que el usuario a medida de que vaya introduciendo el nombre de la persona el sistema le vaya cargando una lista con las coincidencias de la pase de datos. Estoy usando visual basic 6.0 y access, y conecte con ADOC, por favor necesito la ayuda lo más rapido posible, les doy las gracias de antemano, y una vez más, Disculpen las molestias ocasionadas por mis novatadas como programador.

1 Respuesta

Respuesta
1
Las novatadas nos sucede a todos cuando estamos comenzando y no te averguenzes de ello, porque si todos naciéramos aprendidos otro cuento sería.
Lo que debes hacer es en la propiedad change del textbox que realiza la búsqueda, colocas una sentencia que te compare con la base de datos mediante un recorset, ejemplo:
Private Sub Text1_Change()
'Declaras tu recorset y tu conexión a como lo estes utilizando
'Suponiendo que tu recorset se llama rst
Dim SQL as String 'Aquí va a estar tu sentencia SQL
SQL = "SELECT * FROM tabla WHERE campo LIKE '%trim$(Text1.Text)%'"
'fijate que despues de LIKE viene una comilla simple, un porcentaje, la función trim$, 'parentesis, tu textbox, parentesis, porcentaje, comilla simple, comilla doble para cerrar
'Ahora cargamos el recorset
rst.open SQL, conexion, adopendinamic, adlockreadonly, adcmdtext
'luego suponiendo que muestras tu sugerencia en un textbox llamado Text2
if not rst.eof then
        text2.text = rst!campo
end if
'Con esto cerramos el recorset.
if rst.state = 1 then
       rst.close
end if
End Sub
Y esto te muestra lo que sea que este en el campo al que estas llamando cada vez que cambia el texto de tu textbox.
Debes tener en cuenta que si borras el contenido del textbox (Text1) en este caso, te va a generar un error debes agregar la sentencia
If Text1.Text <> Empty Then
luego colocas tu codigo y cierras an tes del end sub con
End If
Y eso es todo
De verdad muchas gracias por la ayuda, m sirvió de mucho, no la use toda, pero m qyudo a corregir 2 o 3 fallas que tenia mi fragmento de código, disculpe el no haber cerrado la pregunta antes, es que hace días cuando la vi solo copie el código y lo empecé a adaptar y olvide por completo eso de cerrar la pregunta, pero aquí estoy para cumplirle y una vez más Gracias por todo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas