Fazer a soma de itens qdo carrega um registro
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
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
Curtidas 0
Respostas
Delphi32
08/11/2004
Qual banco de dados e componentes de acesso você está usando?
GOSTEI 0
Rafs
08/11/2004
Você pode colocar no evento OnDataChange do componente DataSource.
GOSTEI 0
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
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
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