MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    Função MAX no SQL

    Compartilhe

    mncosta
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 6
    Registrado : 12/07/2012

    Função MAX no SQL

    Mensagem  mncosta em 20/7/2017, 20:35

    Boa tarde,

    Estou criando uma consulta que estava tudo ok até eu acrescentar a condição de MAX (campo de data), para me retornar a maior data de uma coluna.

    Segue SQL:
    SELECT PROCESSO.NU_PROCESSO, CARGAS.NO_AFRE, CARGAS.ST_DESPACHO, PROCESSO.NU_CNPJ, CARGAS.DT_FIM
    FROM PROCESSO
    INNER JOIN CARGAS ON PROCESSO.CO_PROCESSO = CARGAS.CO_PROCESSO
    WHERE (((PROCESSO.NU_CNPJ)=[Formulários]![Frm_Processo_Locadora]![nu_CNPJ])
    AND ((CARGAS.DT_FIM) Is Null)) OR (((CARGAS.DT_FIM)=Max(CARGAS.DT_FIM)));

    O campo data fim deve ser nulo, porém se preenchido, a consulta deve me retornar a maior data.

    Se eu tirar a parte: OR (((CARGAS.DT_FIM)=Max(CARGAS.DT_FIM))) tudo funciona!

    O que está errado?
    Obrigada desde já.

    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: Função MAX no SQL

    Mensagem  Alexandre Neves em 20/7/2017, 21:58

    Boa noite,
    Não indicou o que dá errado
    utilize
    SELECT PROCESSO.NU_PROCESSO, CARGAS.NO_AFRE, CARGAS.ST_DESPACHO, PROCESSO.NU_CNPJ, CARGAS.DT_FIM FROM PROCESSO INNER JOIN CARGAS ON PROCESSO.CO_PROCESSO = CARGAS.CO_PROCESSO WHERE WHERE (PROCESSO.NU_CNPJ=[Formulários]![Frm_Processo_Locadora]![nu_CNPJ] AND CARGAS.DT_FIM Is Null) OR CARGAS.DT_FIM=(SELECT Max(DT_FIM) FROM CARGAS);


    .................................................................................
    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

      Data/hora atual: 16/11/2018, 10:13