Calcular data e hora em consulta
Nota importante: para ter acesso aos vídeos e arquivos exemplos deste site, adquira um dos planos apresentados abaixo. Você pode comprar em até 5x no Cartão de Crédito.
Veja como comprar e saiba mais sobre o material oferecido, clicando aqui.
Usuário Cardoso:
Boa Tarde!
Preciso criar uma consulta, aonde com a data, seja identificado o dia da semana e através do horário, seja informado se o atendimento está Dentro do Horário ou Fora do Horário. As regras são as seguintes:
De segunda a sexta de 08:00 às 19:00 - Dentro do Horário.
Após às 19:00 - Fora do Horário
Sábado de 08:00 às 12:00 - Dentro do Horário. Após as 12:00
- Fora do Horário
Domingo - Fora de Horário
Dt Alta | Hr Alta | Dia Semana | Status Atendimento |
31/12/2015 | 01:21:35 | Quinta | Fora do Horário |
04/01/2106 | 09:48:40 | Segunda | Dentro do Horário |
05/01/2016 | 17:49:22 | Terça | Dentro do Horário |
03/01/2016 | 11:00:00 | Domingo | Fora do Horário |
Suporte:
Cardoso, existem atendimentos também em feriados?
Segue um exemplo. A função usada na consulta foi esta:
Public Function fncStatus(da As Date, ha As Date)
Dim j As Boolean
Select Case Weekday(da)
Case 2 To 6
If Eval("#" & ha & "#" & " Between #08:00:00 AM# AND #07:00:00 PM#") Then j = True
Case 7
If Eval("#" & ha & "#" & " Between #08:00:00 AM# AND #12:00:00 PM#") Then j = True
End Select
If j Then
fncStatus = "Dentro do horário"
Else
fncStatus = "Fora do horário"
End If
End Function
Usuário Cardoso:
Avelino,
os feriados são considerados como atendimento Fora de Horário.
Suporte:
Cardoso, crie uma tabela, contendo os feriados e acrescente a parte vermelha ao código:
Public Function fncStatus(da As Date, ha As Date) Dim j As Boolean if DCount("*","tblFeriados","DataFeriado = #" & format(da,"mm/dd/yyyy") & "#") > 0 then fncStatus = "Fora do horário" exit function end if Select Case Weekday(da) Case 2 To 6 If Eval("#" & ha & "#" & " Between #08:00:00 AM# AND #07:00:00 PM#") Then j = True Case 7 If Eval("#" & ha & "#" & " Between #08:00:00 AM# AND #12:00:00 PM#") Then j = True End Select If j Then fncStatus = "Dentro do horário" Else fncStatus = "Fora do horário" End If End Function
Usuário Cardoso:
Boa tarde.
Muito Obrigado, ficou show.
Download
Não há comentário |