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]Obter data futura como base DataInicio + meses

    avatar
    JIR
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 139
    Registrado : 28/08/2016

    [Resolvido]Obter data futura como base DataInicio + meses Empty [Resolvido]Obter data futura como base DataInicio + meses

    Mensagem  JIR 4/7/2018, 12:09

    Olá, Bom Dia

    tenho este código para com base na DataInicio e DataFim calcular nº de messes

    mas pretendo alterar para o seguinte

    no form, lanço dados no campo DataInicio e no campo DuraMeses os meses que pretendo e o no campo DataFim aparecia a data calculada, mas com um pequeno pormenor, a data fim tem de ser sempre o último dia do mês

    ou seja 3 meses DataInicio 01-01-2018, a DataFim ficaria 31-03-2018
    mas se 3 meses DatInicio 05-01-2018, a DataFim ficaria 31-03-2018 e os 4 dias em falta passariam para o campo DiasFalta
    3 meses DatInicio 11-01-2018, a DataFim ficaria 31-03-2018 e os 10 dias em falta passariam para o campo DiasFalta


    Private Sub DuraMeses_Enter()
    On Error GoTo trataerro
       If (Not (DataFim = 0 And DataInicio = 0)) Then
            mes = DateDiff("m", DataInicio, DataFim)
            DuraMeses.Text = mes + 1
       Else
           DuraMeses.Text = 0
       End If
       Exit Sub
    trataerro:
    DuraMeses.Text = 0
    DataInicio.SetFocus
    End Sub


    Atentamente

    José Silva


    Última edição por JIR em 4/7/2018, 16:10, editado 1 vez(es)
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    [Resolvido]Obter data futura como base DataInicio + meses Empty Re: [Resolvido]Obter data futura como base DataInicio + meses

    Mensagem  JPaulo 4/7/2018, 13:51

    Olá;

    DataInicio 01-01-2018 mais 3 meses, a DataFim ficaria 31-03-2018  ???

    Mais 3 meses seria 30-04-2018, certo ?

    Mes 1 + 3 = 4

    Veja o que fiz em cima do joelho;

    Download

    Aproveite e veja no link da minha assinatura "102 Códigos VBA Gratuitos...", o "Datas no Access"


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Obter data futura como base DataInicio + meses Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Obter data futura como base DataInicio + meses Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Obter data futura como base DataInicio + meses Folder_announce_new Instruções SQL como utilizar...
    avatar
    JIR
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 139
    Registrado : 28/08/2016

    [Resolvido]Obter data futura como base DataInicio + meses Empty Re: [Resolvido]Obter data futura como base DataInicio + meses

    Mensagem  JIR 4/7/2018, 16:22

    Olá

    obrigado pela ajuda, e por perguntar novamente, o que eu realmente indiquei errado, pois não é mais 3 meses, mas sim 3 meses a contar da DataInicio.
    já corrigi o que tinha escrito erradamente

    portanto são 3 meses, ou 2 ou 1 a contar da datainicio

    o que fez conta mais um porque eu informei erradamente

    também não informei nem sei se é possível o seguinte raciocínio, caso coloque por exemplo 2,5 meses, o calculo correto seria, 2,5 meses inicio a 16-03-2018 a datafim seria 31-05-2018 e DiasFalta 1

    Atentamente

    José Silva
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    [Resolvido]Obter data futura como base DataInicio + meses Empty Re: [Resolvido]Obter data futura como base DataInicio + meses

    Mensagem  JPaulo 4/7/2018, 16:40

    Verifique por favor se os calculos estão de acordo com o pretendido;

    Download


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Obter data futura como base DataInicio + meses Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Obter data futura como base DataInicio + meses Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Obter data futura como base DataInicio + meses Folder_announce_new Instruções SQL como utilizar...
    avatar
    JIR
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 139
    Registrado : 28/08/2016

    [Resolvido]Obter data futura como base DataInicio + meses Empty Re: [Resolvido]Obter data futura como base DataInicio + meses

    Mensagem  JIR 4/7/2018, 17:15

    JPaulo,


    o calculo para numero inteiro funciona corretamente
    mas trabalhando com casa decimal certamente não vai ser possível
    se colocar 2,5 meses datainicio a 05-01-2018 a datafim aparece 31-03-2018 diasfalta 1, o que não corresponde

    ou ficaria 31-03-2018 e sobram 10 dias

    ou ficaria 28-02-2018 e faltam 18 dias, mas mesmo assim seria um calculo aproximado e não sei se é o mais correto pois os meses não tem nº de dias igual



    Muito Obrigado

    José Silva
    avatar
    JIR
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 139
    Registrado : 28/08/2016

    [Resolvido]Obter data futura como base DataInicio + meses Empty Re: [Resolvido]Obter data futura como base DataInicio + meses

    Mensagem  JIR 9/7/2018, 10:37

    Olá,

    de volta com este tema
    funciona perfeitamente em formulário Simples conforme elaborado por JPaulo
    em formulário contínuo, os dias em falta, ao atualizar o registo corrente altera também os restantes


    anexo exemplo para melhor entendimento



    José Silva
    Anexos
    [Resolvido]Obter data futura como base DataInicio + meses AttachmentDataFutura=nºmesesApartirDataIni.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (73 Kb) Baixado 14 vez(es)
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    [Resolvido]Obter data futura como base DataInicio + meses Empty Re: [Resolvido]Obter data futura como base DataInicio + meses

    Mensagem  JPaulo 9/7/2018, 14:50

    Ola;

    Num formulario continuo a coisa funciona diferente;

    Altere o nº de meses, bata Enter ou saía do campo e veja se o resultado é o esperado.

    Download


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Obter data futura como base DataInicio + meses Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Obter data futura como base DataInicio + meses Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Obter data futura como base DataInicio + meses Folder_announce_new Instruções SQL como utilizar...
    avatar
    JIR
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 139
    Registrado : 28/08/2016

    [Resolvido]Obter data futura como base DataInicio + meses Empty Re: [Resolvido]Obter data futura como base DataInicio + meses

    Mensagem  JIR 9/7/2018, 22:34

    Olá,

    fiz o teste e quando parecia estar tudo bem, os cálculos começam a dar errado

    até parece magia, a 1ª vez que alterei o nº de meses deu certo, depois fica baralhado e troca tudo

    anexo o exemplo com apenas 3 registos

    11225 data inicio a 25-01-2015 4 meses e 24 diasFalta,  datafim aparece 31-08-2015 (errado)
    11225 data inicio a 25-01-2015 8 meses e 24 diasFalta,  datafim aparece 31-08-2015 (correto)

    201038 data inicio a 01-07-2011 2 meses , não calcula

    acrescentando mais registos, também não calcula


    Atentamente

    José Silva
    Anexos
    [Resolvido]Obter data futura como base DataInicio + meses AttachmentDataFutura=nºmesesApartirDataIni_OLD_V2.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (86 Kb) Baixado 11 vez(es)
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    [Resolvido]Obter data futura como base DataInicio + meses Empty Re: [Resolvido]Obter data futura como base DataInicio + meses

    Mensagem  JPaulo 11/7/2018, 16:12

    Ola, desculpe só agora responder;

    Note que você tem dados duplicados sem qualquer index, o que faz com que seja uma má modelação de dados para se elaborar qualquer código VBA.
    No caso do NºOrd 11225, tem duas linhas iguais e ae é correto que o código se baralhe.

    Mas sem problema.
    Adicionei um index autonumber à tabela e veja que já funciona;

    Download


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Obter data futura como base DataInicio + meses Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Obter data futura como base DataInicio + meses Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Obter data futura como base DataInicio + meses Folder_announce_new Instruções SQL como utilizar...
    avatar
    JIR
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 139
    Registrado : 28/08/2016

    [Resolvido]Obter data futura como base DataInicio + meses Empty Re: [Resolvido]Obter data futura como base DataInicio + meses

    Mensagem  JIR 11/7/2018, 23:43

    Olá,

    muito obrigado, eu que lhe peço desculpa pelo incomodo

    se não for abuso, e para fechar este tópico, pode-me esclarecer minha curiosidade
    para que servem neste ou outros casos, e como fez para criar as tabelas MSysNavPaneGroups, já vi em vários exemplos.


    Atentamente

    José Silva
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    [Resolvido]Obter data futura como base DataInicio + meses Empty Re: [Resolvido]Obter data futura como base DataInicio + meses

    Mensagem  JPaulo 12/7/2018, 06:34

    Olá
    Todas as tabelas com o nome iniciado por Msys são tabelas de sistema, não se criam manualmente e também não são editáveis.


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Obter data futura como base DataInicio + meses Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Obter data futura como base DataInicio + meses Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Obter data futura como base DataInicio + meses Folder_announce_new Instruções SQL como utilizar...
    avatar
    JIR
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 139
    Registrado : 28/08/2016

    [Resolvido]Obter data futura como base DataInicio + meses Empty Re: [Resolvido]Obter data futura como base DataInicio + meses

    Mensagem  JIR 12/7/2018, 10:17

    Olá JPaulo,


    Muto obrigado


    Atentamente

    José Silva

    Conteúdo patrocinado


    [Resolvido]Obter data futura como base DataInicio + meses Empty Re: [Resolvido]Obter data futura como base DataInicio + meses

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 9/5/2024, 13:30