Búsqueda sensitiva en Visual Basic 6.0 con Access

Y espero que puedan ayudarme:
Tengo una tabla en access PRODUCTO, que tiene como campos nombre, precio, descripción y stock.
Tengo un formulario en VB6.0 que tiene un text1 y un datagrid1.
Hago un connexion con la tabla producto mediante ADODB. Recordset y ADODB. Connection con la cadena de conexión y toda esa cosa, que me muestra todos los registros de la tabla PRODUCTO en el datagrid.
Pero lo que no puedo hacer es una búsqueda sensitiva. Es decir escribir en el text1 el nombre de un producto, pero que vaya haciendo la búsqueda tecla por tecla. Es decir, a medida que voy introduciendo el nombre en el text1 me va encontrando las coincidencias para esos caracteres.

1 respuesta

Respuesta
Claro que lo podrías hacer. Debes programar en el evento Change o KeyUp, que se ejecute una consulta como
SELECT nombre FROM PRODUCTO WHERE nombre = 'text1.text'% 
(Hace tiempo que no programo en VB 6 y no recuerdo si se debe escribir el comodín % o *)
Pero, por lo menos Yo no lo haría, por que esto sobrecarga el sistema ya que tiene que realizar un consulta repetitiva (y tal vez innecesaria) con mucha rapidez y frecuencia. De todas maneras, aún con las máquinas modernas que tenemos, las consultas a las bases de datos tienen su complejidad para el sistema que tardan su tiempo y es difícil superar. Además, si tu sistema va a funcionar en red, ese recurso sería aún más catastrófico.
Alguna vez, desarrolle un activeX para realizar una tarea similar a tu requerimiento y consistía de una lista (listbox) que cargaba los nombres de todos los trabajadores y mediante un algoritmo de búsqueda se colocaba el cursor (o selección) en el primer datos que coincidía con el texto digitado por el usuario (aprovechando las propiedades del listbox). Algo parecido a como trabaja la ayuda de Windows.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas