Ibland krävs det att ett register innehåller personuppgifter inklusive personnummer. Ett personnummer består av födelsedatum följt av tre siffror samt en kontrollsiffra. Kontrollsiffran måste vara rätt för att personnumret ska vara giltigt och det kan FileMaker hjälpa till att beräkna.
Kontrollsiffran beräknas genom att växelvis multiplicera varje siffra i personnumret med 1 eller 2, lägga ihop siffersumman och ta heltalsdelen som resultat. Lägg in en kontrollberäkning på fältet som innehåller personnumret som ser ut så här:
(Length(Personnummer) = 11) and (Middle(Personnummer;7;1) = "-") and (Mod(10 - Mod( Choose(Middle(Personnummer;1;1);0;2;4;6;8;1;3;5;7;9) + Middle(Personnummer;2;1) + Choose(Middle(Personnummer;3;1);0;2;4;6;8;1;3;5;7;9) + Middle(Personnummer;4;1) + Choose(Middle(Personnummer;5;1);0;2;4;6;8;1;3;5;7;9) + Middle(Personnummer;6;1) + Choose(Middle(Personnummer;8;1);0;2;4;6;8;1;3;5;7;9) + Middle(Personnummer;9;1) + Choose(Middle(Personnummer;10;1);0;2;4;6;8;1;3;5;7;9) ;10);10) = Middle(Personnummer;11;1))
Formeln kontrollerar först att personnumret är 11 tecken (inklusive bindestreck i formen ÅÅMMDD-XXXK), att det finns ett bindestreck på rätt position och lägger sedan ihop siffersumman för respektive siffra.
Tänk på PuL när du lagrar personnummer.
Samma typ av beräkning används även för beräkning av andra kontrollsiffror, t.ex. för OCR-nummer, ISBN-nummer och liknande.
Beräkningen är tidigare publicerad i boken Att uppgradera till FileMaker Pro 3, utgiven 1996, och FileMaker Pro i praktiken, första upplagan publicerad 1997, båda skrivna av undertecknad.