FileMaker Tip 336
![]()
Hoe de volgende vervaldag berekenen?"
Chaim Bacon zat met een probleem: hij wilde de volgende vervaldag kunnen berekenen na een keuze uit verschillende frekwenties: "weekly", "monthly", "quarterly" of "annually". Hij kent ook de startdatum (hier StartDate genoemd) en uiteraard ook de actuele datum (die noemen we TodaysDate). Bacon's vraag op het web werd door verschillende mensen beantwoord, maar de hoofdvogel werd toch wel afgeschoten door de in FileMakerkringen welbekende Jason L. DeLooze. Hij ontwikkelde deze formule:
Volgende vervaldag =
Case(
Frequency = "Weekly",
TodaysDate + Mod(7-Mod(TodaysDate-StartDate,7),7),Frequency = "Monthly",
Date(Month(StartDate) + 12 * (Year(TodaysDate) - Year(StartDate)) + (Month(TodaysDate) - Month(StartDate)) + (Day(TodaysDate) Day(StartDate)) , Day(StartDate) , Year(StartDate) ),Frequency = "Quarterly",
Date(Month(StartDate) + 12 * (Year(TodaysDate) - Year(StartDate)) + (Month(TodaysDate) - Month(StartDate)) + (Day(TodaysDate) Day(StartDate)) + Mod(3 - Mod((Month(TodaysDate) - Month(StartDate)) + (Day(TodaysDate) Day(StartDate)),3),3) , Day(StartDate) , Year(StartDate) ) ,Frequency = "Annually",
Date(Month(StartDate),Day(StartDate),Year(TodaysDate) + ((Month(TodaysDate)Month(StartDate)) or ((Month(TodaysDate)=Month(StartDate)) and (Day(TodaysDate) > Day(StartDate))))))
Bij het overnemen van deze formule op Europese systemen wel even rekening houden met het feit dat wij als separator niet de komma maar de puntkomma gebruiken!
Terug naar het selectiemenu voor de tips.