MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]Dias Uteis

    Compartilhe
    avatar
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

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

    Dias Uteis

    Mensagem  Assis em Qua 14 Set 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 ***
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: [Resolvido]Dias Uteis

    Mensagem  Alexandre Neves em Qua 14 Set 2011, 20:16

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

    Respeito às Regras 100%

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

    Re: [Resolvido]Dias Uteis

    Mensagem  Assis em Qua 14 Set 2011, 22:15

    obrigado Alexandre


    .................................................................................
    *** Só sei que nada sei ***

    Venloz
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    Re: [Resolvido]Dias Uteis

    Mensagem  Venloz em Dom 15 Set 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 ?



    Venloz
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    Re: [Resolvido]Dias Uteis

    Mensagem  Venloz em Dom 15 Set 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

    next
    Novato
    Novato

    Respeito às Regras 100%

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

    Re: [Resolvido]Dias Uteis

    Mensagem  next em Qua 08 Jun 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?
    avatar
    Avelino Sampaio
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Dias Uteis

    Mensagem  Avelino Sampaio em Qua 08 Jun 2016, 14:55

    Olá!

    veja se este tópico ajuda:

    [Você precisa estar registrado e conectado para ver este link.]

    Sucesso!

    next
    Novato
    Novato

    Respeito às Regras 100%

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

    Re: [Resolvido]Dias Uteis

    Mensagem  next em Qua 08 Jun 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.

      Data/hora atual: Qui 23 Nov 2017, 15:06