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


4 participantes

    [Resolvido]Erro DifData

    avatar
    RodriguesChqao
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 118
    Registrado : 31/05/2016

    [Resolvido]Erro DifData Empty [Resolvido]Erro DifData

    Mensagem  RodriguesChqao 15/3/2017, 18:39

    Boa tarde senhores

    Recentemente obtive ajuda no forum sobre o cálculo de diferença de de datas em uma consulta.

    Eu fiz a adaptação das orientações e minha fórmula ficou assim:

    Dias Restantes: DifData("yyyy";Agora();[Dt_Validade]) & " Ano(s)
    ," & DifData("m";Agora();[Dt_Validade]) & " Meses,
    " & DifData("d";Agora();[Dt_Validade]) & " Dia(s)"

    Onde:

    Agora(), seria a data do sistema

    Dt_Validade, data final de validade do documento.


    A idéia é calcular a diferença em anos, meses e dias entre a data do sistema e a Dt_Validade.

    A fórmula funcionou inicialmente, mas ao término do trabalho observei que o cálculo está errado.

    Considerando a data do Sistema como sendo 15/03/2017 e Dt_Validade 30/09/2018 a consulta está retornando 1 Ano(s), 18 Meses, 564 Dias (s)

    No entanto o resultado correto seria 1 ano, 6 meses e 20 dias.

    Espero contar novamente com o forum para aprender a fazer a consulta de forma correta.

    Obrigado
    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1304
    Registrado : 05/02/2010

    [Resolvido]Erro DifData Empty Erro DifData

    Mensagem  good guy 15/3/2017, 19:16

    Olá Rodrigues,

    Posta o arquivo, por favor.
    Julio Lustosa
    Julio Lustosa
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 203
    Registrado : 23/02/2011

    [Resolvido]Erro DifData Empty Re: [Resolvido]Erro DifData

    Mensagem  Julio Lustosa 15/3/2017, 21:38

    Rodrigues, boa tarde!

    Na verdade o cálculo está certo, o que ele não está fazendo e retornando da forma como você deseja pq deve-se fazer mais algumas configurações na fórmula.

    Para calcular a diferença em anos, está correta, não vamos mexer, mas para calcular meses e dias sim.

    Meses: DifData("d";Mês(Agora());Mês([Dt_Validade]))
    Dias: DifData("d";Dia(Agora());Dia([Dt_Validade]))

    Vamos lá explicar o porque fiz assim. Você nota que para meses eu incluí a função Mês (Month), isso pq eu quero que ele calcule somente a diferença entre os meses dentro do mesmo ano, ou seja 2017. Pois o ano já foi calculado na primeira função (DifData("yyyy";Agora();[Dt_Validade])) que não mexemos. Mas para que ele me retorne o inteiro, temos que alterar também o "m" da função para "d". Como já estou extraindo o mês de cada data para calcular a diferença, a função entende então que é um cálculo entre dias. Se você deixar o "m", ele vai retornar zero (pode testar).

    Já para extrair somente os dias, coloco no lugar do Mês() a função Dia(), e mantenho o "d" na função. Assim ele vai calcular somente os dias do ano corrente (2017) e do mês corrente (março), sacou.

    Faça o teste e retorne com o resultado.

    Aguardamos.
    avatar
    RodriguesChqao
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 118
    Registrado : 31/05/2016

    [Resolvido]Erro DifData Empty Re: [Resolvido]Erro DifData

    Mensagem  RodriguesChqao 16/3/2017, 01:14

    Valeu Julio testei e funcionou direitinho. Obrigado
    avatar
    RodriguesChqao
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 118
    Registrado : 31/05/2016

    [Resolvido]Erro DifData Empty consulta retornando dia negativo

    Mensagem  RodriguesChqao 27/3/2017, 14:57

    Bom dia!

    Depois de inserir alguns dados no meu BD notei o seguinte erro com a consulta para calcular a diferença de datas.
    O estranho é que está acontecendo somente com alguns registros.

    Segue o problema:

    Dt_Validade = 2606/2017
    Dia de Hoje = 27/03/2017

    Fórmula para cálculo:
    Dias Restantes: DifData("yyyy";Agora();[Dt_Validade]) & " Ano(s)," & DifData("d";Mês(Agora());Mês([Dt_Validade])) & " Meses, " & DifData("d";Dia(Agora());Dia([Dt_Validade])) & " Dia(s)"

    O resultado deveria ser 0 ano(s), 3 meses e 1 Dia(s) e não 0 ano(s), 3 meses e -1 Dia(s)

    Onde está o erro.

    obrigado
    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1304
    Registrado : 05/02/2010

    [Resolvido]Erro DifData Empty Erro DifData

    Mensagem  good guy 7/4/2017, 16:36

    Olá Rodrigues,

    Utilize a função Abs.

    Código:

    Dias Restantes: DifData("yyyy";Agora();[Dt_Validade]) & " Ano(s)," & DifData("d";Mês(Agora());Mês([Dt_Validade])) & " Meses, " & DifData("d";Dia(Agora());Abs(Dia([Dt_Validade]))) & " Dia(s)"
    avatar
    RodriguesChqao
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 118
    Registrado : 31/05/2016

    [Resolvido]Erro DifData Empty Re: [Resolvido]Erro DifData

    Mensagem  RodriguesChqao 11/4/2017, 14:33

    Obrigado!
    avatar
    acg1574
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1
    Registrado : 25/04/2022

    [Resolvido]Erro DifData Empty difdata

    Mensagem  acg1574 25/4/2022, 19:20

    nao foi resolvido essa questao, quando estou com uma data do ano anterior nao funciona, por exemplo nascimento dia 13/09/2021 data atual 25/04/2022
    me traz resultado errado.

    Conteúdo patrocinado


    [Resolvido]Erro DifData Empty Re: [Resolvido]Erro DifData

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 06:20