Controle de Estoque

Delphi

24/06/2004

Ola Pessoal!

Estou precisando de uma ajuda, o problema é o seguinte:

Estou desenvolvendo um sistema de controle de estoque, onde eu tenho 3 tabelas em Paradox são elas:

Operador:

CÓDIGO – (+) – (*)
NOME – (A) – (15)
FUNÇÃO – (A) – (11)

Estoque:

CÓDIGO – (A) – (15)
MATERIAL – (A) – (40)
QTDE - (N)
MÍNIMO – (N)
VALORUNIT – ($)
DATAENTRADA – (A) – (10)
EMESTOQUE – (N)

Cautela:

CÓDIGO – (+) – (*)
MATERIAL – (A) – (40)
QTDE – (N)
VALORUNIT – ($)
VALORTOTAL – ($)
DATA – (A) – (10)
NOME – (A) – (15)
POSTO – (A) – (20)
FUNÇÃO – (A) – (20)
CODIGOESTOQ – (N)

O form de Operador e Cadastro de Estoque estão funcionando perfeitamente, o problema surge quando eu tento fazer o de Cautela, porque o que eu queria é o seguinte:

Quando eu retirar um material da tabela de Estoque que foi cadastrado, este material diminua no estoque, e quando eu repor este mesmo material ele seja incluso mais sem aumentar o total que antes tinha, por exemplo: no estoque tem 40 discos e saiu 1, fincando apenas 39, após alguns dias este disco voltou e eu incluir ele novamente ao estoque retornando os 40 discos que antes tinha no estoque, sem que o total aumentasse para 41. No form tem um botão que faz o processo de confirmar a retirada do material, onde o usuário informa a quantia que vai sair. E automaticamente é feito a diminuição na tabela estoque.
Qual seria o comando que teria de incluir para que isso ocorra? Desde já agradeço a atenção


José Silva

José Silva

Curtidas 0

Respostas

Delphinhow

Delphinhow

24/06/2004

O que vc quer é justamente o q os triggers do interbase fazem. Eles executam uma ação a determina opereção em uma tabela. Ex.: quando vc altera, inclui ou exclui um registro vc pode automaticamente executar uma função em outra tabela e com a vantagem de vc poder fazer um rollback na operação toda, mas como vc usa paradox vamos la.
A tabela que vc esta alterando é a de cautela vc tem que manter a referencia entre as tabelas através de um campo do tipo codigo para vc saber qual registro vc vai alterar, ai então vc abre a tabela no mesmo codigo que a tabela de cautela e faz o seguinte:
supondo que o nome da tabela seja tabEstoque e do campo se qtde
fica mais ou menos assim tabEstoqueqtde.value := tabEstoqueqtde.value - 1;
espero que ajude.!!!


GOSTEI 0
POSTAR