Imprimir página | Cerrar ventana

Filtro según se escribe en campo de tabla

Impreso de: Foro de Access y VBA
Categoría: Access y VBA
Nombre del foro: Access y VBA
Descripción del foro: Foro de programacion en Access (Con código y sin código)
URL: http://www.mvp-access.com/foro/forum_posts.asp?TID=85416
Fecha de impresión: 20/Septiembre/2020 a las 06:03


Tema: Filtro según se escribe en campo de tabla
Publicado por: Ajito
Asunto: Filtro según se escribe en campo de tabla
Fecha de publicación: 24/Julio/2020 a las 08:41
Buenos dias, compañeros

No sé si esto que planteo será posible, pero quisiera preguntarlo para salir de la duda.

En mi trabajo para registrar la documentación que nos llega a la oficina usamos una tabla como "Registro" en donde se van rellenando unos campos: "Número", "Origen", "Remitente", "Sección", "Asunto" y "Observaciones".



El usuario va rellenando los datos directamente en la tabla. (Llevan años usándolo así, no usan formularios).

Yo quisiera, si es posible, automatizar un poco el trabajo. Para eso, estaba pensando algo para el campo "Origen", ya que ahí suele ir el nombre de cientos de empresas que trabajan con nosotros. Siempre son las mismas.

Creé la tabla "Empresas" con un Id_empresa y Nombre.

Posteriormente en las propiedades del campo "Origen" de la tabla Registro, he seleccionado un Cuadro de Combinado cuyo origen es esa tabla Empresas. Hasta ahí bien va bien.

El problema es que me gustaria que cuando rellene el campo "Origen" de la tabla Registro se vaya autocompletando segun escribo. Es decir, que filtre según encuentra coincidencia de las palabras.

Yo en mi experiencia con otras bases, y con vuestra ayuda, esto lo he logrado siempre en un Formulario con el generador de código... pero sobre la misma tabla no sé como hacerlo.

Sé puede hacer de alguna manera?

Gracias por adelantado.




Respuestas:
Publicado por: xavi
Fecha de publicación: 24/Julio/2020 a las 20:01
Como diría uno que yo me se: "hay una caldera especial en el infierno para aquellos que permiten escribir directamente en las tablas".

En cuanto al autofiltrado.

1. Los cuadros combinados van mostrando el valor que coincide desde el inicio del escrito. Si tengo una empresa llamada "INDUSTRIAS PEPE" y otra llamada "PEPE INDUSTRIAL" cuando escriba "INDUSTRIA" sólo me aparecerá el primer registro.
2. Ese comportamiento es independiente de si se utiliza una tabla o un formulario
3. El problema podría venir cuando la empresa NO existe en la tabla de empresas. Si utilizas una tabla para entrar los datos, no puedes manejar el NotInList; si utilizas un formulario si.

Aunque estén acostumbrados a trabajar así, yo me plantearía un cambio de táctica:
Un formulario simple con controles independientes para los distintos campos. Para "Origen" utilizaría un cuadro de texto + un cuadro de lista. A medida que se escribe en el cuadro de texto se filtra el cuadro de lista (evento change + propiedad Text + filtro Like). Si el origen está en la lista, se selecciona; si no está se añade mediante un botón. Una vez rellenados los campos se añaden a la tabla mediante un botón que lanza una consulta de inserción. EL propio formulario puede tener un subformulario en vista hoja de datos con todos los registros.

Es solo un consejo pero seguro que un formulario bien hecho te permite muchisimo más control y flexibilidad que una tabla.

Un saludo


-------------
Xavi, un minyó de Terrassa

http://www.llodax.com" rel="nofollow - Mi web


Publicado por: Ajito
Fecha de publicación: 24/Julio/2020 a las 22:18
Muchas gracias por responder, Xavi.

Bueno, bueno... tendrías que ver las barbaridades que hacen en mi oficina con las bases de datos de Access.

Con decirte, que cuando llega principio de año, su forma de crear una nueva base de datos es copiar el archivo .mbd del año anterior, lo pegan de nuevo, lo "rebautizan" de, por ejemplo, "Registro 2019" a "Registro 2020", abren cada una de las tablas y haciendo click en la esquina superior izquierda, borran todos los datos... listo, "nueva base de datos". Así llevan haciéndolo desde el 97 Confused

Gracias por la idea y la explicación. Yo soy apasionado del Access y voy a practicar tu sugerencia por aprender. Creo que si lo intento aplicar a mis compañeros me van a sacar a escobazos, pero lo intentaré.

Se que un formulario es muchísimo mejor. Yo mismo en "experimentos" mios he preguntado cosas en este foro y la verdad, un buen formulario ayuda muchísimo.

En mi oficina los compañeros que usan la base estan casi por jubilarse y vamos, no quieren salir de la rutina "introducir dato", tabulador", "introducir dato", "tabulador"... y cualquier intento de sacarles de ahi, según ellos, es "complicarles la vida".

Por eso era la idea de mi pregunta, si de alguna forma "sutil" podia mejorar algo sin cambiar mucho su forma de trabajo, lo intentaba.





Publicado por: xavi
Fecha de publicación: 24/Julio/2020 a las 22:44
Publicado originalmente por Ajito Ajito escribió:

En mi oficina los compañeros que usan la base estan casi por jubilarse...

Eso lo he vivido yo los últimos años en un cliente y, cuando llega el momento de "traspasar" la base de datos al nuevo "propietario", se asusta.

En una de las aplicaciones  a heredar le dieron un DIN A-4 plastificado con las instrucciones:
- copia
- pega
- acepta mensajes
- copia
- pega
- ejecuta estas consultas
- acepta mensajes
- hazlo desde esa máquina
- crea un Excel
- pega
- formatea
- envía correo a fulanito, menganito, etc

La cara del "heredero" era un poema.

La aplicación nueva solo requiere, previa configuración, un solo dato: el resto todo automático.

Moraleja: a los que se jubilan les importa un pimiento, pero a los que heredan, puede que no.


-------------
Xavi, un minyó de Terrassa

http://www.llodax.com" rel="nofollow - Mi web


Publicado por: Ajito
Fecha de publicación: 26/Julio/2020 a las 14:41
Publicado originalmente por xavi xavi escribió:

Publicado originalmente por Ajito Ajito escribió:

En mi oficina los compañeros que usan la base estan casi por jubilarse...

Eso lo he vivido yo los últimos años en un cliente y, cuando llega el momento de "traspasar" la base de datos al nuevo "propietario", se asusta.

En una de las aplicaciones  a heredar le dieron un DIN A-4 plastificado con las instrucciones:
- copia
- pega
- acepta mensajes
- copia
- pega
- ejecuta estas consultas
- acepta mensajes
- hazlo desde esa máquina
- crea un Excel
- pega
- formatea
- envía correo a fulanito, menganito, etc

La cara del "heredero" era un poema.

La aplicación nueva solo requiere, previa configuración, un solo dato: el resto todo automático.

Moraleja: a los que se jubilan les importa un pimiento, pero a los que heredan, puede que no.


Lo del DIN A-4 plastificado también me suena verlo a mi. Debe ser un "clásico", jejeje.

Bueno, gracias de nuevo por responder, Xavi. Smile

Cerramos hilo!



Imprimir página | Cerrar ventana