Como somar os dados de uma tabela e jogar num Edit???
Ow, e aí blz?
Uso o Delphi 5 e gostaria de saber como faço para somar os dados de uma determinada coluna de uma tabela (paradox 7) e colocar o resultado em um Edit...
Detalhe a Tabela está num Form principal e o Edit em outro Form...
Estou tentando usar um código no FormCreate do Form secundario, tá certo o q estou fazendo???
Grato pela atenção e pela paciencia...
Uso o Delphi 5 e gostaria de saber como faço para somar os dados de uma determinada coluna de uma tabela (paradox 7) e colocar o resultado em um Edit...
Detalhe a Tabela está num Form principal e o Edit em outro Form...
Estou tentando usar um código no FormCreate do Form secundario, tá certo o q estou fazendo???
Grato pela atenção e pela paciencia...
Maluco Tubaina
Curtidas 0
Respostas
Agnaldo
09/12/2003
[quote:61512e0e49=´Maluco Tubaina´]Ow, e aí blz?
Uso o Delphi 5 e gostaria de saber como faço para somar os dados de uma determinada coluna de uma tabela (paradox 7) e colocar o resultado em um Edit...
Detalhe a Tabela está num Form principal e o Edit em outro Form...
Estou tentando usar um código no FormCreate do Form secundario, tá certo o q estou fazendo???
Grato pela atenção e pela paciencia...[/quote:61512e0e49]
Olá.
Vc pode fazer sim sem problemas.
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.ADD(´SELECT SUM(CAMPOASERSOMADO) AS TOTAL FROM NOMEDATABELA´);
Query1.SQL.ADD(´WHERE CONDICAO´);
Query1.Open;
Formulario.Edit.text := FloatToStr(Query1.FieldByname(´VALOR´).AsFloat);
Query1.Close;
Espero ter ajudado.
Uso o Delphi 5 e gostaria de saber como faço para somar os dados de uma determinada coluna de uma tabela (paradox 7) e colocar o resultado em um Edit...
Detalhe a Tabela está num Form principal e o Edit em outro Form...
Estou tentando usar um código no FormCreate do Form secundario, tá certo o q estou fazendo???
Grato pela atenção e pela paciencia...[/quote:61512e0e49]
Olá.
Vc pode fazer sim sem problemas.
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.ADD(´SELECT SUM(CAMPOASERSOMADO) AS TOTAL FROM NOMEDATABELA´);
Query1.SQL.ADD(´WHERE CONDICAO´);
Query1.Open;
Formulario.Edit.text := FloatToStr(Query1.FieldByname(´VALOR´).AsFloat);
Query1.Close;
Espero ter ajudado.
GOSTEI 0
Maluco Tubaina
09/12/2003
Ow, valeu pela dica...
mas o codigo que vc me passou é em SQL e não deu certo, o compilador não reconheceu o ´Query1´ como comando.
e, corrija-me se tiver errado, mas se for usar um código SQL precisarei usar um componente SQL, não é?
eu queria na verdade uma coisa bem simples, acho que com um ´while is not eof do´ deve dar certo, mas eu não sei direito a sintaxe do código pra poder fazer a leitura dos campos da tabela e exibir o resultado no Edit...
em todo caso obrigado pela ajuda inicial e espero que possa me ajudar novamente...
mas o codigo que vc me passou é em SQL e não deu certo, o compilador não reconheceu o ´Query1´ como comando.
e, corrija-me se tiver errado, mas se for usar um código SQL precisarei usar um componente SQL, não é?
eu queria na verdade uma coisa bem simples, acho que com um ´while is not eof do´ deve dar certo, mas eu não sei direito a sintaxe do código pra poder fazer a leitura dos campos da tabela e exibir o resultado no Edit...
em todo caso obrigado pela ajuda inicial e espero que possa me ajudar novamente...
GOSTEI 0
Gilson_our
09/12/2003
Se vc não quiser usar o componente TQuery para inserir uma string SQL, então uma possibilidade é o código abaixo ativado depois do evento OnCreate do form:
procedure Tform.FormCreate(Sender: TObject);
var soma: single;
begin
soma:=0;
form.tabela.DisableControls;
try
form.tabela.first;
while not form.tabela.eof do begin
soma:= soma + form.tabelaCAMPO.value;
form.tabela.next;
end;
finally
form.tabela.EnableControls;
edit1.text:=floattostr(soma);
end;
end;
procedure Tform.FormCreate(Sender: TObject);
var soma: single;
begin
soma:=0;
form.tabela.DisableControls;
try
form.tabela.first;
while not form.tabela.eof do begin
soma:= soma + form.tabelaCAMPO.value;
form.tabela.next;
end;
finally
form.tabela.EnableControls;
edit1.text:=floattostr(soma);
end;
end;
GOSTEI 0
Leonel_fraga
09/12/2003
Mas se usar o while not eof... o programa não fica mais lento e a probabilidade de dar pau é maior?
Mas tb isso vai depender da qtde. de registros da tabela né?
Mas tb isso vai depender da qtde. de registros da tabela né?
GOSTEI 0
Maicongabriel
09/12/2003
Mas se usar o while not eof... o programa não fica mais lento e a probabilidade de dar pau é maior?
Mas tb isso vai depender da qtde. de registros da tabela né?
Ficar lento fica, de qualquer forma, uma vez que se trabalha com Paradox(´banco de dados´ baseado em arquivo).
Dar Pau? Não necessariamente...
Mas é isso ai, quanto mais registros pior vai ser o desempenho!
GOSTEI 0
Delphox
09/12/2003
8) Cara usa o SQL mesmo!!!
fiz algo parecido com o seu e ficou simples...e bem mais amigavel no codigo...
Valeu!!!!!!!!
8)
fiz algo parecido com o seu e ficou simples...e bem mais amigavel no codigo...
Valeu!!!!!!!!
8)
GOSTEI 0
Fórum Vini
09/12/2003
[quote:a2a806e709=´Maluco Tubaina´]Ow, valeu pela dica...
mas o codigo que vc me passou é em SQL e não deu certo, o compilador não reconheceu o ´Query1´ como comando.
e, corrija-me se tiver errado, mas se for usar um código SQL precisarei usar um componente SQL, não é?
eu queria na verdade uma coisa bem simples, acho que com um ´while is not eof do´ deve dar certo, mas eu não sei direito a sintaxe do código pra poder fazer a leitura dos campos da tabela e exibir o resultado no Edit...
em todo caso obrigado pela ajuda inicial e espero que possa me ajudar novamente...[/quote:a2a806e709]
Sinceramente,
acho SQL bem mais simples que um while, além de ser bem mais rápido;
para que o código do agnaldo funcione, você deve colocar uma Query, que é justamente o ´componente SQL´ que você disse.
Você pode usar esse código, que é o que o agnaldo falou, com algumas alterações:
Espero ter ajudado.
Vinicius.
mas o codigo que vc me passou é em SQL e não deu certo, o compilador não reconheceu o ´Query1´ como comando.
e, corrija-me se tiver errado, mas se for usar um código SQL precisarei usar um componente SQL, não é?
eu queria na verdade uma coisa bem simples, acho que com um ´while is not eof do´ deve dar certo, mas eu não sei direito a sintaxe do código pra poder fazer a leitura dos campos da tabela e exibir o resultado no Edit...
em todo caso obrigado pela ajuda inicial e espero que possa me ajudar novamente...[/quote:a2a806e709]
Sinceramente,
acho SQL bem mais simples que um while, além de ser bem mais rápido;
para que o código do agnaldo funcione, você deve colocar uma Query, que é justamente o ´componente SQL´ que você disse.
Você pode usar esse código, que é o que o agnaldo falou, com algumas alterações:
Query1.SQL.Clear; Query1.SQL.ADD(´SELECT SUM(CAMPOASERSOMADO) AS TOTAL FROM NOMEDATABELA´); //retirei a condição. Query1.Open; Formulario.Edit.text := FloatToStr(Query1.FieldByname(´TOTAL´).AsFloat);//o nome do campo estava errado. Query1.Close;
Espero ter ajudado.
Vinicius.
GOSTEI 0