Ver Mensaje Individual
  #9  
Antiguo 22-01-2007
efelix efelix is offline
Miembro
 
Registrado: jul 2006
Posts: 84
Reputación: 18
efelix Va por buen camino
Hola ContraVeneno, voy a aprovechar tu sugerencia, sobre la ayuda que me prometiste en uno de tus correos sobre el tema. El siguiente procedimiento almacenado me devuelve los resulyados que yo deseo:
Código SQL [-]
CREATE PROCEDURE spAntiguedad 

AS
SELECT     Proveedores.IdProveedor, Proveedores.NombreProveedor, Facturas.IdFactura, Facturas.Descripcion, Facturas.Importe, Facturas.FechaRecepcion, DATEDIFF(day, FechaRecepcion, GETDATE()) AS Saldo, 
                    CASE
                        WHEN DATEDIFF(day, FechaRecepcion, GETDATE()) > 0  AND  DATEDIFF(day, FechaRecepcion, GETDATE()) < 31 THEN Facturas.Importe ELSE 0 END MENOSDE30dias,
                    CASE
                        WHEN DATEDIFF(day, FechaRecepcion, GETDATE ()) > 30  AND  DATEDIFF(day, FechaRecepcion, GETDATE()) < 61 THEN Facturas.Importe  ELSE 0 END ENTRE3060dias,
                    CASE
                        WHEN DATEDIFF(day, FechaRecepcion, GETDATE()) > 60  AND  DATEDIFF(day, FechaRecepcion, GETDATE()) < 91 THEN Facturas.Importe ELSE 0 END ENTRE6090dias,
                    CASE
                        WHEN DATEDIFF(day, FechaRecepcion, GETDATE()) > 91 THEN Facturas.Importe ELSE 0 END MASDE90dias 
FROM         Proveedores INNER JOIN Facturas ON Proveedores.IdProveedor=Facturas.IdProveedor
WHERE     (Aplicada = 0)
GO
Este procedimiento me devuelve los resultados que yo espero. Ahora voy al delphi y creo un nuevo reporte, agrego los componentes de la paleta ADO:
adoconnection, adostoredprocedure y un datasource. Agrego un qrexpression donde pongo la siguiente expresión: sum(adospantiguedad.Entre3060dias), y así lo hago con cada uno delos campos que me genera el ado stored procedure. Cuando le doy un preview no me pone nada, solo 0 en cada uno de los campos. A que se deberá esto?. Gracias.

Última edición por efelix fecha: 22-01-2007 a las 17:39:59.
Responder Con Cita