Estou tentando montar um sistema de Gerenciamento de Estoque. Esse Sistema além de controlar o estoque irá também controlar o endereço aonde eles serão armazenados.
Sou novo em Access, estou tendo problemas para dar entrada e saída do estoque. Já montei várias consultas e não estou obtendo êxito. Criei dois formulários com subformulários, 1 para dar entrada e outro para dar saída. Achei que tinha resolvido o problema mas me deparei com o seguinte problema.
Os cálculos não estão corretos. Se houver apenas um lançamento de entrada e saída ele coloca o valor correto. Se a dois lançamentos ele dobra.
Por exemplo:
Entrada de 100 unid de sapato = entra 100 no estoque
Saida de 50 unidades de sapato = sai 50 do estoque
Saida de 50 unidades de sapato = sai 100 unidades estoque.
A estrutura de consultas que criei para fazer o controle foi:
Consulta Estoque Entrada
SELECT [Detalhe Entrada Produtos].CodAccessProd, Produtos.[Descrição Produto], Sum(Nz([Detalhe Entrada Produtos].[Quantidade],0)) AS [Quantidade Unidade de Entrada], Sum(Nz([Detalhe Entrada Produtos].[Quantidade Caixa],0)) AS [Quantidade Caixa Entrada], Sum(Nz([Consulta Detalhe Entrada Produto].[Total Linha M³],0)) AS [Quantidade M³ de Entrada]
FROM (Produtos INNER JOIN [Detalhe Entrada Produtos] ON Produtos.CodAccessProd=[Detalhe Entrada Produtos].CodAccessProd) INNER JOIN [Consulta Detalhe Entrada Produto] ON Produtos.CodAccessProd=[Consulta Detalhe Entrada Produto].CodAccessProd
GROUP BY [Detalhe Entrada Produtos].CodAccessProd, Produtos.[Descrição Produto];
Consulta Estoque Saída
SELECT [Detalhe Saida Prod].CodAccessProd, Produtos.[Descrição Produto], Sum(Nz([Detalhe Saida Prod].Quantidade,0)) AS [Quantidade Unidade de Saída], Sum(Nz([Detalhe Saida Prod].[Quantidade Caixa],0)) AS [Quantidade Caixa Saída], Sum(Nz([Consulta Detalhe Saida Produto].[Total Linha M³],0)) AS [Quantidade M³ de Saída]
FROM (Produtos INNER JOIN [Consulta Detalhe Saida Produto] ON Produtos.CodAccessProd = [Consulta Detalhe Saida Produto].CodAccessProd) INNER JOIN [Detalhe Saida Prod] ON Produtos.CodAccessProd = [Detalhe Saida Prod].CodAccessProd
GROUP BY [Detalhe Saida Prod].CodAccessProd, Produtos.[Descrição Produto];
Consulta Estoque
SELECT Produtos.CodAccessProd AS CodAccessProd, Produtos.[Codigo Produto] AS [Codigo Produto], Produtos.[Descrição Produto] AS [Descrição Produto], Nz([Quantidade Unidade de Entrada],0) AS [Entrada Unidade], Nz([Quantidade Unidade de Saída],0) AS [Saída Unidade], [Entrada Unidade]-[Saída Unidade] AS [Estoque Unidade]
FROM (Produtos LEFT JOIN [Consulta Estoque Saida] ON Produtos.CodAccessProd=[Consulta Estoque Saida].CodAccessProd) LEFT JOIN [Consulta Estoque Entrada] ON Produtos.CodAccessProd=[Consulta Estoque Entrada].CodAccessProd;
Tudo parecia que ia bem até eu começar a fazer novos testes e perceber que os valores finais de estoque de entrada e saída estão errados. Parece que eles aparecem dobrados nas consultas Estoque Entrada e Estoque Saída.
Por favor preciso de ajuda.