|
Además de los consejos que te han dado, yo te aconsejo que minimizes el nº de consultas lanzadas al servidor. Carga el máximo de datos posibles en local en Clientdatasets y utilizalos en lugar de volver a consultarlos al Servidor.
Por ejemplo, no necesitas lanzar consultas nuevas en cada AfterScroll. Es mucho mejor cargar todos los datos al cargar la pantalla (aunque tarde un poquito más al cargar), y después filtrar la información en local.
Así pues TaulaC es un :
select Numero, Fecha, Unidades, ...
from Albaran
where Empresa = :Empresa and Cliente = :Cliente
order by Fecha
Y TaulaCL es :
select Clave, Producto, Unidades, Importe, ...
from Lineas
inner join Albaran on Albaran.Clave = Lineas.Clave
where Lineas.Empresa = :Empresa and Albaran.Cliente = :Cliente
order by Lin_Num
Ahora cuando en el Formulario se lanze el Evento AfterScroll, en lugar de volver a consultar los datos, solo tienes que aplicar un filtro en local. Para el usuario el resultado será casi inmediato (a diferencia de lanzar otra consulta al servidor, que debido a los grandes lags de las conexiones por Internet, tendrá un retraso claramente detectable por el usuario).
TaulaCL.Filter := 'Clave = ' + Taula.FieldByName('Clave').AsString;
TaulaCL.Filtered := True;
Espero que se entienda.
Salut xiquet.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Última edición por guillotmarc fecha: 12-01-2011 a las 12:51:02.
|