Jump to content
Fórum Script Brasil
  • 0

(Resolvido) Contagem De Datas Apenas Dias Uteis


brunocasado
 Share

Question

gente presciso faze um campo assim q pega a data atual e some com mais 5 tipo hj é 26 ele coloque 31

só q é assim ele só pode conta os dias uteis intao quando chegace no dia 28 q é uma sexta ele continuaria a contar somente apartir do dia 31 q é uma segunda intao resutado final seria 3/09/2007

tem como isso acontecer?

Se isso não tiver como, como poderei fazer com que assim que o relatorio for criado, ele conte 5 dias apos a data de criaçao e ponha no campo não acoplado? que expressao que terei que usar?

Edited by brunocasado
Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0

Se eu não me engano eu postei algo sobre isso a algum tempo atrás mais não tenho mais o exemplo, mais lembro que tem que fazer uma tabela para guardar os feriados semelhante ao que se usa em controle calendário, daí basta fazer as comparações entre os dias que estão na tabela e os domingos pra se ter o resultado... o link a seguir tem um controle calendário dá uma olhada tenho certeza que você conseguirá tirar algumas ideias de lá.

Controle calendário

(fonte: JR´s FAQ)

Link to comment
Share on other sites

  • 0

ok cara vou dar uma olhada vlw

mrmalj como faco para ultilizar esse funcao:

Function DiaUtil(InformeData) As Integer
    DiaUtil = False
    
    ' Procura por Sábado ou Domingo.
    If WeekDay(InformeData) = 1 Or WeekDay(InformeData) = 7 Then
        DiaUtil = False
        ' Procura por Feriados cadastrados na tabela tabFeriados.
    ElseIf IsNull(DLookup("Feriado", "tabFeriados", "[Feriado] = #" _
        & InformeData & "#")) Then
        DiaUtil = True
    End If
    
End Function

isso eu ponho num modulo?? num to sabeno ultilizar....

Link to comment
Share on other sites

  • 0

Use a função abaixo

Coloque em um modulo a função abaixo

Veja que somente considerei 2 feriados 12/10 e 1/5

Voce precisa para outros feriados.

Function DiaUtil(Verdata As Date) As Boolean

DiaUtil = True

If Weekday(Verdata) = 1 Or Weekday(Verdata) = 7 Then DiaUtil = False

'verifica 12 de outubro

If Day(Verdata) = 12 And Month(Verdata) = 10 Then DiaUtil = False

'verifica 1 de maio

If Day(Verdata) = 1 And Month(Verdata) = 5 Then DiaUtil = False

'voce precisa verificar feriado por feriado tal como acima

End Function

'Detalhes: a função usada acima weekday retorna 1 se for domingo e 7 se for sabado

no programa voce passa a data como parametro

if Diautil(dataX) = true then

else

endif

se for em uma consulta ou relatorio voce pode usar o iif()

=iif(Diautil([Campodata]=true;"Dia Útil";"Dia não Útil")

ou no where do sql ou no criterio de filtro da consulta

Diautil([campodata]) = true

Boa sorte

[email protected]

Link to comment
Share on other sites

  • 0

já que voce que usar a função em um campo fazendo uma dia util a partir de hoje + 5

faça assim:

=iif(diautil(Date()+5)=true;date()+5;iif(diautil(Date()+6)=true;date()+6;iif(diautil(date()+7)=true;date()+7;date()+8)))

8 é o limite já que entendo que sera dificil ter mais de 3 dias não uteis seguidos

seria Sab Dom e Seg se segunda é feriado, ou Sex, Sab e Dom se sexta é feriado

Espero ter ajudado !

Abcs,

[email protected]

Link to comment
Share on other sites

  • 0

olha deu certo.... porem ele num para de conta na sexta e continua na segunda........ porem c o orcamento daki 5 dias cai num sabado ou domingo ele vai criar na segunda.... ateh ai tdo bem... pois sempre evitara de cair em um fds...

mas c tiver um jeito dele conta só os dias uteis é melhor...

pode ateh c dar como resolvido mais c tiver uma solucao melhor..

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Forum Statistics

    • Total Topics
      149.8k
    • Total Posts
      646.6k
×
×
  • Create New...