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]Consulta não retorna resultados quando um dos lados não tem registro

    avatar
    a81796
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 23
    Registrado : 12/08/2014

    [Resolvido]Consulta não retorna resultados quando um dos lados não tem registro Empty [Resolvido]Consulta não retorna resultados quando um dos lados não tem registro

    Mensagem  a81796 Dom 02 Out 2016, 9:45 am

    Tenho um bd com duas tabelas:
    FLUXO_DE_CAIXA
    PLANO_DE_CONTAS

    Montei uma consulta usando a tabela FLUXO_DE_CAIXA, para somar os valores cujo campo tipo é "C" e chamei essa consulta de con_SOMA_CRÉDITOS e dei o nome ao campo que faz essa soma de CRÉDITOS

    Montei outra consulta, alterando apenas o "C" para "D" e dei o nome de con_SOMA_DÉBITOS e dei o nome do campo que faz a soma de DÉBITOS

    Montei outra consulta, chamada con_SALDO onde eu junto as consultas con_SOMA_CRÉDITOS e con_SOMA_DÉBITOS. Detalhe, não fiz nenhuma ligação entre as 2 tabelas. Nesta consulta eu criei um campo chamado SALDO, onde eu coloquei a expressão SALDO:[CRÉDITOS]-[DÉBITOS]

    Quando rodo a consulta con_SALDO ela funciona, mas desde que tenha pelo menos 1 lançamento tipo "C" E 1 lançamento tipo "D".

    Acho que este comportamento é normal, porém está me atrapalhando pois tenho um subform que fica embaixo do form onde faço os lançamentos do fluxo de caixa que é justamente o form que mostra o saldo.

    Mas eu gostaria que ele pudesse mostrar mesmo quando eu tiver 2 lançamentos de crédito e nenhum de débito, exemplo:

    DATA VALOR TIPO
    01/09/2016 100,00 C
    01/09/2016 100,00 C

    Meu subform deveria mostrar:

    Créditos : 200,00
    Débitos : 0,00
    Saldo : 200,00

    E o que está ocorrendo é que o subform nem sequer aparece, nessa situação. Só aparece quando tem pelo menos 1 lançamento em AMBOS os lados!.

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


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Consulta não retorna resultados quando um dos lados não tem registro Empty Re: [Resolvido]Consulta não retorna resultados quando um dos lados não tem registro

    Mensagem  Cláudio Más Dom 02 Out 2016, 11:58 pm

    Posta a instrução sql de uma das consultas.
    avatar
    a81796
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 23
    Registrado : 12/08/2014

    [Resolvido]Consulta não retorna resultados quando um dos lados não tem registro Empty Consulta não retorna resultados quando um dos lados não tem registro

    Mensagem  a81796 Seg 03 Out 2016, 7:23 am

    Aqui estão:

    Esta á a SQL da consulta con_SOMA_CRÉDITOS
    SELECT Sum(tbl_FLUXO_DE_CAIXA.VALOR) AS CRÉDITOS, tbl_PLANO_DE_CONTAS.TIPO_PC
    FROM tbl_PLANO_DE_CONTAS INNER JOIN tbl_FLUXO_DE_CAIXA ON tbl_PLANO_DE_CONTAS.CÓDIGO = tbl_FLUXO_DE_CAIXA.CÓDIGO
    WHERE (((tbl_FLUXO_DE_CAIXA.DATA_DO_LANÇAMENTO)<=Date()))
    GROUP BY tbl_PLANO_DE_CONTAS.TIPO_PC
    HAVING (((tbl_PLANO_DE_CONTAS.TIPO_PC)="C"));

    A consulta con_SOMA_DÉBITOS é a mesma coisa, só troco o tipo de C para D

    E esta é a SQL da consulta con_SALDO

    SELECT con_SOMA_CRÉDITOS.CRÉDITOS, con_SOMA_DÉBITOS.DÉBITOS, [CRÉDITOS]-[DÉBITOS] AS SALDO
    FROM con_SOMA_CRÉDITOS, con_SOMA_DÉBITOS;

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


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Consulta não retorna resultados quando um dos lados não tem registro Empty Re: [Resolvido]Consulta não retorna resultados quando um dos lados não tem registro

    Mensagem  Cláudio Más Seg 03 Out 2016, 11:45 am

    Pode ser resolvido com uma gambiarra, crie uma tabela com o campo "Total" e um único registro com valor zero.

    Sua consulta passa a ficar assim:

    SELECT Sum(tbl_FLUXO_DE_CAIXA.VALOR) AS CRÉDITOS, tbl_PLANO_DE_CONTAS.TIPO_PC
    FROM tbl_PLANO_DE_CONTAS INNER JOIN tbl_FLUXO_DE_CAIXA ON tbl_PLANO_DE_CONTAS.CÓDIGO = tbl_FLUXO_DE_CAIXA.CÓDIGO
    WHERE (((tbl_FLUXO_DE_CAIXA.DATA_DO_LANÇAMENTO)<=Date()))
    GROUP BY tbl_PLANO_DE_CONTAS.TIPO_PC
    HAVING (((tbl_PLANO_DE_CONTAS.TIPO_PC)="C"))

    UNION ALL SELECT Total AS CRÉDITOS, "C" AS TIPO_PC From NomeTabela;

    Deverá alterar também a outra consulta com esse mesmo método.
    avatar
    a81796
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 23
    Registrado : 12/08/2014

    [Resolvido]Consulta não retorna resultados quando um dos lados não tem registro Empty Re: [Resolvido]Consulta não retorna resultados quando um dos lados não tem registro

    Mensagem  a81796 Seg 03 Out 2016, 7:13 pm

    Funcionou direitinho.

    Depois vou ver que bruxaria foi essa.O importante é que resolveu!

    Conteúdo patrocinado


    [Resolvido]Consulta não retorna resultados quando um dos lados não tem registro Empty Re: [Resolvido]Consulta não retorna resultados quando um dos lados não tem registro

    Mensagem  Conteúdo patrocinado


      Data/hora atual: Qui 21 Nov 2024, 4:03 pm