MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


5 participantes

    [Resolvido]Consulta de saldos de stock

    avatar
    França
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 337
    Registrado : 22/08/2011

    [Resolvido]Consulta de saldos de stock Empty Consulta união

    Mensagem  França Sáb 30 Jun 2012, 08:44

    Bom dia

    Necessito montar uma consulta união para apurar o saldo de estoques. Possuo duas consultas: uma de Entrada de mercadorias e outra de Saída. Na consulta de Entrada, constam os campos: DataEntrada, CodInsumo e QuantidadeEntrada. Na consulta de Saída, constam os campos: DataSaida, CodInsumo e QuantidadeSaida.
    Como devo proceder?
    Leandro
    Leandro
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1601
    Registrado : 12/11/2009

    [Resolvido]Consulta de saldos de stock Empty Re: [Resolvido]Consulta de saldos de stock

    Mensagem  Leandro Sáb 30 Jun 2012, 09:11

    Como exemplo vou te passar essa idéia:
    A consulta união quando separada por partes é na verdade duas consultas Select, ou seja:

    SELECT TabTeste.Ordem, TabTeste.Campo1, TabTeste.Campo2
    FROM TabTeste;

    A união fica assim, para seu exemplo:


    SELECT ConsEntrada.DataEntrada, ConsEntrada.CodInsumo, ConsEntrada.QuantidadeEntrada
    FROM ConsEntrada;

    UNION SELECT ConsSaida.DataSaida, ConsSaida.CodInsumo, ConsSaida.QuantidadeSaida
    FROM ConsSaida;


    Até...




    avatar
    França
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 337
    Registrado : 22/08/2011

    [Resolvido]Consulta de saldos de stock Empty Consulta união

    Mensagem  França Sáb 30 Jun 2012, 10:30

    Bom dia Leandro

    Agradeço a atenção, mas não alcançou o resultado esperado.
    Na mesma data ocorreu a Entrada de um produto e a Saida de outro.
    Não sei como agir.

    França
    avatar
    Daluque
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 217
    Registrado : 06/03/2012

    [Resolvido]Consulta de saldos de stock Empty Re: [Resolvido]Consulta de saldos de stock

    Mensagem  Daluque Sáb 30 Jun 2012, 11:30

    Veja se isso ajuda.

    http://maximoaccess.forumeiros.com/t8379-controle-de-estoque

    até


    .................................................................................
    Daluque

    Office 2003
    Leandro
    Leandro
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1601
    Registrado : 12/11/2009

    [Resolvido]Consulta de saldos de stock Empty Re: [Resolvido]Consulta de saldos de stock

    Mensagem  Leandro Sáb 30 Jun 2012, 11:46

    Assim ajudou bastante, a consulta união ficou assim foi salva com o nome "Consulta1" certo?:

    SELECT SaiProdutos.CodProd, CadProdutos.NomeProd, Sum([SaiProd]*-1) AS SaidaN
    FROM CadProdutos RIGHT JOIN SaiProdutos ON CadProdutos.CodProd = SaiProdutos.CodProd
    GROUP BY SaiProdutos.CodProd, CadProdutos.NomeProd;

    UNION SELECT EntProdutos.CodProd, CadProdutos.NomeProd, Sum(EntProdutos.EntProd) AS SomaDeEntProd
    FROM CadProdutos RIGHT JOIN EntProdutos ON CadProdutos.CodProd = EntProdutos.CodProd
    GROUP BY EntProdutos.CodProd, CadProdutos.NomeProd;


    E a consulta para calcular o estoque ficou assim:


    SELECT Consulta1.CodProd, Consulta1.NomeProd, Sum(Consulta1.SaidaN) AS SomaDeSaidaN
    FROM Consulta1
    GROUP BY Consulta1.CodProd, Consulta1.NomeProd;

    avatar
    Daluque
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 217
    Registrado : 06/03/2012

    [Resolvido]Consulta de saldos de stock Empty Re: [Resolvido]Consulta de saldos de stock

    Mensagem  Daluque Sáb 30 Jun 2012, 18:59

    Se resolveu, acho que seria bom colocar o [RESOLVIDO].

    abraços


    .................................................................................
    Daluque

    Office 2003
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]Consulta de saldos de stock Empty Re: [Resolvido]Consulta de saldos de stock

    Mensagem  Alexandre Neves Sáb 30 Jun 2012, 19:26

    Colocado [Resolvido]
    avatar
    França
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 337
    Registrado : 22/08/2011

    [Resolvido]Consulta de saldos de stock Empty consulta união

    Mensagem  França Dom 01 Jul 2012, 06:35

    Não resolveu ainda não.
    Tentei fazer como me aconselhaste mas não deu certo.
    Mistura Entradas com Saídas.
    Como proceder?
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]Consulta de saldos de stock Empty Re: [Resolvido]Consulta de saldos de stock

    Mensagem  Alexandre Neves Dom 01 Jul 2012, 07:55

    Não será consulta de união mas normal.
    Será assim
    SELECT ConsultaEntrada.CodInsumo, ConsultaEntrada.QuantidadeEntrada-ConsultaSaida.Quantidadesaida FROM ConsultaEntrada LEFT JOIN ConsultaSaida ON ConsultaEntrada.CodInsumo=ConsultaSaida.CodInsumo;
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3883
    Registrado : 04/04/2010

    [Resolvido]Consulta de saldos de stock Empty Re: [Resolvido]Consulta de saldos de stock

    Mensagem  Avelino Sampaio Dom 01 Jul 2012, 08:55

    Amigo França, o amigo DALUQUE já lhe ofereceu a solução de bandeja.

    O exemplo demonstra a criação de duas consultas. Uma para entrada e outra para saida. E uma terceira consulta (que esta na propriedade "fonte de registro" do formulário) que se utiliza das duas primeiras. Aonde está a dificuldade ???

    No aguardo
    Avelino Sampaio


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    avatar
    França
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 337
    Registrado : 22/08/2011

    [Resolvido]Consulta de saldos de stock Empty Consulta união

    Mensagem  França Dom 01 Jul 2012, 09:01

    Bom dia Daluque e Alexandre

    Agradeço muito teu auxílio.
    Gostaria que me desses uma pequena explicação desta consulta, pois não entendi e sou novato.
    Preciso entender.
    O que necessito é:
    Possuo duas consultas: uma de Entrada e outra de Saída. Ambas tem: Data, Código do produto e quantidade de entrada/saida.
    Preciso montar uma consulta que me forneça o saldo diário de cada produto.

    Grato

    França


    Última edição por França em Dom 01 Jul 2012, 11:17, editado 1 vez(es)
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]Consulta de saldos de stock Empty Re: [Resolvido]Consulta de saldos de stock

    Mensagem  Alexandre Neves Dom 01 Jul 2012, 10:16

    Quando pedir ajuda, tente explicar todos os pormenores e, no tópico, responda a todos os comentários que lhe forem feitos (esqueceu de responder ao Avelino)
    Veja se é isto que precisa:
    - tem ConsultaEntradas e ConsultaSaidas e precisa obter consulta de saldos diários
    utilize
    SELECT ConsultaEntrada.Data,ConsultaEntrada.CodInsumo, ConsultaEntrada.QuantidadeEntrada-ConsultaSaida.Quantidadesaida FROM ConsultaEntrada LEFT JOIN ConsultaSaida ON ConsultaEntrada.CodInsumo=ConsultaSaida.CodInsumo GROUP BY ConsultaEntrada.Data,ConsultaEntrada.CodInsumo;
    Leandro
    Leandro
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1601
    Registrado : 12/11/2009

    [Resolvido]Consulta de saldos de stock Empty Re: [Resolvido]Consulta de saldos de stock

    Mensagem  Leandro Dom 01 Jul 2012, 16:31

    Acho que todo o "rolo" começou por minha culpa, quando eu colei a resposta aqui eu quis dizer, mas não disse ao França que, primeiro ele criaria a consulta União, com isso:

    Assim ajudou bastante, a consulta união ficou assim foi salva com o nome "Consulta1" certo?:

    SELECT SaiProdutos.CodProd, CadProdutos.NomeProd, Sum([SaiProd]*-1) AS SaidaN
    FROM CadProdutos RIGHT JOIN SaiProdutos ON CadProdutos.CodProd = SaiProdutos.CodProd
    GROUP BY SaiProdutos.CodProd, CadProdutos.NomeProd;

    UNION SELECT EntProdutos.CodProd, CadProdutos.NomeProd, Sum(EntProdutos.EntProd) AS SomaDeEntProd
    FROM CadProdutos RIGHT JOIN EntProdutos ON CadProdutos.CodProd = EntProdutos.CodProd
    GROUP BY EntProdutos.CodProd, CadProdutos.NomeProd;


    Depois criaria outra que calcularia o estoque, uma segunda consulta.


    SELECT Consulta1.CodProd, Consulta1.NomeProd, Sum(Consulta1.SaidaN) AS SomaDeSaidaN
    FROM Consulta1
    GROUP BY Consulta1.CodProd, Consulta1.NomeProd;


    Eu sou dos menores em conhecimento aqui, minhas respostas nem sempre são as melhores mas uma coisa me tem incomodado por algumas ocasiões, alguns colaboradores na tentativa de ajudar entram no meio de uma resposta que está sendo desenvolvida, e que ao invés de corrigir o que está errado na resposta dada, simplesmente colocam sua resposta e deliberadamente ignoram quem esteve se dispondo a ajudar. Peço desculpas se ofendi alguém com o que escrevi, mas não retiro nenhuma palavra e se alguém ou algum moderador ou administrador achar que não sou mas merecedor de estar aqui pelo que escrevi, coloco minha inscrição nas mãos deles.


    avatar
    França
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 337
    Registrado : 22/08/2011

    [Resolvido]Consulta de saldos de stock Empty Consulta união

    Mensagem  França Dom 01 Jul 2012, 17:40

    Boa tarde Leandro

    Agradeço muito tua ajuda, mas pelo que não leves as coisas para este lado, afinal só tem um interesse: "Ajudar".
    Realmente achei estranha a mensagem anteriormente enviada, mas como estou tentando iniciar, fica difícil identificar falhas.
    Ainda estou tentando fazer, e vou acabar conseguindo.
    Um grande abraço e foi um prazer te conhecer.

    França
    avatar
    França
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 337
    Registrado : 22/08/2011

    [Resolvido]Consulta de saldos de stock Empty Consulta união

    Mensagem  França Seg 02 Jul 2012, 09:31

    Bom dia Alexandre

    Mais uma vez o meu muito obrigado. Quanto ao agradecimento ao Avelino, gostaria de dizer que o mesmo foi feito imediatamente ao auxilio prestado, mas como fiquei enredado com mensagens tuas e do Leandro, o fiz através de uma mensagem privada. De qualquer forma te agradeço pelo aviso.
    Tentei executar a consulta por ti indicada, mas não está dando certo. Vou relatar abaixo a mensagem que recebo:

    Voce tentou executar uma consulta que não inclui a expressão especificada:

    [center]'cEntradas.Quantidade-cSaidas.QuantPorProduto'[/cente
    r]

    como parte de uma função de agregação.
    Aguardo retorno.

    Abraços

    França
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]Consulta de saldos de stock Empty Re: [Resolvido]Consulta de saldos de stock

    Mensagem  Alexandre Neves Seg 02 Jul 2012, 13:17

    Boa tarde, França
    Relativamente ao assunto passado, apenas referi para que não apareçam mal-entendidos no fórum.
    Não estará a utilizar a instrução que lhe indiquei. Indique a expressão toda da consulta
    avatar
    França
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 337
    Registrado : 22/08/2011

    [Resolvido]Consulta de saldos de stock Empty Consulta união

    Mensagem  França Seg 02 Jul 2012, 18:05


    Boa tarde Alexandre

    Entendi perfeitamente tua intenção e agradeço a maneira gentil que me tratas.
    Segue a expressão da consulta.

    SELECT cEntradas.Data, cEntradas.CodInsumo, cEntradas.Quantidade-cSaidas.QuantPorProduto
    FROM cEntradas LEFT JOIN cSaidas ON cEntradas.CodInsumo=cSaidas.CodInsumo
    GROUP BY cEntradas.Data, cEntradas.CodInsumo;

    Um abraço

    ?França
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]Consulta de saldos de stock Empty Re: [Resolvido]Consulta de saldos de stock

    Mensagem  Alexandre Neves Seg 02 Jul 2012, 18:35

    Boa noite, França
    A expressão parece-me certa. Pois não é incluída nenhuma função de agregação que exija outros campos agrupados.
    Poderá acontecer que a exigência venha de alguma das consultas de origem.
    Indique quais as tabelas e campos de entrada e saída
    Abraço,
    avatar
    França
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 337
    Registrado : 22/08/2011

    [Resolvido]Consulta de saldos de stock Empty Consulta união

    Mensagem  França Seg 02 Jul 2012, 21:19

    Boa noite Alexandre

    Agradeço a paciência e boa vontade. Gostaria que soubesses que isto é muito importante para mim.
    Para facilitar o andamento, coloquei o BD no dropbox. Só peço que não repares.
    Se te dispuseres, gostaria que desses uma olhada geral e me sugiras melhoras.


    http://dl.dropbox.com/u/52861189/RestauranteAlexandre.mdb

    Coloquei também esta planilha de Excel, onde consta o cálculo do Custo Médio de Estoque, que não consegui te explicar anteriormente. Também precisarei montar isto no BD.

    http://dl.dropbox.com/u/52861189/Custo%20M%C3%A9dio%20do%20Estoque.xls

    Se não quiseres, não haverá problemas, continuarei grato a ti.

    Abraços

    França
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]Consulta de saldos de stock Empty Re: [Resolvido]Consulta de saldos de stock

    Mensagem  Alexandre Neves Ter 03 Jul 2012, 14:19

    França,

    Para campo tipo data não o deve ter como texto!

    A consulta dos saldos será assim (confirme)

    SELECT Data, Codigo, QTC-QTV AS Saldo
    FROM (SELECT Data, CodInsumo AS Codigo, (SELECT IIf(Sum(Quantidade)>0,Sum(Quantidade),0) FROM Compras LEFT JOIN DetCompras ON Compras.CodCompra=DetCompras.CodCompras WHERE Data<=TC1.Data and CodInsumo=TC2.CodInsumo) AS QTC, (SELECT IIf(Sum(Quantidade)>0,Sum(Quantidade),0) FROM Vendas LEFT JOIN DetVendas ON Vendas.CodVenda=DetVendas.CodVenda WHERE Data<=TC1.Data and CodProduto=TC2.CodInsumo) AS QTV
    FROM Compras AS TC1 LEFT JOIN DetCompras AS TC2 ON TC1.CodCompra=TC2.CodCompras
    GROUP BY Data, CodInsumo) AS [%$##@_Alias];

    Sobre o custo médio, nem tenho tempo de lhe pegar agora. veja se vai amassando a massa...
    avatar
    França
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 337
    Registrado : 22/08/2011

    [Resolvido]Consulta de saldos de stock Empty Consulta união

    Mensagem  França Ter 03 Jul 2012, 15:21

    Caro Alexandre

    Não tenho palavras.
    Ainda não entendi a consulta, mas vou fazer tudo que for possível.
    Meu muito obrigado.

    França
    avatar
    França
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 337
    Registrado : 22/08/2011

    [Resolvido]Consulta de saldos de stock Empty Consulta união

    Mensagem  França Ter 03 Jul 2012, 16:24

    Alexandre

    Desculpa, mas agora não consigo montar a relação com o nome dos produtos e o valor do estoque.

    Abraços

    frança
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]Consulta de saldos de stock Empty Re: [Resolvido]Consulta de saldos de stock

    Mensagem  Alexandre Neves Ter 03 Jul 2012, 18:07

    Veja agora

    SELECT Data, Codigo,Insumo, QTC-QTV AS Saldo
    FROM (SELECT Data, TC2.CodInsumo AS Codigo, Insumo, (SELECT IIf(Sum(Quantidade)>0,Sum(Quantidade),0) FROM Compras LEFT JOIN DetCompras ON Compras.CodCompra=DetCompras.CodCompras WHERE Data<=TC1.Data and CodInsumo=TC2.CodInsumo) AS QTC, (SELECT IIf(Sum(Quantidade)>0,Sum(Quantidade),0) FROM Vendas LEFT JOIN DetVendas ON Vendas.CodVenda=DetVendas.CodVenda WHERE Data<=TC1.Data and CodProduto=TC2.CodInsumo) AS QTV
    FROM (Compras AS TC1 LEFT JOIN DetCompras AS TC2 ON TC1.CodCompra=TC2.CodCompras) LEFT JOIN Insumos ON TC2.CodInsumo=Insumos.CodInsumo
    GROUP BY Data, TC2.CodInsumo,Insumo) AS [%$##@_Alias];
    avatar
    França
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 337
    Registrado : 22/08/2011

    [Resolvido]Consulta de saldos de stock Empty Consulta união

    Mensagem  França Ter 03 Jul 2012, 18:18

    Caro Alexandre

    Não tenho palavras.
    Muito obrigado mesmo.

    França
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]Consulta de saldos de stock Empty Re: [Resolvido]Consulta de saldos de stock

    Mensagem  Alexandre Neves Ter 03 Jul 2012, 18:31

    França,

    Para marcar resolvido, prima o botão apropriado que se encontra na parte direita inferior do formulário
    Alterei o título para facilitar a procura.

    Conteúdo patrocinado


    [Resolvido]Consulta de saldos de stock Empty Re: [Resolvido]Consulta de saldos de stock

    Mensagem  Conteúdo patrocinado


      Data/hora atual: Dom 19 maio 2024, 12:24