MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Retornar valor 0 se consulta der vazio

    avatar
    werlewow
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 149
    Registrado : 09/10/2017

    [Resolvido]Retornar valor 0 se consulta der vazio Empty [Resolvido]Retornar valor 0 se consulta der vazio

    Mensagem  werlewow em 1/3/2018, 17:19

    Boa tarde
    Possuo uma consulta que me diz o total de pedidos desse mês. O problema é que logo na virada do mês, ate que feche o primeiro pedido, a soma "buga" pois a consulta da resultado vazio, ja que nao tem nenhum pedido ainda.. Preciso de algo que troque do vazio para 0, ai fique zerado o valor total de pedido.
    ja tentei o comando NZ, porem nao sei se fiz certo, mas nao deu.. Vou colar o SQL e o SQL com a expressão NZ, que também nao deu. Quem puder, me ensine passo a passo, pois estou aprendendo. Muito obrigado !!
    Sql original

    SELECT vw_fat_0000.EMP, Sum(vw_fat_0000.TOTAL_PEDIDO) AS SomaDeTOTAL_PEDIDO
    FROM vw_fat_0000
    WHERE (((Year(Now()))=Year([data_emisao])) AND ((Month(Now()))=Month([data_emisao])) AND ((vw_fat_0000.DATA_EMISAO)<=Now()))
    GROUP BY vw_fat_0000.EMP
    HAVING (((vw_fat_0000.EMP)=1));

    SQL que tentei, sem sucesso

    SELECT vw_fat_0000.EMP,NZ( Sum(vw_fat_0000.TOTAL_PEDIDO),0) AS SomaDeTOTAL_PEDIDO
    FROM vw_fat_0000
    WHERE (((Year(Now()))=Year([data_emisao])) AND ((Month(Now()))=Month([data_emisao])) AND ((vw_fat_0000.DATA_EMISAO)<=Now()))
    GROUP BY vw_fat_0000.EMP
    HAVING (((vw_fat_0000.EMP)=1));

    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    [Resolvido]Retornar valor 0 se consulta der vazio Empty Re: [Resolvido]Retornar valor 0 se consulta der vazio

    Mensagem  Alexandre Neves em 1/3/2018, 20:04

    Boa noite,
    Tente
    SELECT EMP, Sum(TOTAL_PEDIDO)+0 AS SomaDeTOTAL_PEDIDO FROM vw_fat_0000 WHERE Year(Now())=Year([data_emisao]) AND (Month(Now())=Month([data_emisao]) AND DATA_EMISAO<=Now()) GROUP BY EMP HAVING EMP=1;


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    werlewow
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 149
    Registrado : 09/10/2017

    [Resolvido]Retornar valor 0 se consulta der vazio Empty Re: [Resolvido]Retornar valor 0 se consulta der vazio

    Mensagem  werlewow em 2/3/2018, 11:37

    Nao deu, a consulta funciona porém o erro persiste, se nao há valores, ele me da vazio e "buga "a consulta..
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3913
    Registrado : 14/08/2013

    [Resolvido]Retornar valor 0 se consulta der vazio Empty Re: [Resolvido]Retornar valor 0 se consulta der vazio

    Mensagem  FabioPaes em 2/3/2018, 12:52

    Experimente o NZ() No Campo. antes da Soma

    Sum(NZ(TOTAL_PEDIDO,0))


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    avatar
    werlewow
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 149
    Registrado : 09/10/2017

    [Resolvido]Retornar valor 0 se consulta der vazio Empty Re: [Resolvido]Retornar valor 0 se consulta der vazio

    Mensagem  werlewow em 2/3/2018, 18:15

    nao deu
    avatar
    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3633
    Registrado : 29/06/2012

    [Resolvido]Retornar valor 0 se consulta der vazio Empty Re: [Resolvido]Retornar valor 0 se consulta der vazio

    Mensagem  Noobezinho em 2/3/2018, 21:03

    Gabriel

    Coloque o NZ(NomeControle,0) que o Fabio disse, em todos os campos que tem os valores.

    Se fizer isso não precisará usar o nz() na soma do Total pedido.

    Se ainda não der, terá que definir o valor padrão desses campos na(s) tabela(s) = 0,

    que aliás, deve ser o correto quando se trata de campo numérico.



    [ ]'s
    Cláudio Más
    Cláudio Más
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1278
    Registrado : 21/01/2012

    [Resolvido]Retornar valor 0 se consulta der vazio Empty Re: [Resolvido]Retornar valor 0 se consulta der vazio

    Mensagem  Cláudio Más em 3/3/2018, 11:41

    Sem o banco de dados fica mais complicado, mas talvez funcione:

    SELECT EMP, Sum(TOTAL_PEDIDO) AS SomaTOTAL_PEDIDO
    FROM

    (SELECT EMP, Sum(TOTAL_PEDIDO) AS SomaDeTOTAL_PEDIDO FROM vw_fat_0000 WHERE Year(Now())=Year([data_emisao]) AND (Month(Now())=Month([data_emisao]) AND DATA_EMISAO<=Now()) AND EMP=1
    GROUP BY EMP
    UNION ALL EMP, 0 AS SomaDeTOTAL_PEDIDO FROM vw_fat_0000) a

    GROUP BY a.EMP
    scandinavo
    scandinavo
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

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

    [Resolvido]Retornar valor 0 se consulta der vazio Empty Re: [Resolvido]Retornar valor 0 se consulta der vazio

    Mensagem  scandinavo em 4/3/2018, 16:43

    Opiniao
    Se essa consulta estiver no vba use o if
    Se for vaziu cai fora
    De não
    Sua consulta
    avatar
    werlewow
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 149
    Registrado : 09/10/2017

    [Resolvido]Retornar valor 0 se consulta der vazio Empty Re: [Resolvido]Retornar valor 0 se consulta der vazio

    Mensagem  werlewow em 5/3/2018, 11:59

    Noobezinho, Não entendi muito bem onde é para colocar o NZ.. Também nao tem como deixar padrão igual a 0, pelo menos eu acho que nao tem, pois o valor é nulo quando nao há pedidos, ou seja, nao tem nem linhas na tabela.

    Cláudio Más tentei e nao deu..

    scandinavo Nao entendi.

    Obrigado a todos, estou colocando o BD aqui, Perceba que tem a tb_pedidos, nela encontram-se todos os pedidos da empresa. Ai tenho uma consulta que filtra só os pedidos do mes em que estamos. E por ultimo uma consulta que soma o valor dos pedidos desse mes em que estamos, é nessa consulta que estou com problema. Para entender, abram a consulta, percebam que vai me dar o valor somado dos pedidos da tabela, agora se voces forem na tabela e excluirem os pedidos, percebam que a consulta me trás valor nenhum, nulo, e queria que me desse o valor "0".

    Muito obrigado até o momento.

    Segue link BD:
    https://www.dropbox.com/s/hwyasyut1tk5z7l/PROBLEMA%20NUMERO%20VAZIO.accdb?dl=0
    avatar
    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3633
    Registrado : 29/06/2012

    [Resolvido]Retornar valor 0 se consulta der vazio Empty Re: [Resolvido]Retornar valor 0 se consulta der vazio

    Mensagem  Noobezinho em 5/3/2018, 14:31

    Gabriel

    Eu executo a consulta vw_fat_mes_atvon, ela retorna o valor da soma dos 3 registros: 27139,41

    Apagando o valor de cada registros, retorna 0

    Não é isso que deseja?
    Cláudio Más
    Cláudio Más
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1278
    Registrado : 21/01/2012

    [Resolvido]Retornar valor 0 se consulta der vazio Empty Re: [Resolvido]Retornar valor 0 se consulta der vazio

    Mensagem  Cláudio Más em 5/3/2018, 16:30

    Só pra corrigir a minha mensagem anterior:

    SELECT EMP, Sum(SomaDeTOTAL_PEDIDO) AS SomaTOTAL_PEDIDO
    FROM

    (SELECT EMP, Sum(TOTAL_PEDIDO) AS SomaDeTOTAL_PEDIDO FROM vw_fat_0000 WHERE Year(Now())=Year([data_emisao]) AND (Month(Now())=Month([data_emisao]) AND DATA_EMISAO<=Now()) AND EMP=1 GROUP BY EMP
    UNION ALL
    SELECT EMP, 0 AS SomaDeTOTAL_PEDIDO FROM tb_pedidos) a

    GROUP BY a.EMP


    Última edição por Cláudio Más em 5/3/2018, 16:39, editado 1 vez(es) (Razão : Correção do UNION ALL)
    avatar
    werlewow
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 149
    Registrado : 09/10/2017

    [Resolvido]Retornar valor 0 se consulta der vazio Empty Re: [Resolvido]Retornar valor 0 se consulta der vazio

    Mensagem  werlewow em 5/3/2018, 16:36

    Noobezinho isso mesmo, mas para mim retorna vazio, e nao 0.. porque sera?


    Cláudio Más arrumei como vc mandou, mas nao deu certo, ficou bem diferente, ele me tras os dois resultados (soma das 2 empresas)
    Cláudio Más
    Cláudio Más
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1278
    Registrado : 21/01/2012

    [Resolvido]Retornar valor 0 se consulta der vazio Empty Re: [Resolvido]Retornar valor 0 se consulta der vazio

    Mensagem  Cláudio Más em 5/3/2018, 16:42

    Vê se acontece o mesmo problema no bd em anexo, na "Consulta1".
    Anexos
    [Resolvido]Retornar valor 0 se consulta der vazio AttachmentPROBLEMA NUMERO VAZIO.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (1.2 Mb) Baixado 12 vez(es)
    avatar
    werlewow
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 149
    Registrado : 09/10/2017

    [Resolvido]Retornar valor 0 se consulta der vazio Empty Re: [Resolvido]Retornar valor 0 se consulta der vazio

    Mensagem  werlewow em 5/3/2018, 17:09

    Nao, agora deu certo, me retornou "0".
    Porem nao entendi o que voce fez, surgiu uma tabela "a".. como faço para adaptar?
    Até porque no SQL vc selecionou EMP = 1 porém o resultado "0" foi da empresa 2.. nao entendi

    Obrigado
    Cláudio Más
    Cláudio Más
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1278
    Registrado : 21/01/2012

    [Resolvido]Retornar valor 0 se consulta der vazio Empty Re: [Resolvido]Retornar valor 0 se consulta der vazio

    Mensagem  Cláudio Más em 5/3/2018, 22:58

    No SQL selecionei EMP = 1 da mesma forma como a sua instrução na primeira mensagem.

    Incluí apenas uma linha de teste com EMP = 2 para demonstrar que apresentaria valor zero mesmo sem registros para esse EMP.

    "a" não é uma tabela, e sim uma instrução SELECT que pode ser vista na SQL da "Consulta1"

    Para adaptar, é só alterar a instrução SQL conforme a sua necessidade, depende de como estiver estruturado o seu sistema.
    Só o que sabemos a respeito é o banco de dados que vc enviou, com uma tabela e uma consulta.
    Não dá pra opinar muito com tão pouca informação.
    avatar
    werlewow
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 149
    Registrado : 09/10/2017

    [Resolvido]Retornar valor 0 se consulta der vazio Empty Re: [Resolvido]Retornar valor 0 se consulta der vazio

    Mensagem  werlewow em 6/3/2018, 18:29

    Deu certoooo, muito obrigado! Desculpem a demora, estou aprendendo sozinho SQL e VBA entao nao manjo muito :p

    Caso resolvido !
    avatar
    werlewow
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 149
    Registrado : 09/10/2017

    [Resolvido]Retornar valor 0 se consulta der vazio Empty Re: [Resolvido]Retornar valor 0 se consulta der vazio

    Mensagem  werlewow em 6/3/2018, 18:30

    Esqueci de por resolvido..

      Data/hora atual: 26/10/2020, 18:56