Atualizar quantidade de produtos em uma tabela.

Delphi

27/05/2004

Ola, pessoal tenho uma tabela ´cadastro de produtos´ e nela os sequintes campos ´quant_adiquirida´, ´quant_retirado´ e ´Quant_restante´.
Gostaria de quando lançar um valor em quant_adiquirida este valor fosse somado com o que já esta no campo e mostrasse em quant_restante o valor já subtraindo quant_retirada.
Fiz assim:
DmBasedados.IBCad_AnticorpoQUANT_RESTANTE.Value:=Dmbasedados.IBCad_AnticorpoQUANT_ADIQUIRIDA.Value + Dmbasedados.IBCad_AnticorpoQUANT_ADIQUIRIDA.Value - Dmbasedados.IBCad_AnticorpoQUANT_RETIRADA.Value;

só que não deu certo, alguém pode me ajudar.
Obrigado.
Erivan Marinho.


Peninha

Peninha

Curtidas 0

Respostas

Nelson_prog

Nelson_prog

27/05/2004

Olá peninha,

Gostaria e saber para te ajudar, qual a função de cada campo da tabela de produtos, pois o normal e vc ter apenas a qtde do produto. No qual toda vez que vc adquirir produto ele acrescenta a quantidade adquirida e quando vende produto o mesmo campo é decrementado...

Aguardo sua resposta.

Nelson


GOSTEI 0
Peninha

Peninha

27/05/2004

Nelson, é por ai mesmo, só que estes campos estão na mesma tabela.
Vc acha que teria que criar outras tabelas para que funcione corretamente.
Ex:
Tabela de entrada de produto e outra de baixa do produto? se sim, favor me dar alguma dica para que possa dar andamento ao meu programa.
Obrigado.
Erivan Marinho.


GOSTEI 0
Anderson_blumenau

Anderson_blumenau

27/05/2004

na verdade o que ele quis dizer foi o contrario, vc pode ter apenas o campo quantidade assim:

//o ja tenho + o tanto a ser inserido
quantidade := quantidade + valor inserido //soma o valor ao campo
ou //o q ja tenho - o tanto a ser retirado
quantidade := quantidade - valor decrementado//subtrai

assim o campo quantidade vai estar sempre atualizado

acho que eh isso

tbm to fazendo um programinha de estoque a gente pode trocar umas ideias pelo mns


GOSTEI 0
Aroldo Zanela

Aroldo Zanela

27/05/2004

Colega,

O ideal é ter o histórico de compras (entradas) e vendas (saídas) em tabelas separadas, pois permitem auditorias e rotinas de consistência adicional ao seu sistema, principalmente, para aplicações com bases desktop onde não se tem controle de transações, que não é o seu caso, pois pelo visto está utilizando IB ou FB.
Além disto, você pode fazer uso de triggers nas tabelas de histórico para atualizar a tabela de estoque, apesar que isto não é uma boa opção também com base nos conceitos de OO/n-tier. Então, simplificando, utilize tabelas específicas e crie classes de negócios para efetuar o controle do estoque.


GOSTEI 0
Nelson_prog

Nelson_prog

27/05/2004

Bom Erivan.

Um controle de estoque funciona mais ou menos assim:

Tabelas :


MARCAS{ID_MARCA, DESCRIÇÃO}

FORNECEDORES{ID_FORNECEDOR, NOME_FANTASIA, RAZAO_SOCIAL,
ENDERECO, ETC...

Produtos{ID_PRODUTO, DESCRIÇÃO, ID_MARCA, UNIDADE,
ID_FORNECEDOR, PRECO_AVISTA, PRECO_PRAZO,
PRECO_CUSTO, QTDE_ATUAL, QTDE_MINIMA, ETC...

COMPRAS{NOTA_FISCAL, DATA_COMPRA, ID_FORNECEDOR,
FORMA_PAGTO, CONDICAO_PAGTO, ETC...

ITENS_COMPRA(NOTA_FISCAL, ID_PRODUTO, QTDE, VR_UNITARIO}



OBS: QUANDO VC FIZER COMPRAS ATUALIZE A QTDE

{QTDE_ATUAL := QTDE_ATUAL + QTDE_COMPRADA}

NA TABELA DE PRODUTOS E SE FIZER VENDAS

{QTDE_ATUAL := QTDE_ATUAL - QTDE_COMPRADA}


Espero que isso possa te ajudar...

Nelson


GOSTEI 0
POSTAR