FileMaker - Tip 79

 

Klik op om terug te keren naar het selectiemenu.

Tip 79 - Rekenen met tijden

Rekenen met tijden gaat zonder problemen. Enige vereiste is de juiste schrijfwijze voor de Time-notatie:

  • ofwel uren
  • ofwel uren : minuten
  • ofwel uren : minuten : seconden

Het scheidingsteken is dus altijd de dubbele punt.

Noot: er bestaan middeltjds om de tijden in te geven op een manier waarbij de dubbele punten automatisch op de juiste plaats verschijnen:

  • 3:45 wordt dan ingegeven als 345
  • 1:00 wordt ingegeven als 1
  • 0:10 wordt ingegeven als 010
  • 0:01 wordt ingegeven als 001

De procedure werd reeds uitgelegd in Tip 5.

Nu enkele voorbeelden als antwoord op de twee volgende vragen:

  1. "ik kom in een veld tot een brutotijd en moet die verminderen met 30 minuten. Welke formule?"
  2. "het resultaat van bovenstaande berekening moet afgetrokken worden van 24 uur. Welke formule ?"

We antwoorden op de eerste vraag via een voorbeeldje:

We voeren een tijdsduur in in een tijdveld dat Ingegeven tijd heet. Daar moeten dan 30 minuten van afgetrokken worden in een veld dat we Resultaat 1 noemen. We kunnen niet zomaar "- 30" ingeven. FileMaker moet immers weten dat het over een tijd gaat, en dat die 30 minuten zijn en geen uren of seconden. Hiervoor hebben we de functie Time nodig. Deze functie heeft altijd drie parameters, telkens gescheiden door een puntkomma, nl. uren, minuten en seconden. Ons veld Resultaat 1 krijgt dus de volgende formule:

Ingegeven tijd - Time(0;30;0)

 

Antwoord op de tweede vraag:

Het resultaat dat is bereikt via de vorige calculatie moet afgetrokken worden van 24 uur. We maken een nieuw calculatieveld dat we Resultaat 2 noemen en gebruiken de volgende formule:

Time(24;00;00) - Resultaat 1

Hebt u gemerkt dat in de formule het scheidingsteken de gewone puntkomma is, terwijl we in een tijdveld zelf als scheider de dubbele punt moeten gebruiken? Dit is weer de echte FileMaker-logica!

Om af te sluiten nog dit: FileMaker bepaalt de tijd door het aantal seconden te tellen vanaf middernacht (net zoals FileMaker trouwens de datum berekent door het aantal dagen te tellen vanaf 1 januari 1900*). Als we dus 10 minuten willen bijtellen bij een bepaalde tijd (bijvoorbeeld de Aanvangstijd van een taak), dan kunnen we dat doen door gewoon 600 bij te tellen, vermits de seconde de default-eenheid is:

Werk voltooid = Aanvangstijd + 600

Dit geeft hetzelfde als

Werk voltooid = Aanvangstijd + Time(0;10;0)

 

Zie ook Tip 393.


* Zie Tip 137.

 

 
avd@avd-ci.be - contactformulier