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]Selecionar data mais recente entre campos

    avatar
    luccezar
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11
    Registrado : 18/12/2013

    [Resolvido]Selecionar data mais recente entre campos Empty [Resolvido]Selecionar data mais recente entre campos

    Mensagem  luccezar 13/6/2022, 19:17

    Olá pessoal,
    Estou precisando de grande ajuda dos srs.

    Tenho um banco de dados, onde numa consulta preciso de um campo que selecione a data mais recente entre os campos Data_Fim_Vigência e Dt_Vigência, porém esse último pode acontecer de não possui data (nulo) na tabela PPC_Termo_Aditivo_TAs.

    Preciso que no formulário, a coluna Novo_Fim_Vigência_TA: retorne o número de dias vencidos ou a vencer conforme as datas selecionadas na consulta, prevalecendo sempre a mais recente.

    Obrigado a todos!

    Grande abraço!
    Anexos
    [Resolvido]Selecionar data mais recente entre campos Attachmentaccess_22.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (118 Kb) Baixado 6 vez(es)
    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3892
    Registrado : 21/04/2011

    [Resolvido]Selecionar data mais recente entre campos Empty Re: [Resolvido]Selecionar data mais recente entre campos

    Mensagem  Marcelo David 14/6/2022, 12:11

    Bom dia e bem vindo ao Fórum!
    No caso do campo Dt_Vigência, nulo, qual o procedimento a se tomar?


    .................................................................................
    Aprenda como criar formulário desacoplado.
    Conheça meu canal no Youtube e se inscreva.
    [Resolvido]Selecionar data mais recente entre campos Marcel11
    avatar
    luccezar
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11
    Registrado : 18/12/2013

    [Resolvido]Selecionar data mais recente entre campos Empty Re: [Resolvido]Selecionar data mais recente entre campos

    Mensagem  luccezar 14/6/2022, 12:33

    Olá, bom dia!

    Como num mesmo processo pode haver vários Termos Aditivos, que são lançados para cada item da Tabela PPC, nem sempre esse campo Dt_Vigência vai possuir uma data, ou seja, vai ficar em branco (null);

    Até tentei criar um novo campo na consulta, mas dá erro:
    Vigência_Final: fncFimVigencia(Nz([Data_Fim_Vigência];0);Nz([Dt_Vigência];0))

    Pode notar no exemplo que Tempo2: Último(Abs(DifData("d";[Dt_Vigência];Data())) & SeImed(DifData("d";[Dt_Vigência];Data())<=0;" dias p/ vencer";" dias vencidos")), não calcula o tempo, pois falta datas em dois lançamentos nos termos aditivos... ele não está buscando apenas a data lançada.

    Não sei se fui claro...

    Desde já, agradeço a sua manifestação! Obrigado!
    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3892
    Registrado : 21/04/2011

    [Resolvido]Selecionar data mais recente entre campos Empty Re: [Resolvido]Selecionar data mais recente entre campos

    Mensagem  Marcelo David 14/6/2022, 14:46

    Em um módulo:

    Código:
    'Por Marcelo R. David
    '14/06/2022
    'Função para realizar o cálculo em dias dias entre duas datas
    'Retorna uma string
    Public Function FncCalculaDias(Data_Fim_Vigencia As Date, Dt_Vigencia As Date) As String
        Dim iD As Integer
       
        On Error Resume Next
       
        If Dt_Vigencia > #1/1/1900# Then
            If Data_Fim_Vigencia <= Dt_Vigencia Then
                iD = DateDiff("d", Dt_Vigencia, Date)
            Else
                iD = DateDiff("d", Data_Fim_Vigencia, Date)
            End If
        Else
            iD = DateDiff("d", Data_Fim_Vigencia, Date)
        End If
       
        Select Case iD
        Case Is < 0
            FncCalculaDias = Abs(iD) & " dias para vencer"
        Case Is = 0
            FncCalculaDias = "Vence hoje"
        Case Is > 0
            FncCalculaDias = Abs(iD) & " dias vencidos"
        End Select
       
    End Function

    Agora basta chamar a função na SQL, passando os parâmetros de datas.

    Como no seu caso, em um campo da sql (designer):
    TempoX: FncCalculaDias([Data_Fim_Vigência];Nz([Dt_Vigência];#01/01/1900#))

    A função Nz é utilizada para avaliar se é nulo o campo Dt_Vigência, e se sim, passa a data 01/01/1900, assim nossa função irá entender
    que só será considerado para cálculo a data Data_Fim_Vigência.



    .................................................................................
    Aprenda como criar formulário desacoplado.
    Conheça meu canal no Youtube e se inscreva.
    [Resolvido]Selecionar data mais recente entre campos Marcel11
    avatar
    luccezar
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11
    Registrado : 18/12/2013

    [Resolvido]Selecionar data mais recente entre campos Empty Re: [Resolvido]Selecionar data mais recente entre campos

    Mensagem  luccezar 14/6/2022, 15:44

    Olá Marcelo!

    Tem como vc aplicar a solução no banco exemplo, que deixei anexado?

    Fico aguardo!
    Anexos
    [Resolvido]Selecionar data mais recente entre campos Attachmentaccess_22.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (118 Kb) Baixado 3 vez(es)
    avatar
    luccezar
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11
    Registrado : 18/12/2013

    [Resolvido]Selecionar data mais recente entre campos Empty Selecionar data mais recente entre campos

    Mensagem  luccezar 6/7/2022, 18:54

    Preciso da solução, será que mais alguém que possa me ajduar!

    Não consegui aplicar a solução indicada pelo colega.

    Ainda no aguardo...

    Rolling Eyes
    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3892
    Registrado : 21/04/2011

    [Resolvido]Selecionar data mais recente entre campos Empty Re: [Resolvido]Selecionar data mais recente entre campos

    Mensagem  Marcelo David 7/7/2022, 14:11

    Bom dia,
    Baixe e teste por favor.


    .................................................................................
    Aprenda como criar formulário desacoplado.
    Conheça meu canal no Youtube e se inscreva.
    [Resolvido]Selecionar data mais recente entre campos Marcel11
    avatar
    luccezar
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11
    Registrado : 18/12/2013

    [Resolvido]Selecionar data mais recente entre campos Empty Selecionar data mais recente entre campos

    Mensagem  luccezar 8/7/2022, 12:26

    Prezado, bom dia!

    Fico muito feliz pela força ofertada, porém quando abro o formulário principal, o fato de haver 3 aditivos para esse processo, ele consta triplicado na tela desse formulário, sendo que o objetivo é manter apenas uma linha mostrando a data mais recente do último aditivo e contando os demais dados.

    Ainda não ficou de acordo com o sonhado, desculpe!

    Abraços...
    avatar
    luccezar
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11
    Registrado : 18/12/2013

    [Resolvido]Selecionar data mais recente entre campos Empty Re: [Resolvido]Selecionar data mais recente entre campos

    Mensagem  luccezar 3/8/2022, 12:29

    Ainda no aguardo da solução! Rolling Eyes
    avatar
    luccezar
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11
    Registrado : 18/12/2013

    [Resolvido]Selecionar data mais recente entre campos Empty Re: [Resolvido]Selecionar data mais recente entre campos

    Mensagem  luccezar 16/8/2022, 17:34

    Prezados colegas!

    Consegui resolver a situação com alguns ajustes na consulta, criei mais um campo e apliquei a função "Máx" que usei pra fixar o último aditivo de prorroga de vigência...

    Obrigado à todos pela força! Valeu...

    Marcelo David gosta desta mensagem

    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3892
    Registrado : 21/04/2011

    [Resolvido]Selecionar data mais recente entre campos Empty Re: [Resolvido]Selecionar data mais recente entre campos

    Mensagem  Marcelo David 17/8/2022, 13:25

    Maravilha que deu certo! Gratos pelo retorno e compartilhamento da solução!


    .................................................................................
    Aprenda como criar formulário desacoplado.
    Conheça meu canal no Youtube e se inscreva.
    [Resolvido]Selecionar data mais recente entre campos Marcel11

    Conteúdo patrocinado


    [Resolvido]Selecionar data mais recente entre campos Empty Re: [Resolvido]Selecionar data mais recente entre campos

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/6/2024, 11:33