PDA

Ver la Versión Completa : Mostrar en Reporte suma de records iguales


PallyRS
22-12-2009, 19:38:31
Hola Foro:

Tengo una consulta realizada para que me muestre en un reporte los campos de una tabla, pero con la condición de que si existen records de un mismo producto solo me muestre una vez y con la suma de este.

Les coloco el código para que me ayuden pues no logro que eso suceda, en realidad me muestre todo, sin hacer la agrupación ó resumen deseado. Estoy utilizando Delphi 7 y QuicReport

Gracias de antemano.


Anual:=DMPlanNegocio.ADOTFecha_PlanAnual.CurValue;
DMPlanNegocio.ADOQuery_PlanVentasFisicas.Close; DMPlanNegocio.ADOQuery_PlanVentasFisicas.SQL.Clear;
DMPlanNegocio.ADOQuery_PlanVentasFisicas.SQL.Add('SELECT Cliente, Producto, Anual, UM, SUM(Enero) AS Enero, SUM(Febrero)AS Febrero, Sum(marzo) AS Marzo, Sum(abril) AS Abril, Sum(mayo) AS Mayo, Sum(junio) AS Junio, Sum(julio) AS Julio,');
DMPlanNegocio.ADOQuery_PlanVentasFisicas.SQL.Add('Sum(agosto) AS Agosto, Sum(sept) AS Sept, Sum(octubre) AS Octubre, Sum(noviemb) AS Noviemb, Sum(diciemb) AS Diciemb');
DMPlanNegocio.ADOQuery_PlanVentasFisicas.SQL.Add('FROM PlanVentasFisicas');
DMPlanNegocio.ADOQuery_PlanVentasFisicas.SQL.Add('WHERE Anual= :Anual');
DMPlanNegocio.ADOQuery_PlanVentasFisicas.Parameters.ParamByName('Anual').Value:=Anual;
DMPlanNegocio.ADOQuery_PlanVentasFisicas.SQL.Add('GROUP BY Cliente, Producto, Anual, UM');
DMPlanNegocio.ADOQuery_PlanVentasFisicas.ExecSQL; DMPlanNegocio.ADOQuery_PlanVentasFisicas.Active:=True;


Permitanme adicionarles algo para que estén más claro, no sé si esto influya.
Estoy trabajando sobre un servidor SQLSERVER 2005 Express Edition

seara2005
23-12-2009, 19:15:54
Prueba con

DMPlanNegocio.ADOQuery_PlanVentasFisicas.SQL.Add('GROUP BY Producto, Cliente, Anual, UM');

Como tú la tienes agrupa primero por Cliente y luego por producto, por lo que de esa forma puede estar presente el mismo producto en varios clientes, de esta forma se agrupa por producto.

PallyRS
23-12-2009, 20:36:58
Muchisimas Gracias seara2005

Así mismo funcionó, es decir, mostró lo que debía mostrar y de la manera agrupada como se requería. Es verdad que la prioridad se la daba a quien precisamente no quería que se agrupara.

Nuevamente Muchas Gracia.

PD: Ya puedo dar este hilo como resuelto.