Category Archives: Horas

Medir o tempo que um operador gasta a inserir um registo

Esta era uma dúvida do leitor Elton Rueb e que ele mesmo conseguiu resolver antes de eu ajudar. O que o leitor pretendia era medir o tempo que um utilizador demora a inserir um registo e para isso tem 3 campos: 1 para a hora de inicio altura em que abre o formulário, 1 para a hora de fim que é inserida quando se clica no botão de gravar e 1 campo para calcular a diferença. Este é um exemplo simples mas que pode fazer falta a quem pretenda calcular diferença entre dois tempos. Por isso o Elton Rueb (Rio de Janeiro – RJ – Brasil) disponibilizou o exemplo para que pudesse ajudar mais alguém.

Download: Teste Hora

Ponto

A pedido do leitor João Cabrita desenvolvi este exemplo de controle de ponto que se aplica a um quartel de bombeiros, mais especificamente às necessidades do leitor.

É um exemplo básico, mas com alguns pormenores mais avançados em que o que se pretende com ele é fazer o controle das entradas e saídas dos funcionários, verificar se trabalharam um turno de 12 horas e somar as horas trabalhadas a mais e as horas trabalhadas a menos.

Tudo isto para obter um relatório mensal de assiduidade de cada funcionário.

Download: Ponto

Calculos com horas

Este exemplo mostra como efectuar cálculos com horas. É útil para quem precisa de saber quanto tempo decorreu entre uma hora de inicio e uma hora de fim. Não basta fazer a subtracção da hora de fim pela hora de inicio, porque caso a hora de fim passe de um dia para o seguinte as contas já não darão certas, por exemplo:

Hora Inicio: 23:00:00

Hora Fim: 02:00:00

Hora Fim – Hora Inicio = 02:00:00 – 23:00:00 = -21:00:00

Obviamente que não é assim tão simples trabalhar com horas, porque assim em vez de termos 3 horas como resultado correcto teríamos -21 horas erradamente.

Para contornar esta situação em que o período passa de um dia para outro temos que verificar primeiro se a hora de fim é superior à hora de inicio, caso seja maior então o cálculo é: Hora Fim – Hora Inicio.

Caso seja menor então temos que fazer o cálculo de outra forma, ou seja:

Hora Inicio: 23:00:00

Hora Fim: 02:00:00

Total de Horas: 23:59:59

Acerto: 00:00:01

Basicamente o que vamos fazer é somar 24:00:00 ao valor da subtracção para nos dar as três horas correctas. Ou seja:

Hora Fim – Hora Inicio + Total de Horas + Acerto = 02:00:00 – 23:00:00 + 23:59:59 + 00:00:01 = -21:00:00 + 24:00:00 = 03:00:00

Download: Calculo com Horas

Exibir uma mensagem de cumprimento

Através de um pequeno código podemos dar as boas vindas ao utilizador dependendo da hora em que abra o formulário. Neste exemplo podemos ver três mensagens diferentes:
1-Até às 12:00 Bom dia;
2-Até às 19:00 Boa tarde;
3-Entre as 19:00 e as 24:00 Boa noite.

Apenas precisamos de um pequeno código, que é o seguinte:

Public Function Cumprimento()
Dim strMsg As String

If Time < #12:00:00 PM# Then
strMsg = “Ola! Tenha um bom dia!”
ElseIf Time <= #7:00:00 PM# Then
strMsg = “Ola! Tenha uma boa tarde!”
Else
strMsg = “Ola! Tenha uma boa noite!”

End If
Cumprimento = strMsg
End Function

Depois para chamar o código, utilizamos uma caixa de texto e como origem do controlo escrevemos =cumprimento().

Download: Cumprimento