Fazer a soma de itens qdo carrega um registro

Delphi

08/11/2004

bom dia,
estou encontrando dificuldades num assunto e queria ver se vcs podem me ajudar..

queria usar uma função para somar os itens de uma nota fiscal e jogar num label..

mas queria da seguinte forma:
tenho varios registros gravados.. e uso um dbnavigator para navegar entre eles..
queria que qdo carregasse o registro ele executasse a função..
não sei em que evento colocar isso..

valeu
Eric


Eric.miranda

Eric.miranda

Curtidas 0

Respostas

Delphi32

Delphi32

08/11/2004

Qual banco de dados e componentes de acesso você está usando?


GOSTEI 0
Rafs

Rafs

08/11/2004

Você pode colocar no evento OnDataChange do componente DataSource.


GOSTEI 0
Eric.miranda

Eric.miranda

08/11/2004

valeu por ter respondido galera..
delphi32,
estou usando tables e queries.


Rafs,
tentei do modo que vc me disse mas deu erro de access violation..

minha procedure é a seguinte

procedure TFrmNotasfiscais.Calcula;
var Valor: real;
Begin
Valor:= 0;
While not Dtmdb.Itens.Eof do
begin
Valor:= Valor + Dtmdb.ItensValortotal.Value;
Dtmdb.Itens.Next;
end;
frmnotasfiscais.Paneltotal.Caption:=FloatToStrf(Valor,ffcurrency,18,2);
end;


fiz a chamada dela no datamodule da seguinte forma

procedure TDTMDB.DsNotaFiscalDataChange(Sender: TObject; Field: TField);
begin
FrmNotasfiscais.Calcula;
end;

dá erro na parte do
frmnotasfiscais.Paneltotal.Caption:=FloatToStrf(Valor,ffcurrency,18,2);

como posso resolver isso..

valeu mesmo pela ajuda

Eric


GOSTEI 0
Osocram

Osocram

08/11/2004

dá erro na parte do frmnotasfiscais.Paneltotal.Caption:=FloatToStrf(Valor,ffcurrency,18,2);

Este erro deve estar acontecendo pq a variavel ´VAlor´ non esta inicializado no momento q vc chama a procedure... ou esta c um valor diferente... ou ainda vc esta acessando algo non permitido por ex. ´frmnotasfiscais.Paneltotal.Caption´ tenha certeza q este componente esta criado PanelTotal

Qto ao evento... eu coloco o calculo p fazer a soma no OnCalcField eu uso ClientDataSet... mas na Query tbm funciona isso... se non me engano... na Table nunca tentei.

Tente eliminar as Tables.... ela limita mto seu programa e deixa mais lerdo dependendo do fluxo d dados usado.


GOSTEI 0
POSTAR