Tengo una aplicación que con el tiempo se ha vuelto lenta.
El problema es que al abrir la tabla se trae todos los registros antes de aplicar el filtro. En mi caso particular, pedidos de ejercicios anteriores que no deseo ver.
Ej.
Código Delphi
[-]
Pedidos.Close;
Pedidos.Filtered := Fasle;Pedidos.Filter := 'EJERCICIO=2026';
Pedidos.Filtered := True;Pedidos.Open;
¿Hay alguna forma de agregar la sentencia WHERE para que solo trabaje con los registros que deseo?
O quizás algo como agregarle parámetros y antes de hacer el Open rellenarlo con el ejercicio.
Se que podría utilizar Querys con el SQL hecho a mano, pero estoy tratando de evitarlo.
¿Cómo trabajáis vosotros?
Lo raro es que la tabla detalle, que está enlazada mediante MasterSource y MasterFields, se abre inmediatamente, a pesar de tener muchos más registros. Pareciera que aplica el WHERE antes de hacer el Open.
Ej.
Código Delphi
[-]
PadidosDetalle.Close;
PadidosDetalle.Open;