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


2 participantes

    [Resolvido]Problema com consulta...

    avatar
    leandrowerneck
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 43
    Registrado : 07/08/2011

    [Resolvido]Problema com consulta... Empty Problema com consulta...

    Mensagem  leandrowerneck 10/9/2012, 17:45

    tenho a seguinte consulta:

    SELECT Sum(entrada_material.qntde_material) AS [TOTAL ENTRADA], Sum(saida_material.qntde_material_SAI) AS [TOTAL SAIDA], (Sum(entrada_material.qntde_material)-Sum(saida_material.qntde_material_SAI)) AS [QNTDE EM ESTOQUE], entrada_material.nome_material
    FROM entrada_material, saida_material
    GROUP BY entrada_material.nome_material;

    não sei se foi montada da melhor forma, mas quando a executo, o campo que esta vazio pega o valor do campo que contém dados.

    por exemplo:

    Se TOTAL ENTRADA for = 50, TOTAL SAIDA for = 20, na 1ª linha ela retorna o valor correto (30). Porém, se na proxima linha existe dados apenas em TOTAL DE ENTRADA, ela dá que o tatal de saida foi tbm 20... sendo que nem existe dados na tabela correspondente. O que ocorre?

    Grato!
    Leandro
    Leandro
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Problema com consulta... Empty Re: [Resolvido]Problema com consulta...

    Mensagem  Leandro 10/9/2012, 18:40

    Boa tarde Leandro,

    Se você puder postar o banco poderemos ajudar com mais precisão, ou tente:

    SELECT Sum(entrada_material.qntde_material) AS [TOTAL ENTRADA], Sum(saida_material.qntde_material_SAI) AS [TOTAL SAIDA], ([TOTAL ENTRADA])-([TOTAL SAIDA]) AS [QNTDE EM ESTOQUE], entrada_material.nome_material
    FROM entrada_material, saida_material
    GROUP BY entrada_material.nome_material;

    Coloque nos campos o critério ">0", assim não serão retornados campos com zero.


    avatar
    leandrowerneck
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 43
    Registrado : 07/08/2011

    [Resolvido]Problema com consulta... Empty Re: [Resolvido]Problema com consulta...

    Mensagem  leandrowerneck 10/9/2012, 23:11

    Bom, vejam que o item de nome "b" não tem saida e mesmo assim na consulta dá a mesma quantidade de saida do item "a".
    Anexos
    [Resolvido]Problema com consulta... Attachmentexemplo.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (176 Kb) Baixado 3 vez(es)
    Leandro
    Leandro
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Problema com consulta... Empty Re: [Resolvido]Problema com consulta...

    Mensagem  Leandro 11/9/2012, 00:44

    Xará, só faltava relacionar as tabelas, veja:


    SELECT entrada_material.nome_material, Sum(entrada_material.qntde_material) AS [TOTAL ENTRADA], Sum(saida_material.qntde_material) AS [TOTAL SAIDA], (Sum(entrada_material.qntde_material)-Sum(saida_material.qntde_material)) AS [QNTDE EM ESTOQUE]
    FROM entrada_material INNER JOIN saida_material ON entrada_material.Código = saida_material.Código
    GROUP BY entrada_material.nome_material;

    Copie e cole agora,

    Abraço

    avatar
    leandrowerneck
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 43
    Registrado : 07/08/2011

    [Resolvido]Problema com consulta... Empty Re: [Resolvido]Problema com consulta...

    Mensagem  leandrowerneck 11/9/2012, 13:49

    Xará, não deu certo. Agora quando dou saida em um material ele pega nome de um outro e qntde de saida de outro.

    Vou explicar melhor como gostaria que ficasse:

    Quando eu abrisse uma consulta (esta seria incrementada a um relatório)ele me daria a quantidade de todos os materiais que existem no estoque, ou seja, (TOTAL DE ENTRADA)- (TOTAL DE SAIDA)= (QNTDE EM ESTOQUE) de cada material.

    Problemas encontrados:

    se há entrada e não tem saída, não aparece nada na consulta;

    se há 2 materiais em entrada (A e B) com quantidades 10 e 20 respectivamente, e dou saida em 5 do material B, logo na consulta deveria ficar assim:



    MATERIAL TOTAL ENTRADA TOTAL SAIDA QNTDE ESTOQUE
    A
    10
    0
    10
    B
    20
    5
    15

    MAS FICA ASSIM:


    MATERIAL TOTAL ENTRADA TOTAL SAIDA QNTDE ESTOQUE
    A
    10
    5
    5
    B
    20
    5
    15

    Sendo que só houve saída em "B".

    No qual vc me passou já ficou de uma outra maneira onde o que teve saída pegou o nome de outro produto...

    Agora Fiquei perdidinho... (rsrs)


    Leandro
    Leandro
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Problema com consulta... Empty Re: [Resolvido]Problema com consulta...

    Mensagem  Leandro 11/9/2012, 14:18

    Leandro, copie e cole esse então:

    SELECT entrada_material.nome_material, Sum(entrada_material.qntde_material) AS [TOTAL ENTRADA], Sum(saida_material.qntde_material) AS [TOTAL SAIDA], (Sum(entrada_material.qntde_material)-Sum(saida_material.qntde_material)) AS [QNTDE EM ESTOQUE]
    FROM saida_material RIGHT JOIN entrada_material ON saida_material.Código = entrada_material.Código
    GROUP BY entrada_material.nome_material;

    Abraço

    avatar
    leandrowerneck
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 43
    Registrado : 07/08/2011

    [Resolvido]Problema com consulta... Empty Re: [Resolvido]Problema com consulta...

    Mensagem  leandrowerneck 11/9/2012, 16:11

    Quase! rs

    Até deu certo quando dei a 1ª saida de um unico material, sendo que ja existia outros materiais em entrada
    quando dei mais uma saida no mesmo item, ele dobrava o valor de entrada.

    Graças a seus exemplos pude enxergar onde estava errando... Creio que do modo onde estava fazendo não era o melhor ou talvez não dava certo. tive que criar uma consulta onde me dava o total de todos os materiais de entrada, uma nova para todos os de saida e mais uma para que ele fizesse a subtração dos dois (TOTAL ENTRADA - TOTAL SAIDA)

    Segue:

    CONSULTA TOTAL ENTRADA:

    SELECT entrada_material.nome_material, Sum(entrada_material.qntde_material) AS SomaDeqntde_material
    FROM entrada_material
    GROUP BY entrada_material.nome_material;




    CONSULTA TOTAL SAIDA:

    SELECT saida_material.nome_material, Sum(saida_material.qntde_material) AS SomaDeqntde_material
    FROM saida_material
    GROUP BY saida_material.nome_material;



    E CONSULTA PARA QUE DE O QUE HÁ EM ESTOQUE:

    SELECT total_entrada_material.SomaDeqntde_material, total_saida_material.SomaDeqntde_material, (total_entrada_material.SomaDeqntde_material-total_saida_material.SomaDeqntde_material) AS ESTOQUE, total_saida_material.nome_material
    FROM total_saida_material INNER JOIN total_entrada_material ON total_saida_material.nome_material = total_entrada_material.nome_material;



    Isso é o bom de poder compartilhar/ajudar as pessoas do forúm... Eu que me considero "não entender nada" acabei aprendendo um pouco mais graças a ajuda do Xará aí... Valeu mesmo Xará!!

    Farei mais testes para verificar se está ok, e se tudo der certo Postarei como exemplo de um controle de Estoque para Provedores de Internet e semelhantes.

    Mais uma vez Muitíssimo Obrigado Very Happy cheers lol!
    Leandro
    Leandro
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Problema com consulta... Empty Re: [Resolvido]Problema com consulta...

    Mensagem  Leandro 11/9/2012, 17:40

    Obrigado pelo retorno, Leandro, esse é o caminho, aprender criticamente. Wink


    Conteúdo patrocinado


    [Resolvido]Problema com consulta... Empty Re: [Resolvido]Problema com consulta...

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 19:36