Código
begin
if edit1.Text <> '' then
begin
ADOQUERY1.Close;
ADOQUERY1.SQL.Clear;
ADOQUERY1.SQL.Add('select * from tbproduto');
ADOQUERY1.SQL.Add('Where descricao Like "'+ edit1.Text +'%"');
ADOQUERY1.SQL.Add('Order By descricao');
ADOQUERY1.Open;
end;
conforme vc digita a adoquery abre, mostra e mostra os produtos no dbgrid que estão na sua tbproduto
os outros produtos serão eliminados do dbgrid com a digitação deixando somente o produto
desejado e apontando para ele, e é ai que esta a manha, a adoquery aponta para o produto
e quando então toda altereção que acontecer sera com o produto que ela esta apontando,
mas o produto esta la na tabela de material.
O proximo codigo encherga o produto na adoquery e edita ele exatamente na adoquery, ja que esta
fica apontando direto para o produto que foi digitado no edit1, e se encontra na tabela de cadastro de produto
esse evento voce deve colocar em um botão de confirmação...
procedure Tfrmpedidomanut.BitBtn9Click(Sender: TObject);
var
Prod : Real;
Vend : Real;
total: real;
begin
if edit2.Text <> '' then //o edit 2 deve esta com a quantidade de entrada ou saida
begin
ADOQUERY1.Edit;
Vend := StrToFloat(edit2.Text);
Prod := StrToFloat(ADOQUERY1quantidade.Text);
ADOQUERY1quantidade.Text := FloatToStr(Prod+Vend); //esse é para somar no estoque(tbproduto), para diminuir troque o sinal de + para -
ADOQUERY1.Post;
ADOQUERY1.Refresh;
end
else
begin
showmessage('Indique a quantidade!');
edit2.SetFocus;
end;
end;
/nessas linhas é que acontece a magica de pegar a quantidade do produto que a query esta apontando e somar com quantidade
que foi digitada no edit2, lembre-se que a query esta apontando para o produto la na tbproduto, sendo assim
tudo que voce fizer nela e salvar sera feito no iten na sua tebela...
essa dica serve tabem para fazer uma consulta e ser usada para varias ideias é só viajar...
espero que ajude, se não entender é só postar duvidas que eu respondo... valewss
Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009