2010

Jun

18

Av

En funktion som flera efterfrågar i FileMaker är att efter en sökning visa vad man sökt efter. Med FileMaker 11 går det att göra en sådan funktion, oavsett hur många fält som finns på en layout och vilka som användaren väljer att söka i. 

Det som gör det möjligt är de nya manus-trigger-funktionerna som nu kan utföra manus när användaren byter mellan olika lägen i FileMaker, t.ex. från sökläget till bearbetningsläget. Innan sökningen utförs kan ett manus spara innehållet i alla fält i sökläget som sedan presenteras i bearbetningsläget.

I exemplet nedan har jag en databas med 4 fält: NamnAdressOrt och Telefon. Jag har sökt fram alla poster där fältetNamn börjar med R och fältet Ort börjar med LUND.

sparasok1

Om jag gör en ny sökning, t.ex. efter alla poster vars telefonnummer börjar med 046 (oj, det blev samma resultat :) ) kan det se ut så här. Lägg märke till att senaste sökvillkor som står ovanför tabellen har ändrats, vilket sker helt automatiskt.

sparasok2

För att åstadkomma detta behövs ett kort manus och en inställning i layouten så att manuset körs vid lägesbyte. Manuset använder funktionerna Get (AktivtFältnamn) och Get (AktivtFältinnehåll), går genom alla fält på layouten och sparar både fältnamn och innehåll (om det finns något) i en variabel. Tänk på att variabelnamn som inleds med “$$” är globala i hela databasen. Manuset “Spara sökvillkor” ser ut så här:

Ange variabel [$$sökvillkor; Värde: ""]
Gå till nästa fält
Ange variabel [$startfält; Värde: Get (AktivtFältnamn)]
Loop
   Ange variabel [$$sökvillkor; $$sökvillkor &  
            If (not IsEmpty( Get ( AktivtFältinnehåll ));
               If ($$sökvillkor  ≠ "";", ";"") & 
               Get ( AktivtFältnamn ) & ": " & Get ( AktivtFältinnehåll );"")]
   Gå till nästa fält
   Exit Loop If [$startfält = Get (AktivtFältnamn)]
End Loop

Manuset ska köras när man går från sökläget till bearbetningsläget. Gå till layoutläget och välj kommandot Tillval för layout i menyn Layouter. Under fliken Manusutlösare väljer du att köra manuset “Spara sökvillkor” när händelsen “VidLägesförändringSlut” inträffar. Se till att bara köra det i sökläget, ta bort kryssen för “Aktivera i” för Bearbeta och Granska.

sparasok3

Till sist återstår det bara att visa variabeln $$sökvillkor där jag sparat fältnamn och fältinnehåll i sökläget. Jag har valt att göra det i sidhuvudet ovanför tabellen med hjälp av ett merge-fält.

sparasok4

Det återstår också manus för att nollställa variabeln vid ny sökning m.m., men det överlämnas till läsaren eller så återkommer vi med det en annan gång.

Du kan ladda ner exempeldatabas här.

VisaSokvillkor.zip (15,08 kb)

Skriv en kommentar

  • (will not be published)
  • six − 4 =

Läs också: