Function JANVLX(DtI As Variant, DtF As Variant) As Variant Dim TEMPO, ciclo As Double TEMPO = Round((DtF - DtI) * 24 * 60, 0) T = TimeSerial(Hour(DtI), Minute(DtI), 0) ciclo = 0 For a = 1 To TEMPO If T < "08:00:00" Or T > "20:00:00" Then ciclo = ciclo Else ciclo = ciclo + 1 End If If T = "23:59:00" Then a = a + 2 T = TimeSerial(0, 0, 0) End If T = T + TimeSerial(0, 1, 0) Next a JANVLX = ciclo Exit Function End Function
Esse código calcula o tempo entre dois campos de um registro: hora_entrada e hora_saida
O tempo entre os dois não poderá contar entre 20:00hrs e 8:00hrs do dia seguinte.
Exemplo: de 12/03/2011 19:00 até 13/03/2011 09:00 só contou 2:00hrs, pois entre 12/03/2011 20:00 e 13/03/2011 08:00 não pode contar tempo.
Sei que é possível gerar isso via código SQL, mas não estou conseguindo...
Quero chamar o campo resultante de "tempo".
Vocês podem me ajudar!?
Desde já, agradeço!