2025

Oct

29

Av Rolf

Numera finns sofistikerade funktioner i FileMaker för att hålla reda på alla ändringar i alla fält, alla poster som raderats, av vem och när. Ofta räcker det med att hålla reda på ändringar i några få fält, i det här exemplet ett enda fält i en post. Vi kallar det för ett historikfält eftersom det visar när, vem och till vad fältet ändrats.

Det är också ganska enkelt. Det räcker med ett extra textfält och en beräkning. Min kollega Robert har förfinat beräkningen så att den förutom ändringar klarar duplicerade poster och kommandot Ersätt fältinnehåll för att ändra innehållet i fältet i flera poster.

I det här exemplet har jag två fält:

  • Status som är tänkt att innehålla en status för posten. Status kan t.ex. vara mottagen, packad och skickad, men kan egentligen vara vad som helst.
  • Historik, ett textfält som kommer att innehålla historiken för alla ändringar som görs i fältet Status. Det är detta fält vi kallar historikfält. Det finns en automatisk beräkning som är den som håller reda på ändringarna. Innehållet i detta fält ska inte gå att ändra "manuellt".

Varje gång fältet Status ändras skapas en rad i fältet Historik, i det här fallet med senaste ändringen överst.

Den automatiska beräkningen ser ut så här:

If (IsEmpty (Status) and IsEmpty (Historik); 
   ""; 
   List (
      Get (AktuellTidsstämpel) & ": " & Status; 
      If ( Get ( ÖppenPoststatus ) = 1; 
         ""; 
         Historik
      )
   )
)

Om båda fälten är tomma ska ingen historik sparas. De är tomma när en ny post skapas. Med funktionen List sätter jag ihop en rad med tidsstämpel och aktuellt innehåll i Status med den tidigare historiken. Här kan du också lägga till t.ex. funktionen Get (Kontonamn) för att få information om vem som gjort ändringen.

Med funktionen Get (ÖppenPoststatus) kontrolleras om det är en ny post, funktionen returnerar då 1, och i så fall ska den gamla historiken inte tas med. Detta händer när en post dupliceras. Jag vill inte ha med historiken för den duplicerade posten i den nya.

Ladda ner exempeldatabas här: Historik.fmp12

Skriv en kommentar

Din epost-adress stannar hos oss.
Webbsajten använder FileMaker som CMS.