Somando em Select e jogando em dbedit

03/04/2006

0

Pessoal, estou fazendo o seguinte:

[color=green]datamodule2.mat_vendas_soma.SelectSQL.Add(´select sum(valor_total) from mat_vendas where id_venda = :pvenda´)[/color]


O que acontece:
Tenho estas 2 tabelas, vendas e mat_vendas.
Eu preciso pegar o valor total dos itens da mat_vendas para jogar em um dbedit da tabela vendas.
mas não consigo, ele não funciona.
O que pode ser feito?
Valeu!


Ricieri

Ricieri

Responder

Posts

03/04/2006

Rjun

Coloque um trecho maior do seu código.


Responder

03/04/2006

Nasguone

Tente fazer uma procedure no proprio banco com parametro pegue esse parametro e jogue no dbedit


Responder

03/04/2006

Ricieri

begin
with datamodule2.valor_total_venda do
begin
Close;
ParamByName(´pvendamat´).AsInteger := datamodule2.vendas.FieldByName(´ID_Venda´).AsInteger;
Open;
datamodule2.valor_total_venda.close;;
datamodule2.valor_total_venda.sql.clear;
datamodule2.valor_total_venda.SQL.Add(´select sum(a.valor_total) as total from mat_vendas a where a.id_venda = :pvendamat´);
datamodule2.valor_total_venda.open;
dbedit3.text := datamodule2.valor_total_venda.fieldbyname(´total´).text;

end;


Responder

04/04/2006

Rjun

Jogue isso em um EDIT. Acho que não tem como você fazer isso pra um DBEDIT, já que ele é um controle consciente de dados.

Observações:

1. Passe o valor do parâmetro depois que você criar sua Query.
2. Se você está usando o WITH (que eu particulamente não uso), não precisa ficar repetindo o datamodule2.
3. Você pode por essa instrução SQL direto no seu componente TQuery em vez de ficar enfiado isso dentro do seu código.
4. Não fique deixando as querys abertas sem necessidade. Abra a query, faça o que tem q fazer, depois feche.

begin 
with datamodule2.valor_total_venda do 
begin 
  valor_total_venda.sql.clear; 
  valor_total_venda.SQL.Add(´select sum(a.valor_total) as total from mat_vendas a where a.id_venda = :pvendamat´); 
  valor_tota_venda.ParamByName(´pvendamat´).AsInteger :=   vendas.FieldByName(´ID_Venda´).AsInteger; 
  try
    valor_total_venda.Open; 
    Edit1.text := valor_total_venda.fieldbyname(´total´).text; 
  finally
    valor_total_venda.Close;
  end;
end;



Responder

04/04/2006

Ricieri

cara, funcionou!
valeu!


Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

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

Aceitar