Hola amigos..
Nuevamente recurro a uds, para ver si me pueden ayudar a solucionar un problemilla que tengo, resulta que ejecuto una consulta en Firebird, esta consulta demora 50 segundos aprox. en mostrar los resultados, entonces lo que hago desde delphi es mostrar un "Reloj" que me muestra el tiempo transcurrido en la consulta, pero el programa se queda pegado hasta que la consulta se ejecuta y muestra los resultados( utilizo los componentes IBX). Existe alguna propiedad en los componentes IBX que me permita realizar algo asi como un Application.ProcessMessages o algo por el estilo para que me programa no se quede "pegado", muchas gracias por su ayuda..
.
esta es la consulta..
Código SQL
[-]
SELECT M.CODIGO_FAMILIA,COALESCE( SUM( ( (COALESCE(SUM(M.DIAS_C + M.MASDIAS),0)) * M1.CANCELADO) / M1.DIAS_ARR),0) AS CANCELADO,
COALESCE(SUM(M.DIAS_C + M.MASDIAS),0) AS DIAS
FROM(SELECT A.CODIGO_FAMILIA,C.dias_arrendado AS DIAS_C,C.CODIGO_CONTRATO,
CASE WHEN C.FECHA_TERMINO < C.FECHA_INICIO
THEN 'NOW' - C.FECHA_INICIO
ELSE 0 END AS MASDIAS
FROM FAMILIA A,RL_FACTURA_DE_VENTAS_CONTRATOS D,
DETALLE_CONTRATOS_DE_ARR C, FACTURA_DE_VENTAS E,MAQUINAS F
WHERE C.CODIGO_CONTRATO=D.CODIGO_CONTRATO
AND D.CODIGO_FACTURA_DE_VENTA=E.CODIGO_FACTURA_DE_VENTA
AND (E.ANULADA='N' AND E.HISTORICA='N')
AND C.CODIGO_MAQUINA=F.CODIGO_MAQUINA
AND A.CODIGO_FAMILIA=F.CODIGO_FAMILIA
AND D.FECHA_FACTURACION >='01-JUL-2007'
GROUP BY A.CODIGO_FAMILIA,DIAS_C,C.CODIGO_CONTRATO,MASDIAS)M
LEFT JOIN(SELECT C.CODIGO_CONTRATO,COALESCE(SUM(C.dias_arrendado),0) DIAS_ARR,
COALESCE(SUM(D.VALOR_CANCELADO),0) AS CANCELADO
FROM DETALLE_CONTRATOS_DE_ARR C,
RL_FACTURA_DE_VENTAS_CONTRATOS D
WHERE C.CODIGO_CONTRATO=D.CODIGO_CONTRATO
GROUP BY C.CODIGO_CONTRATO) AS M1
ON M.CODIGO_CONTRATO=M1.CODIGO_CONTRATO
GROUP BY M.CODIGO_FAMILIA