Fórum Código bloqueia operação de retirada #321023
09/05/2006
0
Olá Senhores(a), sou novo em Delphi 7, estou fazendo um sistema de controle de estoque para um hospital(grátis), tenho uma Procedure para retirar produto da tabela tabproduto(cod_produto, produto, qtde, un) o código para retirar o produto segue baixo, uso conexao ADO e Access. Como faço para quando o usuário for retirar um numero de produto superior ao que contem no estoque o sistema informar que não pode
procedure TFrmSaiProduto.sbConfirmaClick(Sender: TObject);
begin
DataModule1.ADOTabSaiProduto.Post;
DataModule1.ADOTabProduto.Edit;
DataModule1.ADOTabProdutoqtde.Value:=DataModule1.ADOTabProdutoqt de.Value-DataModule1.ADOTabSaiProdutoqtde.AsVariant;
DataModule1.ADOTabProduto.Post;
DataModule1.ADOTabSaiProduto.Close;
DataModule1.ADOTabSaiProduto.Open;
DBLookupComboBox2.SetFocus;
end;
procedure TFrmSaiProduto.sbConfirmaClick(Sender: TObject);
begin
DataModule1.ADOTabSaiProduto.Post;
DataModule1.ADOTabProduto.Edit;
DataModule1.ADOTabProdutoqtde.Value:=DataModule1.ADOTabProdutoqt de.Value-DataModule1.ADOTabSaiProdutoqtde.AsVariant;
DataModule1.ADOTabProduto.Post;
DataModule1.ADOTabSaiProduto.Close;
DataModule1.ADOTabSaiProduto.Open;
DBLookupComboBox2.SetFocus;
end;
Alvaro_web
Curtir tópico
+ 0
Responder
Posts
09/05/2006
Alvaro_web
Por favor, se alguem com mais esperiencia vir o código, olhe se está escrito certo? se não informe o erro, desde já muitíssimo obrigado
Responder
Gostei + 0
10/05/2006
Paullsoftware
Uma das maneiras é vc tratar o valor informado para saída na hora em que ele digitar o valor tipo:
Coloque um botão que vai localizar o produto pelo codigo informado e faça a localização do mesmo +/- assim:
Coloque um Edit1 e Faça esse código no OnChange do mesmo:
espero ter ajudado :wink:
var form1 : TForm1; StqAtual : Integer; //aqui defino um variavel que vai funcionar em todo formulário
Coloque um botão que vai localizar o produto pelo codigo informado e faça a localização do mesmo +/- assim:
StqAtual := 0; TabelaProduto.Locate(´Codigo´,TabelaSaidaCodProduto.AsString,[]);//Onde CodProduto o campo onde é lançado o código do produto que vai receber a saída. //Feito isso eu também já pego a quantidade em estoque atual e jogo em uma variável qualquer, definida de form global if TabelaProdutoEstoque.AsInteger <= 0 then begin ShowMessage(´Produto em baixa no estoque´); StqAtual := 0; Exit; end else begin StqAtual := TabelaProdutoEstoque.AsInteger;//aqui passo o valor atual do estoque para minha variavel end
Coloque um Edit1 e Faça esse código no OnChange do mesmo:
var QtdAtual,QtdSai: Integer; begin try if StrToInt(Edit1.Text)>0 then begin if StqAtual >= StrToInt(Edit1.Text) then begin //Código para tratar quando a quantidade informada for uma quantidade válida end else begin ShowMessage(´O valor informado é maior do que a quantidade Existente no estoque. Proceda a correção´); ShowMessage(´Estoque atual: ´+IntToStr(StqAtual)); Exit; end; end; Except on E: Exception do MessageDlg(´Valor informado não é uma valor válido ´+e.Message,MtError,[MbOk],0); end;
espero ter ajudado :wink:
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)