Desde un cuadro de texto filtrar datos en tiempo real en un formulario Access 2003
El problema que estoy intentando resolver es el siguiente:
Tengo un formulario en access y arriba en la cabecera tengo un cuadro de texto que utilizo para filtrar en tiempo real(conforme vas escribiendo se van filtrando los datos) en el recordset que lo tengo en el detalle.
Lo que si he conseguido es escribir el texto a buscar y al dar enter me filtre en el recordset, pero lo que realmente busco es lo dicho en el párrafo anterior.
Tengo un formulario en access y arriba en la cabecera tengo un cuadro de texto que utilizo para filtrar en tiempo real(conforme vas escribiendo se van filtrando los datos) en el recordset que lo tengo en el detalle.
Lo que si he conseguido es escribir el texto a buscar y al dar enter me filtre en el recordset, pero lo que realmente busco es lo dicho en el párrafo anterior.
1 respuesta
Respuesta de Neckkito Nck
2
Buenas tardes,He puesto la condición que aquí detallas cambiano del nombre del campo [Nombre] por el campo de mi base de datos [Apellidos_Usuario] y una vez inicio el formulario me sale el error 3075 donde me expresa que: Error de sintaxis en la cadena de expresión de consulta '[Apellidos_Ususario] LIKE '*m*'Te detallo mi condición a ver si es que he puesto algo que no debía:Private Sub txtFiltro_Change()Dim vTexto As StringvTexto = Nz(Me.txtFiltro.Text, "")If vTexto = "" ThenMe.FilterOn = FlaseElse: With Me.Filter = "[Apellidos_Usuario] LIKE '*" & vTexto & "*'".FilterOn = True.txtFiltro.SetFocus.txtFiltro.SelStart = Len(vTexto)End WithEnd IfEnd SubGracias si puedes contestar. - Marc ms
ERROR 3075 - Marc ms
A mí me da un error "2185" en tiempo de ejecución: No se puede hacer referencia a una propiedad o a un método para un control a menos que el control tenga el enfoque. Esto sucede sólo si se introduce algún texto que no da ningún resultado en la búsqueda. Si el texto introducido está en alguno de los registros del campo, funciona de maravilla. ¿A qué puede ser debido? - Ernesto Ruiz
Ernesto Ruiz En una aplicación "normal" de la sistemática no debería aparecerte el error que comentas. Ahora bien, si lo has aplicado "a tu manera" entonces desconozco como lo has hecho, y, en consecuencia, no puedo ayudarte. Cuando digo una aplicación "normal" me refiero a esto: http://www.mediafire.com/file/9vg2oxi6zitsf25/FiltroEnFormulario.zip Saludos. - Neckkito Nck
Muchas gracias, Neckkito. Ya he descubierto el problema: se trataba de que tenía el formulario sin permitir agregar datos. Al cambiar esa opción funciona correctamente. Un saludo. - Ernesto Ruiz
a mi tambien me marca el error 2185 pero me aparece cuando la letra no esta en lo que yo quiero buscar. Me explico: si quiero buscar los motores que tengo, empiezo a teclear y funciona pero cuando por ejemplo escribo "mota" al no haber ninguna palabra ºme aparece este error. Que es lo que he hecho mal?? Gracias por adelantado por las respuestas - Joan Nadal Calvet
Se me olvidaba cuando me aparece el error y le doy a depurar en la pantalla de visualk me aparece remarcado en amarillo la siguiente línea: .txtFiltro.SelStart = Len(vTexto) - Joan Nadal Calvet
Bájate el ejemplo de mediafire que indico en mi anterior comentario y analízalo, comparándolo cómo lo estás haciendo tú. En ese ejemplo no pasa nada si el valor no existe. Desconozco las condiciones de cómo lo estás aplicando y, por ello, no puedo darte otras respuestas. - Neckkito Nck
A mí se me solucionó cuando cambié la opción del formulario "Permitir agregar". Un saludo. - Ernesto Ruiz
He probado la base de datos de mediafire y veo que funciona. He copiado el código y me sigue marcando este error. Creo que es porque el formulario esta hecho cogiendo datos de una tabla y de una consulta. Si es así, como debería hacerlo.Te explico la estructura de mi formulario: He cogido todos los campos de una tabla llamada productos (código, descripción, ubicación del producto) y de la consulta del stock he cogido el campo stock.Si solo cojo los datos de la tabla productos me funciona, pero al coger ese campo de la consulta es cuando me aparece este problema. ¿A qué puede ser debido? Gracias por adelantado- - Joan Nadal Calvet
Probablemente el uso que estés haciendo al coger ese campo de una consulta esté creándote un recordset no actualizable. En definitiva, que así como lo haces no puede hacerse. Por otra parte, para meter información, tablas, para consultarla, consultas, pero hacer un mix de ambos no suele dar buenos resultados, sino más bien problemas. Así que replantéate la estructura. Por otra parte, los comentarios no son para darte una respuesta con detalles, sino para puntualizaciones. Así que te recomiendo que abras una nueva pregunta si el tema no se te arregla. Saludos - Neckkito Nck
Muchísimas Gracias!!Va fenomenal, estos pequeños detalles son los que marcan la diferencia.No se que haríamos sin personas como vosotros que aportáis vuestro granito de arena para que muchos podamos seguir adelante con nuestros proyectos.Infinitamente agradecido por compartir vuestro conocimiento con los demás.SaludosGerard - Gerard Alenyà