Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

vgp

consulta estoque

Recommended Posts

tem dum bd em acess com as seguintes tabelas - Produtos, ProdEntra, e ProdSai como o seguinte relacionamento:Produtos - 1 para 1 com ProdEntra e Produtos 1 para muitos com Prod Sai. O produto é cadastrado na tabela Produtos, e a quantidade que entra é inserida na tabela ProdEntra (uma única vez), quando o produto sai é registrado na tabela ProdSai ( varias saidas para o mesmo produto.O problema é o seguinte: não consigo gerar o estoque de cada produto, já tentei vários tipos de consultas, pesquisei em vários lugares e não consequi. Pois nem todo produto que entrou terá movimentação ( saida) se nao ocorreu a venda dele ainda, mas ele já tem quantidade em estoque. Enfim preciso da entrada ( da tabela ProdEntra) - saida (da tabela ProdSai), e caso a saida seja inexistente teria que informar a entrada.Agradeço soluções. Help urgente.Norberto

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz uma consulta relacionando o código do produto na tabela Produtos com o código em ProdEntra e o código na ProdEntra com o código em ProdSai, mas atenção, estes relacionamentos primeiramente devem exibir todos os registros de Produtos e os de ProdEntra somente quando existir. Da mesma forma o relacionamento entre ProdEntra e ProdSai, exibe todos os registro de ProdEntra e os de ProdSai somente quando existir. Se não souber como fazer isso, basta clicar duas vezes sobre a linha do relacionamento que sera exibia uma caixa com estas propriedades.Após feito isso insira os campos NomeProduto da tabela Produtos e no campo estoque faça o seguinte:(imagine que o campo com a entrada na tabela ProdEntra chame-se "QtdEntra" e o campo com a saida na tabela ProdSaida chama-se "QtdSaida")Estoque:(Nz([QtdEntra];0) - Nz([QtdSaida];0))A função Nz transforma valores nulos em Zero (0), sendo assim, se não houver saida o resultado será: QtdEntra - 0, e se não tiver nem entrada o resultado será: 0-0Tomara que eu consiga ajudar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz uma consulta relacionando o código do produto na tabela Produtos com o código em ProdEntra e o código na ProdEntra com o código em ProdSai, mas atenção, estes relacionamentos primeiramente devem exibir todos os registros de Produtos e os de ProdEntra somente quando existir. Da mesma forma o relacionamento entre ProdEntra e ProdSai, exibe todos os registro de ProdEntra e os de ProdSai somente quando existir. Se não souber como fazer isso, basta clicar duas vezes sobre a linha do relacionamento que sera exibia uma caixa com estas propriedades.

 

Após feito isso insira os campos NomeProduto da tabela Produtos e no campo estoque faça o seguinte:

(imagine que o campo com a entrada na tabela ProdEntra chame-se "QtdEntra" e o campo com a saida na tabela ProdSaida chama-se "QtdSaida")

 

Estoque:(Nz([QtdEntra];0) - Nz([QtdSaida];0))

 

A função Nz transforma valores nulos em Zero (0), sendo assim, se não houver saida o resultado será: QtdEntra - 0, e se não tiver nem entrada o resultado será: 0-0

 

Tomara que eu consiga ajudar.

 

A

 

Alex, não funcionou, ou não entendi direito, mas efetuei os relacionamentos como você descreveu e gerei uma consulta inserindo as tabelas: Produtos, ProdEntra, e ProdSai, na grade inseri os campos Produtos.Nome e Estoque:(Nz([QtdEntra];0) - Nz([QtdSaida];0)), quando tento gerar a consulta dá erro: A instrução SQL não pode ser executada pq. contém associações externas ambiguas

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Os relacionamentos foram feitos exatamente conforme eu descrevi? pois se não for assim.. não vai funcionar.devem ficar posicionadas as tabelas Produtos, ProdEntra e ProdSaida, nesta ordem, entre a tbl Produtos e ProdEntra deve haver o relacionamento, representado por uma seta que sai de Produtos e vai à ProdEntra. o mesmo deve ser feito entre a tbl ProdEntra e ProdEntra e ProdSaida, com uma seta saindo de ProdEntra e indo a ProdSaida.De qualquer modo.. fiz um exemplo que você pode baixar em: ://geocities.yahoo.com.br/alexrdossantos/software/estoque.zip

Compartilhar este post


Link para o post
Compartilhar em outros sites

Os relacionamentos foram feitos exatamente conforme eu descrevi? pois se não for assim.. não vai funcionar.devem ficar posicionadas as tabelas Produtos, ProdEntra e ProdSaida, nesta ordem, entre a tbl Produtos e ProdEntra deve haver o relacionamento, representado por uma seta que sai de Produtos e vai à ProdEntra. o mesmo deve ser feito entre a tbl ProdEntra e ProdEntra e ProdSaida, com uma seta saindo de ProdEntra e indo a ProdSaida.De qualquer modo.. fiz um exemplo que você pode baixar em: ://geocities.yahoo.com.br/alexrdossantos/software/estoque.zip

Alex,Antes de tudo quero agradecer a atenção q. tem me dispensado.Baixei seu exemplo, e testei, mas tem o seguinte - a tabela ProdSai poderá ter vários lançamentos de saida para um mesmo produto (CodProd), ( o produto entra só uma vez, mas a quantidade de entrada pode sair em vários lançamentos de saida), e quando inseri mais de uma saida para o mesmo produto aparece a consulta com erros, pois teria que inserir uma expressão, função, sei lá o que, que soma-se a quantidade de saida por cada produto e deduzi-se da quantidade que entrou desse produto.Não sei se esstou conseguindo ser entendido, mas se preferir posso te enviar um arquivo zip com o banco para seu e-mail.Agradeço a você antecipadamente :huh: :huh:

Compartilhar este post


Link para o post
Compartilhar em outros sites

http://forum.imasters.com.br/public/style_emoticons/default/clap.gif http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

 

Alex, te agradeço muito - FUNCIONOU PERFEITAMENTE.

e aprendi uma nova que ainda não sabia, que se pode editar o relacionamento direto na estrutura de consulta dando um duplo clique na linha de relacionamento.

 

Valeu mesmo - já tinha me batido um monte em cima disto.

 

VGP - (vgpconsultoria.pp@hotmail.com)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aprofundando esse seu exemplo,tem como fazer por exemplo pra pesquisar por mês ?ex: especificar uma data e ele mostrar o que foi dado a entrada e saida dessa mercadoria durante esse mês por exemplo, é possivel ?desde ja muito obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aprofundando esse seu exemplo,tem como fazer por exemplo pra pesquisar por mês ?ex: especificar uma data e ele mostrar o que foi dado a entrada e saida dessa mercadoria durante esse mês por exemplo, é possivel ?desde ja muito obrigado

Tiago, não sei se entendi a pergunta direito, e tb não testei, mas acho q. se inserir o campo data de entrada e o campo data de saida na consulta e definir em critério >#DMA# e <#DMA>, onde DMA é dia/mes/ano. acredito que irá funcionar.Embora acredite que existam mais inumeras maneiras de fazer e talvez bem melhor e mais facil.Espero ajudar, apesar de ser bem inciante no acess.Norberto

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.