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

3 participantes

    [Resolvido]Data final menos a data inicial

    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4925
    Registrado : 20/04/2011

    [Resolvido]Data final menos a data inicial Empty [Resolvido]Data final menos a data inicial

    Mensagem  Silvio Qui 30 Jun - 13:24

    Prezados bom dia / boa tarde / boa noite.

    Preciso de uma grande ajuda, devido as sequelas da COVID, uma das partes afetada infelizmente, foi a minha memória e o caminhar.

    Não consigo mais me recordar de algumas rotinas simples e fáceis de fazer, algo que era rotineiro, tornou-se complicado.

    Mas não vamos nos queixar, tudo passa e logo ela está de volta !!!

    Preciso de uma rotina que me mostre os dias entre data final e data inicial  ( DF- DI ) apenas dias úteis.

    Quando abro o formulário em questão tenho um campo ( caixa de texto ) chamado DIAST ( dias total ), preciso que o resultado apareça nessa caixa de texto.

    Desde já meu obrigado a todos.


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7586
    Registrado : 15/03/2013

    [Resolvido]Data final menos a data inicial Empty Re: [Resolvido]Data final menos a data inicial

    Mensagem  Alvaro Teixeira Qui 30 Jun - 13:40

    Olá Silvio,

    Desejo as rápidas melhoras.
    Quanto à questão tem exemplos no fórum, mas veja este por exemplo:
    https://www.maximoaccess.com/t35665-resolvidocontar-dias-uteis-ajuda-simples

    Abraço
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4925
    Registrado : 20/04/2011

    [Resolvido]Data final menos a data inicial Empty Re: [Resolvido]Data final menos a data inicial

    Mensagem  Silvio Qui 30 Jun - 14:03

    Alvaro, muito obrigado.

    Já tinha visto o exemplo citado, mas não me atende.

    Vagamente, me recordo de uma rotina aqui mesmo, mas.....não consigo achar mais ela.   Talvez tenha sido excluída ou a memória aqui ainda esta com bug.

    Acréscimo....

    Tenho aqui uma rotina salva em Word, mas não consigo me recordar mais se é um módulo ou não !

    Código:
    Public Function DiasUteis(di As Date, df As Date) As Long
    'By JPaulo Ž Maximo Access
    'Total de Dias entre duas datas sem fins de semana
    Dim TotalDiasActuais As Long
    Dim TotalDiasTrab As Long
    Dim strIniciaContagem As Long


    DoCmd.Hourglass (-1)
    strIniciaContagem = 1
    TotalDiasActuais = (df - di) + 1

    Do
    If Weekday(di) = 7 Or Weekday(di) = 1 Then
    strIniciaContagem = strIniciaContagem + 1
    End If

    di = di + 1

    Loop Until di = df + 1

    TotalDiasTrab = TotalDiasActuais - strIniciaContagem
    DoCmd.Hourglass (0)
    DiasT = TotalDiasTrab
    DiasT = DiasT(di, df)
    Exit Function
    End Function


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Data final menos a data inicial Empty Re: [Resolvido]Data final menos a data inicial

    Mensagem  Alexandre Neves Qui 30 Jun - 16:27

    Boa noite Sílvio
    Desejo melhoras e que Deus te proteja
    Sobre a dúvida, coloque pequeno bd com dados para trabalhar


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


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4925
    Registrado : 20/04/2011

    [Resolvido]Data final menos a data inicial Empty Re: [Resolvido]Data final menos a data inicial

    Mensagem  Silvio Qui 30 Jun - 18:34

    Alexandre boa noite, grato pela tua mensagem.
    Não é fácil, ter que reaprender a caminhar entre outras coisas....mas a vida segue, logo isso tudo passa !
    Devagar e sem pressa, montei esse exemplo a ti.
    Vai abrir na tela de busca, entre com a data inicial e final...e escolha....banho e tosa.
    Ao abrir o formulário seguinte, em vermelho para destacar é onde eu preciso colocar os dias uteis.
    Desde já, meus sinceros agradecimentos a tua pessoa.
    Anexos
    [Resolvido]Data final menos a data inicial Attachmentforum.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (195 Kb) Baixado 2 vez(es)


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Data final menos a data inicial Empty Re: [Resolvido]Data final menos a data inicial

    Mensagem  Alexandre Neves Qui 30 Jun - 19:21

    1- Retire a origem da caixa de texto
    2 - Adaptei a função do Mestre JPaulo
    Código:
    Public Function DiasUteis(di As Date, df As Date) As Long
        'By JPaulo Ž Maximo Access
        'Total de Dias entre duas datas sem fins de semana
        'adaptado por Alexandre Neves para o Sílvio do fórum MaximoAccess)
        Dim TotalDiasActuais As Long
        Dim TotalDiasTrab As Long
        Dim strIniciaContagem As Long
       
       
        'DoCmd.Hourglass (-1)
        strIniciaContagem = 1
        TotalDiasActuais = (df - di) + 1
       
        Do
        If Weekday(di) = 7 Or Weekday(di) = 1 Then
        strIniciaContagem = strIniciaContagem + 1
        End If
       
        di = di + 1
       
        Loop Until di = df + 1
       
        TotalDiasTrab = TotalDiasActuais - strIniciaContagem
        'DoCmd.Hourglass (0)
        'DiasT = TotalDiasTrab
        'DiasT = DiasT(di, df)
        DiasUteis = TotalDiasActuais - strIniciaContagem
    End Function
    3- No acontecimento AoPintar do rodapé do formulário, coloque
    Código:
    Dim Rst As DAO.Recordset, di As Date
        Dim dt As Date
        Set Rst = RecordsetClone
        Rst.MoveFirst
        di = Rst("DataPagamento")
        Rst.MoveLast
        dt = Rst("DataPagamento")
        DiasT.Value = DiasUteis(di, dt)


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


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4925
    Registrado : 20/04/2011

    [Resolvido]Data final menos a data inicial Empty Re: [Resolvido]Data final menos a data inicial

    Mensagem  Silvio Seg 4 Jul - 7:47

    Bom dia / boa tarde / boa noite.

    Me desculpem a demora em responder.

    Alexandre, deu certo. Meu muito obrigado.

    Abraços a todos.


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."

      Data/hora atual: Seg 15 Ago - 11:05