Fórum Somar itens de uma tabela e exibir total em um DBEdit #230033
05/05/2004
0
Pessoal!
Estou tentando somar o valor (VALOR_TOTAL) dos itens de uma tabela chamada ITEM e passar esta soma para dentro de um DBEdit chamado DBEdit1. Em seguida pretendo gravar este valor para dentro da tabela CABECALHO, como sendo a soma total dos itens. Imaginem uma nota fiscal, com seus itens e valor total. Pois bem, já está dando pau no início... Aqui estou tentando fazer a parte inicial... e me aparece a seguinte mensagem de erro:
‘qrItem: Field ‘CD_ITEM’ not found’
Substituindo o select do exemplo abaixo por um (‘SELECT * FROM ITEM’) o erro não ocorre.
Vejam o código:
procedure TfrmCabecalho.DBEdit1Enter(Sender: TObject);
var
RegistroAtual:String;
begin
RegistroAtual:=´´;
RegistroAtual:=frmCabecalho.DBE_Codigo.Text; {Variável RegistroAtual assume o valor do código do cabeçalho}
dmItem.qrItem.Close;
dmItem.qrItem.SelectSQL.Clear;
dmItem.qrItem.SelectSQL.Add(´SELECT SUM(VALOR_TOTAL) FROM ITEM WHERE ITEM.CD_CABECALHO=´´ + RegistroAtual + ´´´);
dmItem.qrItem.Open;
DBEdit1.Text:=dmItem.qrItem.Fields[0].AsString;
end;
{dmItem é um DataModule em que está minha query qrItem}
Estou tentando somar o valor (VALOR_TOTAL) dos itens de uma tabela chamada ITEM e passar esta soma para dentro de um DBEdit chamado DBEdit1. Em seguida pretendo gravar este valor para dentro da tabela CABECALHO, como sendo a soma total dos itens. Imaginem uma nota fiscal, com seus itens e valor total. Pois bem, já está dando pau no início... Aqui estou tentando fazer a parte inicial... e me aparece a seguinte mensagem de erro:
‘qrItem: Field ‘CD_ITEM’ not found’
Substituindo o select do exemplo abaixo por um (‘SELECT * FROM ITEM’) o erro não ocorre.
Vejam o código:
procedure TfrmCabecalho.DBEdit1Enter(Sender: TObject);
var
RegistroAtual:String;
begin
RegistroAtual:=´´;
RegistroAtual:=frmCabecalho.DBE_Codigo.Text; {Variável RegistroAtual assume o valor do código do cabeçalho}
dmItem.qrItem.Close;
dmItem.qrItem.SelectSQL.Clear;
dmItem.qrItem.SelectSQL.Add(´SELECT SUM(VALOR_TOTAL) FROM ITEM WHERE ITEM.CD_CABECALHO=´´ + RegistroAtual + ´´´);
dmItem.qrItem.Open;
DBEdit1.Text:=dmItem.qrItem.Fields[0].AsString;
end;
{dmItem é um DataModule em que está minha query qrItem}
Tomew
Curtir tópico
+ 0
Responder
Posts
05/05/2004
Kenji_rh
crie um campo calculated no dataset que vc quer este cálculo e no evento on calcfields coloque a operação que vc quer no campo que vc criou
Responder
Gostei + 0
05/05/2004
Kotho
não sei qual o componente vc está utilizando para acessar o banco (que também não sei qual é)... mas vamos lá, se vc estiver usando ClientDataSet, é só criar um campo novo do tipo Aggregate... se vc der uma pesquisada sobre isso vai achar muita coisa... é bem fácil...
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)