Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

elyfesn21

Usando DBChart

Recommended Posts

Nao sei se ajuda... mas eu uso o Chart e nao o DbChart

veja o codigo q uso para mostrar as vendas mes a mes em um periodo selecionado

 

procedure TFormPrincipal.Vendas_datas_Sel;
var
dia1, dia2,mes2,ano2, i, mes1, ano1 : word;
Nd1, Nd2 : TTreeNode;
tot: currency;
data1,data2: TDateTime;
dias: extended;
meses: integer;
begin
Application.CreateForm(TFormSenha, FormSenha);
    formsenha.ShowModal;
    if formsenha.Permissao=true then begin
    entradatas1.Data1:=now-365;
    entradatas1.Data2:=now;
        if entradatas1.Execute then begin
    decodedate(Entradatas1.Data2,Ano2,Mes2,Dia2);
    decodedate(entradatas1.data1,ano1,mes1,dia1);
      with ibquery2 do
      begin
        sql.Clear;
        Sql.Add('select mes_b ,SUM(vendasprincipal.totalvenda) as valor');
        SQL.Add('from meses, vendasprincipal');
        Sql.Add('where (EXTRACT( MONTH  FROM datapedido))=:mes and (extract(year from datapedido))=:ano');
        Sql.Add(' and concluida=' + quotedStr('S'));
       sql.Add('group by mes_b');
      end;
      GrafVendas.TreeView1.Items.Clear;
      grafVendas.Chart1.Series[0].Clear;
      tot:=0;
      data1:=encodedate(ano1,mes1,10);
      data2:=encodedate(ano2,mes2,LastDayOfMonth(mes2,ano2));
     for i:= 0 to MonthsBetween(data2,data1) do begin
      ibquery2.Close;
      decodedate(data1,ano1,mes1,dia1);
      ibquery2.ParamByName('mes').asinteger:=mes1;
      ibquery2.ParamByName('ano').asinteger:=ano1;
      ibquery2.Open;
      tot:=tot+ibquery2.fieldbyname('valor').ascurrency;
      with GrafVendas.treeView1.Items do begin
      nd1:=add(nil,LongMonthName(data1)+'/'+inttostr(ano1));
      AddChild(nd1,formatfloat('#,###,##0.00',ibquery2.FieldByName('valor').ascurrency));
      end;
      GrafVendas.Chart1.Series[0].Add(ibquery2.FieldByName('valor').ascurrency,shortmonthname(data1)+#13+inttostr(ano1));//ShortMonthName(data1));
      if mes1 in [1..11] then
        mes1:=mes1+1
        else if mes1=12 then begin
        mes1:=1;
        ano1:=ano1+1;
        end;
  data1:=encodedate(ano1,mes1,05);
      end;
      end;
      with grafvendas.TreeView1.Items do begin
      nd1:=add(nil,'Total No Periodo');
      addChild(nd1,formatfloat('#,###,##0.00',tot));
      end;
      GrafVendas.Caption:='Vendas Periodo Selecionado ';
      GrafVendas.showmodal;
end
else
begin
Atencao('Não Permitido Sem Autorização');
end;
FormSenha.Release;

Joarez

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.