2023

Mar

28

Av Rolf

Jag tror alla som använder FileMaker Pro någon gång importerat poster t.ex. från ett Excel-dokument. Det är en kraftfull funktion där du kan välja att uppdatera befintliga poster och lägga till de poster som inte redan finns i din databas. Det är en enkel och bra funktion för att hålla din databas uppdaterad med senaste informationen. Men hur många nya poster har tillkommit och hur många har uppdaterats?

Med kommandot Importera poster kan du välja att lägga till nya poster, uppdatera med avseende på matchande fält eller ersätta det aktuella urvalet. I det här fallet väljer jag att uppdatera med avseende på ett matchande fält. I exemplet är det ett artikelregister, "Artiklar", som uppdateras med innehåll i ett Excel-dokument (test.xlsx). Med kryssrutan Lägg till återstånde data som nya poster markerad kommer poster som inte matchar att läggas till.

Jag väljer att matcha värden i ett fält som heter "ID_Artikel" och importerar övriga fält.

Efter en import är både nya och uppdaterade poster hittade, men hur många är nya och hur många är uppdaterade? Dialogrutan som visas efter en import ger inte heller något svar, endast en summa av nya och uppdaterade poster.

Som tur är går det att göra beräkningar för att få fram antalet nya respektive uppdaterade poster.

Det finns en funktion som inte är den mest använda, men i det här fallet helt avgörande. Funktionen är Get ( AntalPoständringar ) som returnerar antalet gånger en post har ändrats. Varje gång du gör en ändring och innehållet i posten sparas ökas värdet med 1 (du ser det inte någonstans om du inte använder funktionen). Ändrar du en post ofta kan värdet bli både 6- och 7-siffrigt. Det viktiga i det här fallet är att en ny post som inte ändrats alls ger värdet 0.

En ny post känns alltså igen på att Get ( AntalPoständringar ) ger resultatet 0. Jag skapar ett nytt beräkningsfält som jag kallar "Ny post" med formeln:

Get ( AntalPoständringar ) = 0

Funktionen ger värdet 1 om det är en ny post som inte ändrats. Observera att fältet behöver ställas in som "Lagra inte beräkningsresultatet", det måste beräknas varje gång.

Jag gör också ett statistikfält som summerar fältet "Ny post" och kallar det för "Summa ny post". Statistikfält beräknas alltid på de hittade posterna. Direkt efter en import är de nya och uppdaterade posterna hittade, statistikfältet returnerar då antalet nya poster. För att få fram antalet uppdaterade poster använder jag formeln:

Get (HittadePoster) - Summa ny post

Tänk på att kommandot Importera poster endast uppdaterar poster som är hittade. Vill du uppdatera alla poster i en tabell behöver du först Visa alla posterna innan du importerar.

Skriv en kommentar

Din epost-adress stannar hos oss.