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


5 participantes

    [Resolvido]Dias Uteis

    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4771
    Registrado : 06/11/2009

    [Resolvido]Dias Uteis Empty Dias Uteis

    Mensagem  Assis 14/9/2011, 18:12

    Boa tarde

    Tirei esta função aqui do forum e colei-a num Modulo .
    Mas não estou a conseguir chama-la no form num campo Chamado "NDiasUteis" aonde quero a informação.
    Alguem ajuda ?


    Public Function DiasUteis(DataInicio As Date, DATAFIM As Date) As Long
    'By JPaulo Ž Maximo Access
    'Total de Dias entre duas datas sem fins de semana
    Dim TotalDiasActuais As Long, TotalDiasTrab As Long
    Dim strIniciaContagem As Long


    DoCmd.Hourglass (-1)
    strIniciaContagem = -2
    TotalDiasActuais = (DATAFIM - DataInicio) + 1

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

    DataInicio = DataInicio + 1

    Loop Until DataInicio = DATAFIM + 1

    TotalDiasTrab = TotalDiasActuais - strIniciaContagem
    DoCmd.Hourglass (0)
    DiasUteis = TotalDiasTrab
    Exit Function
    End Function


    .................................................................................
    *** Só sei que nada sei ***
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Dias Uteis Empty Re: [Resolvido]Dias Uteis

    Mensagem  Alexandre Neves 14/9/2011, 20:16

    Boa noite, Assis
    pretende colocar o resultado da função na caixa de texto?
    NDiasUteis=DiasUteis(dataInicio,DataFim)
    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4771
    Registrado : 06/11/2009

    [Resolvido]Dias Uteis Empty Re: [Resolvido]Dias Uteis

    Mensagem  Assis 14/9/2011, 22:15

    obrigado Alexandre


    .................................................................................
    *** Só sei que nada sei ***
    avatar
    Venloz
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 119
    Registrado : 20/02/2013

    [Resolvido]Dias Uteis Empty Re: [Resolvido]Dias Uteis

    Mensagem  Venloz 15/9/2013, 00:34

    Pessoal, Boa Noite !

    Alguém pode me dar mais detalhes de como adaptar essa função??

    Eu tenho 3 campos no meu formulário

    1 campo - DataIni (Lugar onde informo a data inicial)
    2 Campo - DataFimm (Lugar onde informo a data final)

    3 Campo - Total(Lugar onde devera aparecer o calculo de dias úteis)

    Como faço para adaptar esse código ?




    Tentei fazer da seguinte forma

    1º Criei um módulo e colei o código do site

    Public Function DiasUteis(DataInicio As Date, DATAFIM As Date) As Long
    'By JPaulo Ž Maximo Access
    'Total de Dias entre duas datas sem fins de semana
    Dim TotalDiasActuais As Long, TotalDiasTrab As Long
    Dim strIniciaContagem As Long

    DoCmd.Hourglass (-1)
    strIniciaContagem = -2
    TotalDiasActuais = (DATAFIM - DataInicio) + 1

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

    DataInicio = DataInicio + 1

    Loop Until DataInicio = DATAFIM + 1

    TotalDiasTrab = TotalDiasActuais - strIniciaContagem
    DoCmd.Hourglass (0)
    DiasUteis = TotalDiasTrab
    Exit Function
    End Function

    Após no campo "Total" do formulário fiz da seguinte forma

    Private Sub Total_Click()
    Dim Inicio As Date
    Dim Final As Date

    Inicio = Me.dataini
    Final = Me.datafimm

    Total = DiasUteis(dataini, datafimm)


    End Sub

    Porém ao colocar a seguinte data "09/09/2013" como dataini e "11/09/2013" como datafimm, a diferença ele calcula sendo "5" dias, porém o correto é "2" dias.

    O que estou fazendo de errado ?


    avatar
    Venloz
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 119
    Registrado : 20/02/2013

    [Resolvido]Dias Uteis Empty Re: [Resolvido]Dias Uteis

    Mensagem  Venloz 15/9/2013, 00:59

    Galera consegui mas tive que fazer uma alteração


    Public Function DiasUteis(DataInicio As Date, DATAFIM As Date) As Long
    'By JPaulo Ž Maximo Access
    'Total de Dias entre duas datas sem fins de semana
    Dim TotalDiasActuais As Long, TotalDiasTrab As Long
    Dim strIniciaContagem As Long


    DoCmd.Hourglass (-1)
    strIniciaContagem = 1 ( nesse ponto era -2, não estava contando corretamente, alterei para 1 e consegui fazer contar de forma correta, alguém sabe o porque disso? eu alterei apenas pra testar e consegui resolver)
    TotalDiasActuais = (DATAFIM - DataInicio) + 1

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

    DataInicio = DataInicio + 1

    Loop Until DataInicio = DATAFIM + 1

    TotalDiasTrab = TotalDiasActuais - strIniciaContagem
    DoCmd.Hourglass (0)
    DiasUteis = TotalDiasTrab
    Exit Function
    End Function
    avatar
    next
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 13/11/2015

    [Resolvido]Dias Uteis Empty Re: [Resolvido]Dias Uteis

    Mensagem  next 8/6/2016, 14:42

    Tenho um campo de data com o nome "txt_ABERTURA" na qual eu seleciono a data e preciso trazer no campo "txt_DATALIMITE" a soma de 15 dias úteis referente ao campo "txt_ABERTURA"! Como faço?
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3877
    Registrado : 04/04/2010

    [Resolvido]Dias Uteis Empty Re: [Resolvido]Dias Uteis

    Mensagem  Avelino Sampaio 8/6/2016, 14:55

    Olá!

    veja se este tópico ajuda:

    http://www.redeaccess.com.br/viewtopic.php?f=4&t=20&p=51&hilit=vencimento#p51

    Sucesso!


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso irrestrito ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    avatar
    next
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 13/11/2015

    [Resolvido]Dias Uteis Empty Re: [Resolvido]Dias Uteis

    Mensagem  next 8/6/2016, 18:32

    Muito obrigado pela dica Avelino Sampaio, funcionou perfeitamente os dias úteis! So estou com dúvida para aplicar os feriados pois não entendi muito bem como fazer.

    Conteúdo patrocinado


    [Resolvido]Dias Uteis Empty Re: [Resolvido]Dias Uteis

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 29/3/2024, 06:20