quinta-feira, 13 de agosto de 2009

Fazer um sistema de Controle de Estoque

Incluir, consultar, alterar ou descontar quantidade no estoque

Procedure Tfrmpedidomanut.Edit1Change(Sender: TObject);
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





procedure TFrmCad_Venda.EdtProdutoExit(Sender: TObject);
begin
If edtproduto.Text = '' then
begin
showmessage ('Digite o código do produto, ou pesquise pelo nome');
EdtProduto.SelectAll;
edtproduto.SetFocus;
exit;
end;
with dm.QryProduto do
begin
close;
sql.Clear;
sql.add ('SELECT * FROM PRODUTO WHERE COD_PRODUTO = ' + Edtproduto.text + ' ');
open;
if recordcount = 0 then
begin
showmessage ('Produto não cadastro');
EdtProduto.SelectAll;
edtproduto.SetFocus;
exit;
end;
end;
BtnInserir.Enabled := True;

Principal

Nenhum comentário:

📌 Tela de Splash, Tela de Login e Tela Principal em Delphi: Aprendendo na Prática

  No desenvolvimento de sistemas, a experiência do usuário começa muito antes de utilizar as principais funcionalidades do software. Elemen...