Ralentización de Base de datos

Hola, buenos días.
Tengo un formulario en el que hay varios botones de comando, que lo que hacen es filtrar registros por años. He observado que al aplicar indistintamente alguno de ellos, en la propiedad ordenar del formulario se van anidando los filtros, lo que hace que la base de datos se ralentice. ¿Alguien puede indicarme como solucionar esto? Muchas gracias por todo.
1

1 Respuesta

747.950 pts. No valoras las respuestas, no respondo la siguiente. No...
Si tu dirección sigue siendo lpla... te mando un ejemplo y sobre él hablamos.
Hola Icue, te agradezco mucho tu contestación aunque seguramente no me he explicado bien. Verás, en esta base de datos hay un campo [NUMREF], en el que irían por ejemplo:
0001/03 0001/04 0001/05
0002/03 0002/04 0002/05.
Los primeros números son un número de orden, los dos últimos corresponden al año. Otro campo [NUMREF] que es la fecha de entrada.
Claro, si yo quiero que me los ordene todos teniendo en cuenta los dos últimos del año como es un campo texto no lo entiende, por lo que tengo un botón en el formulario que ordena todos y ejecuta la siguiente consulta:
SELECT CARTAS.NUMREF,[NOMBRE]& ""[APELLIDO1] & [APELLIDO2] AS NOMBRE2 FROM CARTAS
ORDER BY DatePart["yyyy",[FECENT],Mid([CARTAS]![NUMREF],1,4,Right([CARTAS]![NUMREF],3);
Luego tengo otro botón que filtra y ordena al mismo tiempo por año 2005.
Es lo que te decía que al utilizar estos botones en el formulario, en la propiedad Orden del formulario va anidando una y otra vez la primera consulta de ordenar todos y llega un momento en el que tarda muchísimo en abrir el formulario, no sé que estaré haciendo mal.
Muchísimas gracias.
Has probado con usar sólo un botón. Por ejemplo, supongamos que tienes un formulario Ventas(dependiente de la tabla Ventas) con,entre otros, un control llamdo FechaVenta y quieres obtener los registros de un determinado año. Crea un botón de comando y en sus propiedades-eventos-al hacer clic crea un procedimiento de evento y entre Private Sub y End Sub escribe
form.recordsource="select * from Ventas where year([fechaventa])=[¿Que año quiere?]"
Así, cuando pulses el botón te preguntara lo de que año quiere, lo escribes y te presentara filtrados aquellos registros que cumplan esa condición.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas