2010

Dec

6

Av

Som jag tidigare skrivit några gånger, t.ex. Räkna med datum och Räkna med datum igen, är FileMaker suverän på datumberäkningar. I och med att FileMaker räknar datum som numeriska tal internt är det lätt att lägga till och dra ifrån dagar, månader och år.Nyligen ville jag beräkna datum för första och sista dagen i en månad. Om jag t.ex. angav datumet 2010-12-06 ville jag få 2010-12-01 och 2010-12-31. Att räkna fram första datum i en månad är ganska enkelt. Du använder funktionen Dateför att skapa ett datum av månadsnumret (Month), dagen (första dagen i en månad är alltid 1) och årtalet (Year).

Följande formel kan du använda för att få första datumet i en månad där datumet finns i fältet Datum:

Date(Month(Datum);1;Year(Datum))

Dagen i datumet för månadens sista dag kan ju vara olika, t.ex. 31 i januari, 28 i februari osv. Det går såklart att hålla reda på hur många dagar som det finns i respektive månad, ta hänsyn till skottår osv., men det finns enklare sätt.

Den sista dagen i en månad är alltid dagen före den första i nästkommande månad. I föregående formel beräknade jag fram datum för den första i aktuell månad, det är lika lätt att räkna fram datum för den första i nästkommande månad:

Date(Month(Datum)+1;1;Year(Datum))

Genom att lägga till 1 till månadsnumret räknar FileMaker fram nästa månad. FileMaker tar också hänsyn till om månadsnumret + 1 blir 13, då justeras datumet automatiskt till januari året därpå. För att få dagen före ett datum är det bara att dra från 1. Den slutliga formeln blir alltså:

Date(Month(Datum)+1;1;Year(Datum))-1

Skriv en kommentar

  • (will not be published)
  • − one = 1

Läs också: