Filtrar en formulario mediante cuadro de texto

Tengo un formulario con articulos y algunos campos más, que de momento no tienen función alguna para el caso. Lo que necesito es que filtre los registros del formulario según voy introduciendo el texto en un cuadro de texto situado en el mismo formulario. Tengo el siguiente código:

Private Sub txtBuscaArticulo_Change()

Dim varTexto As String

varTexto = Nz(Me.txtBuscaArticulo.Text, "")

If varTexto = "" Then
Me.FilterOn = False
Else:
With Me

.Filter = "[Articulo] LIKE '*" & varTexto & "*'"
.FilterOn = True
.txtBuscaArticulo.SetFocus
.txtBuscaArticulo.SelStart = Len(varTexto)
End With

End If

End Sub

Solo me funciona con palabras sueltas, es decir no me permite introducir ningún espacio en blanco entre palabras, por ejemplo me filtra Vaso, copa, zapato,.. Etc pero no vaso de agua, copa de vidrio, etc..

¿Cómo puedo resolver esto?.

1 respuesta

Respuesta
4

No te calientes la cabeza, es infinitamente más simple. Si tengo un formulario

Voy a hacer que me busque aquellos Cargo de contacto que en cualquier parte del nombre tenga una cadena y en el texto 7 pongo

Al pulsar Enter(ya que lo tengo puesto en el evento Después de actualizar de Texto7, pero puedes ponerlo en donde quieras

El código es

Me había olvidado, si pones más caracteres en el cuadro de texto el origen será más selectivo. Pero si pese a todo lo quieres poner en el evento al cambiar ponlo como

Me. Refresh

me.recordsource=................

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas