quinta-feira, 19 de agosto de 2010

Esse código é muito bom!

Segue agora um código extremamente importante para TODOS os grupos.

Exemplo da tela:



É preciso tirar os componentes de banco de dados. Os mesmos estarão no Data Module.


Obs1: O button1 é o OK
O button2 é o Verificar receita
O button3 é o Verificar receita no período

Obs2: A tabela no banco de dados se chama teste e só possui três campos: pgto, valor e data (tudo do tipo texto).

É preciso colocar o comando SQL no ADOQuery do Data Modulo:
Select * from teste

Vamos ao código:

*******************************************************************
procedure TForm1.Button1Click(Sender: TObject);
begin
DM.AdoQuery1.Append;
DM.AdoQuery1.FieldByName('pgto').value := combobox1.text;
DM.AdoQuery1.FieldByName('Valor').value := strtofloat(edit1.text);
DM.AdoQuery1.FieldByName('Data').value := edit2.text;
DM.AdoQuery1.post;
end;
********************************************************************
procedure TForm1.Button2Click(Sender: TObject);
var
vtot:Real;
begin
vtot:=0;
DM.AdoQuery1.Close;
DM.AdoQuery1.sql.clear;
DM.teste.sql.Add('Select sum(Valor) from teste where pgto = ' +chr(39)+'Dinheiro'+chr(39)+ 'and data = :dtespecifica');
DM.teste.Parameters.Parambyname('dtespecifica').value := Strtodate(edit2.text);
DM.AdoQuery1.Open;
if (DM.AdoQuery1.fields.fields[0].IsNull) then
label3.caption:='R$ 0,00'
else
begin
vtot:=vtot+DM.AdoQuery1.fields.fields[0].value;
label3.caption:=floattostrf(DM.AdoQuery1.fields.fields[0].value,ffCurrency,6,2);
end;

DM.AdoQuery1.Close;
DM.AdoQuery1.sql.clear;
DM.teste.sql.Add('Select sum(Valor) from teste where pgto = ' +chr(39)+'Cartão'+chr(39)+ 'and data = :dtespecifica');
DM.teste.Parameters.Parambyname('dtespecifica').value := Strtodate(edit2.text);
DM.AdoQuery1.Open;

if (DM.AdoQuery1.fields.fields[0].isnull) then
label5.caption:='R$ 0,00'
else
begin
vtot:=vtot+DM.AdoQuery1.fields.fields[0].value;
label5.caption:=floattostrf(DM.AdoQuery1.fields.fields[0].value,ffCurrency,6,2);
end;

DM.AdoQuery1.Close;
DM.AdoQuery1.sql.clear;
DM.teste.sql.Add('Select sum(Valor) from teste where pgto = ' +chr(39)+'Cheque'+chr(39)+ 'and data = :dtespecifica');
DM.teste.Parameters.Parambyname('dtespecifica').value := Strtodate(edit2.text);
DM.AdoQuery1.Open;

if (DM.AdoQuery1.fields.fields[0].isnull) then
label7.caption:='R$ 0,00'
else
begin
vtot:=vtot+DM.AdoQuery1.fields.fields[0].value;
label7.caption:=floattostrf(DM.AdoQuery1.fields.fields[0].value,ffCurrency,6,2);
end;

DM.AdoQuery1.Close;
DM.AdoQuery1.sql.clear;
DM.AdoQuery1.sql.Add('Select * from teste');
DM.AdoQuery1.Open;

label11.caption:=floattostrf(vtot,ffCurrency,6,2);

end;
****************************************************************************
procedure TForm1.Button3Click(Sender: TObject);
var
vtot:Real;
begin
vtot:=0;
DM.AdoQuery1.Close;
DM.AdoQuery1.sql.clear;
DM.teste.sql.Add('Select sum(Valor) from teste where pgto = ' +chr(39)+'Dinheiro'+chr(39)+ 'and data BETWEEN :dtinicial and :dtfinal');
DM.teste.Parameters.Parambyname('dtinicial').value := Strtodate(edit3.text);
DM.teste.Parameters.ParamByName('dtFinal').value := Strtodate(edit4.text);
DM.AdoQuery1.Open;
if (DM.AdoQuery1.fields.fields[0].isnull) then
label3.caption:='R$ 0,00'
else
begin
vtot:=vtot+DM.AdoQuery1.fields.fields[0].value;
label3.caption:=floattostrf(DM.AdoQuery1.fields.fields[0].value,ffCurrency,6,2);
end;

DM.AdoQuery1.Close;
DM.AdoQuery1.sql.clear;
DM.teste.sql.Add('Select sum(Valor) from teste where pgto = ' +chr(39)+'Cartão'+chr(39)+ 'and data BETWEEN :dtinicial and :dtfinal');
DM.teste.Parameters.Parambyname('dtinicial').value := Strtodate(edit3.text);
DM.teste.Parameters.ParamByName('dtFinal').value := Strtodate(edit4.text);
DM.AdoQuery1.Open;

if (DM.AdoQuery1.fields.fields[0].isnull) then
label5.caption:='R$ 0,00'
else
begin
vtot:=vtot+DM.AdoQuery1.fields.fields[0].value;
label5.caption:=floattostrf(DM.AdoQuery1.fields.fields[0].value,ffCurrency,6,2);
end;

DM.AdoQuery1.Close;
DM.AdoQuery1.sql.clear;
DM.teste.sql.Add('Select sum(Valor) from teste where pgto = ' +chr(39)+'Cheque'+chr(39)+ 'and data BETWEEN :dtinicial and :dtfinal');
DM.teste.Parameters.Parambyname('dtinicial').value := Strtodate(edit3.text);
DM.teste.Parameters.ParamByName('dtFinal').value := Strtodate(edit4.text);
DM.AdoQuery1.Open;

if (DM.AdoQuery1.fields.fields[0].isnull) then
label7.caption:='R$ 0,00'

else
begin
vtot:=vtot+DM.AdoQuery1.fields.fields[0].value;
label7.caption:=floattostrf(DM.AdoQuery1.fields.fields[0].value,ffCurrency,6,2);
end;

DM.AdoQuery1.Close;
DM.AdoQuery1.sql.clear;
DM.AdoQuery1.sql.Add('Select * from teste');
DM.AdoQuery1.Open;

label11.caption:=floattostrf(vtot,ffCurrency,6,2);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin

end;

Nenhum comentário:

Postar um comentário