... Assinatura do site por 1 ano + Kit MontaRibbons + 3 Livros em PDF + Diversas Revistas (pdf) de brinde, por apenas R$100,00
(
podendo parcelar em até 10 vezes no cartão de crédito)...

Clique aqui e obtenha mais detalhes do nosso kit completo e de como comprar.


Somar Dias sem contar com os Feriados, os Sábados e os Domingos

Usuário Marcos :

Bom dia!

Gostaria de saber como programar a entrega de um pedido para daqui a dez dias úteis, ou seja,  sem contar com os feriados, os sábados e os domingos.

Grato

Suporte:

Marcos, vamos supor que você tenha os campos DataLançamento e DataEntrega.

No evento "Após atualizar" do campo DataLançamento, coloque:

Private Sub DataLançamento_AfterUpdate()
Dim j As Byte, dtaEntrega As Date, dtaAnalisada As Date
dtaEntrega = Me!Datalançamento
dtaAnalisada = dtaEntrega + 1
Do While Not j > 9
    If Eval("weekday(#" & Format(dtaAnalisada, "mm/dd/yyyy") & "#) between 2 and 6") Then
        If Not fncFeriado(dtaAnalisada) Then
            dtaEntrega = dtaAnalisada
            j = j + 1
        End If
    End If
    dtaAnalisada = dtaAnalisada + 1
Loop
Me!DataEntrega = dtaEntrega
End Sub

Observe que você terá que criar a função fncFeriado(). Para efeito apenas didático, veja esta função que simula uma data de feriado.

Private Function fncFeriado(dta As Date) As Boolean
fncFeriado = dta = #6/4/2015#
End Function

Sobre a montagem da função feriado, você encontra disponível AQUI, neste meu artigo:

Ao entrar com a data de lançamento 03/06/2015, você terá como resultado, a data de entrega no dia 18/06/2015. Confere ?

Usuário Marcos :

Preciso dizer que funcionou perfeitamente!

Mais uma vez obrigado, Avelino!

 


 

 


Não há comentário

Envie seu comentário: