Ir para conteúdo
Fórum Script Brasil
  • 0

Atualizar saldo produtos no estoque


Gil Kléber

Pergunta

Olá pessoal! Essa semana os probleminhas teimam em me acompanhar... vamos lá...

Tenho a tabela de produtos com os seguintes campos

tabProdutos

idProduto

nomeProduto

saldoProduto

EstMinProduto

tabPedidos

idPedido

dataPedido

valorPedido

...

tabPedidosDetalhes

idPedidoDetalhe

idPedido

idProtudo

qdtProduto

Bom... pra atualizar as tabelas tenho o formulário PEDIDOS que contem o subformulário DETALHESPEDIDOS que mostra a situação financeira do cliente, os registros de pagamentos em outro sub, enfim...

o que eu gostaria, era de:

SELECIONAR O PRODUTO na lista

e APENAS depois de clicar em CALCULAR, de algum jeito, ele atualizasse na tabela PRODUTOS, campo saldoProduto, subtraindo de acordo com a quantidade do pedido.

por exemplo (aqui tem uma foto da tela do sisteminha)

http://uploaddeimagens.com.br/imagem/ver/9Pedido.JPG

No pedido 98, fiz o pedido dos seguintes produtos:

idProduto 18, Nome: Mufla, Qdt: 19

idProduto 29, Nome: Cartucho Medio Trans, Qdt: 24

depois que cliquei em CALCULAR, ele vai até a tabela PRODUTOS, e tira 19 itens do produto MUFLA e tira 24 do CARTUCHO MEDIO. E de quantos ourtos produtos estiverem no pedido.

Será que é possivel???

Consegui colocar no evento DEPOIS DE ATUALIZAR do produto, deu certo, mas se por acaso, eu DESISTO de pedir aquele produto e peço o outro, PUMBA, já foi dado baixa... :(

alguém me ajuda??

Editado por Gil Kléber
Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

não se usa campo para armazenar resultado de operacoes como saldo.

você tem q ter uma tabela de produtos, uma de entrada de estoque e outra de saida.

o saldo é apenas um campo calculado de uma consulta cruzada que exibe o resultado de entrada - saida

valeu

Link para o comentário
Compartilhar em outros sites

  • 0

Bom dia Leandro. Agora eu fiquei em dúvida. Qual o melhor a ser feito? Não dar baixa na tabela de estoque e deixar o campo SALDO como um campo calculado de subtração de entrada e saída ou dar a baixa na tabela e usar a tela de confirmação?

No caso da tela de confirmação, o meu problema é que o botão CONFIRMAR estaria no formulário PEDIDOS e os ítens no subform DETALHES. Este, teria os campos idDetalhes, idProduto, nomeProduto, qtdProduto, valorUnitario, subTotal (qtd * valorUnitario). Dai como fazer pra, se tiver 15 produtos diferentes, o código atualizar na tabela os campos SALDO de todos os 15 de acordo com as quantidades?

Eu fiz um, mas tipo, ele atualiza TODOS com a mesma quantidade, por exemplo, se vendi:

5 muflas

14 cartuchos pequenos

4 sprays

quando clica em CONFIRMAR, ele atualiza na tabela os 3 itens como "5".

Como eu poderia fazer??

Abração!

Link para o comentário
Compartilhar em outros sites

  • 0

então...

a tabela so deve armazenar valores de entradas de dados.. não de calculos.

então, cada produto tem seu codigo que o torna individual.

logo, usa-se o codigo do produto como indice das tabelas de entrada e saida de estoque.

porque não se armazena resultado de calculos em tabelas??

simples, as chances destes campos não estarem atualizados é enorme. se houver um erro no programa em si, já pode comprometer o saldo.

quer saber o saldo? simples. rode uma consulta que te retorne o resultado do calculo entrada - saida por produto.

para isso é so você relacionar a tabela produtos com as tabelas entrada e saida ligando os campos codigo. impor integridade referencial tambem é um boa para você propagar alteracoes e exclusoes caso você altere o codigo do produto.

valeu

Editado por Humm
Link para o comentário
Compartilhar em outros sites

  • 0

Entendi. Vou fazer assim.

Agora tenho mais uma questão ainda sobre esse mesmo tópico.

Tenho uns ítens, que compôem o produto final. Por exemplo, cada cartucho vendido compreende:

- Tampa

- Rótulo

- Embalagem acrílico

- Sílica Gel

Cada PEDIDO que sai compreende:

1 - Caixa de Papelão

Então por exemplo, se o cliente pede 10 CARTUCHOS ROSA MÉDIO, preciso que ele dê baixa TAMBEM em: (os cartuchos tem varios tamanho e cores, na tabela produtos, os códigos compreendem de 1 a 26, então poderia existir uma verificação, todo cartucho vendido com idProduto entre 1 e 26 faz baixa de cada ítem relacionado encima. No entanto, cada pedido apenas 1 caixa de papelão)

10 - Tampas

10 - Rótulos

10 - Embalagens acrílico

10 - Sílicas Gel

e apenas 1 CAIXA DE PAPELÃO, porque vai tudo na mesma caixa. (algumas coisas poderiam ser informadas manualmente, como por exemplo se foi tudo em uma embalagem só ou não)

Mas por exemplo, se ele pede MUFLA, vai apenas uma CAIXA DE PAPELÃO

Spray - Apenas caixa tb

Cartucho TROCA - vai tudo MENOS a caixa ortodôntica.

Como eu poderia fazer essa verificação e dar baixa nesses itens?

Seria melhor eles ficarem na mesma tabela dos produtos ou em outra tabela?

Grande abraço..

(to fritando a cabeça aqui, mas não to saindo do lugar...)

Link para o comentário
Compartilhar em outros sites

  • 0

acredito que você deva criar uma outra tabela onde um produto = varios

na verdade essa tabela seria para cadastrar pacotes saca.

funciona assim:

tabela de pacotes

tabela de saida(pacotes)

ai a cada pacote cadastrado, você informa o conteudo puxando os produtos da tabela que você já tem.

sendo assim, ao dar saida em um pacote, ele na verdade da saida naquele conjunto de produtos.

da um pouco de trabalho mas da pra fazer.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...