Búsqueda automática en cuadro de lista

Me gustaría hacer una búsqueda automática en un cuadro de lista mientras voy escribiendo en un campo de texto de un formulario. Con el evento "después de actualizar" y poniendo el criterio del cuadro de texto en el origen del campo del cuadro de lista lo puedo hacer, pero no me lo filtra mientras escribo (sino después de actualizar el campo).

Encontré un opción por internet en el evento "Al cambiar" del cuadro de texto que es la siguiente:

Private Sub txtNombre_Change()
Me. Refresh
Me.txtNombre.SetFocus
Me.txtNombre.SelStart = Len(Me.txtNombre.Text)
End Sub

Con este código, aunque sí me lo va filtrando mientras escribo, no me toma en cuenta si la palabra tiene espacios, y a veces, dependiendo de la letra inicial de búsqueda, me cambia las letras.

¿Alguien conoce alguna manera mejor de realizar esa búsqueda?

1 Respuesta

Respuesta
1

Hecha un vistazo a este ejemplo, es justo lo que necesitas:

http://goo.gl/gVQpRR 

o la versión 2:

http://goo.gl/RVxqoU 

Gracias por tu rápida contestación.

La verdad que yo me inclino por el primer ejemplo. Esta era una opción que ya había utilizado. Mi problema es que yo quiero filtrar un cuadro de lista por varios campos por separado (Nombre, dirección, etc).

¿Cómo se podría hacer utilizando el primer ejemplo?

Lo que planteas no es tan sencillo cómo parece, pues o buscas la manera de indicar por qué campo de los del cuadro de lista quieres buscar, y entonces usas IFs para construir la SQL del cuadro de lista, filtrando por el campo escogido, o en el filtro de la SQL (la parte del Where) creas uno por cada campo unidos con OR, algo así :

SELECT * FROM ... WHERE Campo1 LIKE Me.txtNombre.Text OR Campo2 LIKE Me.txtNombre.Text.....

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas