GARANTIR DESCONTO

Fórum Como fazer fazer para acumular Valores... #275245

02/04/2005

0

Ir Colocando Numeros qualquer em um edit e em outro edit ir acumulando os valores digitados.

No VB essa instrução é ´Static´ e no Delphi

Agradeço desde ja...


Alves

Alves

Responder

Posts

03/04/2005

Edilcimar

JOgue para dentro de uma variável e depois jogue para o segundo edit


Responder

Gostei + 0

03/04/2005

Alexsandro

Oi Alves,

Estou com o mesmo problema e infelizmente ninguém me ajudou. Tenho uma tela onde crio registros de despesas. Alguns desses registros são pagos em Dinheiro, outros com cartão e outros com Cheque. O que tenho são três campo que somam o TOTAL DE DESPESAS em DINHEIRO, CARTÃO E CHEQUE do mês atual. Uso Access com ADO. Já postei 3 mensagens mas ninguém me ajudou.

As dúvidas que tenho:

1) Entendo que terei que ler toda a tabela e, dependendo do tipo de pgamento somar os campos TOTAIS DINHEIRO, CHEQUE E CARTÃO. Faço isso mas sempre que vou incluir um novo registro ou excluir, ou até modificar um dos registros os TOTAIS não atualizam. Logo, não sei em que evento colocar a função para ter que atualizar sempre que modifico a tabela. Mas em que EVENTO TRATAR ISSO? será que tenho que dar um REFRESH ou coisa parecida?

2) Minha sgunda dúvida, no lugar de usar toda a rotina abaixo que faz essa soma e envia para campo TEDIT na tela, não seria melhor usar QUERIES? Mas em caso possitivo em que eventos eu chamo a query para sempre ter estes valores atualizado quando a tabela mudar algum valor?

Pessoal, VAMOS AJUDAR!!!!

Segue minha rotina:

procedure TDataMod.ADOTable_Despesas_DiariasCalcFields(DataSet: TDataSet);
// Este procedimento soma todosos campos de totais da Tela de Despesas Diárias
var cTotalDin, cTotalChq, cTotalCrd, cTotalDeb, cTotalGer: Currency;
begin
// Inicializa os contadores
cTotalDin := 0;
cTotalChq := 0;
cTotalCrd := 0;
cTotalDeb := 0;
cTotalGer := 0;
begin
if DataMod.ADOTable_Despesas_DiariasDES_TIPO.Text = ´DI´ then
begin
cTotalDin := cTotalDin + DataMod.ADOTable_Despesas_DiariasDES_VALOR.Value;
DataMod.ADOTable_Despesas_DiariasACM_TOT_DIN.AsCurrency :=
DataMod.ADOTable_Despesas_DiariasACM_TOT_DIN.AsCurrency +
+ DataMod.ADOTable_Despesas_DiariasDES_VALOR.Value;
end
else
if DataMod.ADOTable_Despesas_DiariasDES_TIPO.Text = ´CC´ then
begin
cTotalCrd := cTotalCrd + DataMod.ADOTable_Despesas_DiariasDES_VALOR.Value;
end
else
if DataMod.ADOTable_Despesas_DiariasDES_TIPO.Text = ´CD´ then
begin
cTotalDeb := cTotalDeb + DataMod.ADOTable_Despesas_DiariasDES_VALOR.Value;
end
else
cTotalChq := cTotalChq + DataMod.ADOTable_Despesas_DiariasDES_VALOR.Value;
end;
// Soma todos os campos e apresenta o total geral
cTotalGer := cTotalDin + cTotalCrd + cTotalDeb + cTotalChq;
// Atribue aos campos da Tela
Form_Despesas_Diarias.FTotDin.Text := FormatFloat(´#,0.00´,cTotalDin);
Form_Despesas_Diarias.FTotCheque.Text := FormatFloat(´,0.00´,cTotalChq);
Form_Despesas_Diarias.FTotCarCred.Text := FormatFloat(´,0.00´,cTotalCrd);
Form_Despesas_Diarias.FTotCarDeb.Text := FormatFloat(´,0.00´,cTotalDeb);
Form_Despesas_Diarias.FTotalGer.Text := FormatFloat(´#,0.00´,cTotalGer);
end;


aLEX


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar