Ahora mismo no tengo a mano otro ejemplo:
Código Delphi
[-]procedure TfrMenu.TotalComprasFechas1Click(Sender: TObject);
begin
Application.CreateForm(TDmStd, DmStd);
Application.CreateForm(TfrDlgFechas, frDlgFechas);
frDlgFechas.ShowModal;
if nOpcion = 1 then
begin
DmStd.QrTCompras.Close;
DmStd.QrTCompras.Sql.Clear;
DmStd.QrTCompras.Sql.Add('Select Sum(Base) as Base ');
DmStd.QrTCompras.Sql.Add('From Compras ');
DmStd.QrTCompras.Sql.Add('Where Fecha Between '+QuotedStr(FormatDateTime('mm/dd/yyyy',dIni)));
DmStd.QrTCompras.Sql.Add('And '+QuotedStr(FormatDateTime('mm/dd/yyyy',dFin)));
DmStd.QrTCompras.Open;
nTotalCompras:=DmStd.QrTCompras.Fields[0].AsFloat;
DmStd.QrTCompras.Close;
DmStd.QrTtlCompras.Close;
DmStd.QrTtlCompras.Sql.Clear;
DmStd.QrTtlCompras.Sql.Add('Select Max(Fecha) as Fecha, ');
DmStd.QrTtlCompras.Sql.Add('Nombre, Sum(Base) as Base, ');
DmStd.QrTtlCompras.Sql.Add('Sum(IVA) as IVA, Sum(Total) as Total ');
DmStd.QrTtlCompras.Sql.Add('From Compras ');
DmStd.QrTtlCompras.Sql.Add('Where Fecha Between '+QuotedStr(FormatDateTime('mm/dd/yyyy',dIni)));
DmStd.QrTtlCompras.Sql.Add('And '+QuotedStr(FormatDateTime('mm/dd/yyyy',dFin)));
DmStd.QrTtlCompras.Sql.Add('Group By Nombre ');
DmStd.QrTtlCompras.Sql.Add('Order by Base Desc ');
DmStd.QrTtlCompras.Open;
Application.CreateForm(TfrTtlCompras, frTtlCompras);
frTtlCompras.ShowModal;
end
else
ShowMessage('Cancelado por el usuario.');
FreeAndNil(DmStd);
end;
Un Saludo.