2026

Aug

13

Av Rolf

"Äntligen!" kan man väl säga om den nya funktionen i FileMaker Pro 26 som låter dig ange olika fältnamn för export till Excel, för fältnamn som visas i dialogrutan Sortera poster och till och med som kolumnrubriker i FileMakers tabellvy. Jag vet inte hur många gånger jag gjort work-arounds med nya tabeller eller XML/XSLT enbart för att få "rätt" fältnamn i Excel-exporter, från version 26 behövs det inte längre.

I dialogrutan Definera databas finns ett nytt val för varje fält. Längst ner till höger visas knappen "Avancerat" när du markerar ett fält.

Klickar du på knappen "Avancerat" visas en ny dialogruta med en ny knapp "Ange" (bredvid "Anpassa visningsnamnen för fält").

Klickar du på knappen "Ange" hamnar du i en beräkningsformel med följande utseende:

JSONSetElement ( "{}" ;
  [ "fm_common" ; "" ; JSONString ] ;
  [ "fm_export" ; "" ; JSONString ] ;
  [ "fm_sort" ; "" ; JSONString ] ;
  [ "fm_table_view" ; "" ; JSONString ]
)

Resultatet av beräkningen blir en text i JSON-format, beräkningen styr vilket fältnamn som kommer att visas för användaren. JSON-texten innehåller 4 delar:

  • fm_common. Här anger du om du vill att fältet ska ha ett annat namn i exporter, sorteringar och i tabellvyn. Raden kan t.ex. se ut så här om du vill att fältet ska visas med namnet "Nytt namn": [ "fm_common" ; "Nytt namn" ; JSONString ] ;
  • fm_export. Namnet som används när du väljer fält i dialogrutan Exportera poster.
  • fm_sort. Namnet som du väljer i dialogrutan för sortering.
  • fm_table_view. Namnet som visas som kolumnrubrik för fältet i tabellvyn.

Anger du inget i fm_export, fm_sort eller fm_table_view används det som finns i fm_common. Om även fm_common är tomt, används det ordinarie fältnamnet (som i tidigare versioner). Du kan också utöka beräkningen och lägga till egna nycklar för fältet som du kan nå med funktionen FieldDisplayNames. Det kan t.ex. vara en förklarande text om fältet, en hjälptext eller dylikt.

En finess är att fältnamnen kan vara dynamiska, dvs. ändras när du vill. Istället för att skriva in en fast text kan du göra en beräkning, t.ex. i form av en $$-variabel.

Som exempel har jag gjort en databas där fältnamnen översätts till olika språk beroende på vad användaren väljer. Fältnamnens respektive namn på respektive språk har jag skrivit in i en tabell, en post per fältnamn och språk.

Det finns en trigger på språk-menyn som kör ett script när språket ändras (VidObjektÄndra). Scriptet hämtar alla poster på valt språk och skapar $$-variabler, en variabel för varje fält. Scriptet gör en beräkning i en Let-sats, alla fält på en gång, som utförs med funktionen Evaluate. Det är en teknik jag ofta använder för just översättningar. Att tänka på är att det finns en begränsning på antal $$-variabler som kan beräknas på samma gång med denna metod (ca 1000 st).

Det kommer att skapas en hel del $$-variabler, om du tycker det blir för "plottrigt" i Datagranskaren kan du istället göra en enda $$-variabel i JSON-format. Beräkningen behöver förstås anpassas, men tekniken är densamma.

I det avancerade tillvalet för varje fält har jag angett en beräkning för fm_common som ser ut så här för fältet Förnamn:

JSONSetElement ( "{}" ;
  [ "fm_common" ; $$Förnamn ; JSONString ] ;
  [ "fm_export" ; "" ; JSONString ] ;
  [ "fm_sort" ; "" ; JSONString ] ;
  [ "fm_table_view" ; "" ; JSONString ]
)

De övriga fälten följer samma mönster. I och med dessa tillval kommer fältnamnen visas översatta i dialogrutorna för Exportera poster och Sortera poster samt som kolumnrubriker i tabellvyn (om användaren byter till den vyn).

För att översätta även ledtexterna i layouten ersätter jag dem i layoutläget med samma $$-variabel ($$Förnamn för förnamnet etc), ange namnet så här:

<<$$Förnamn>>

Byter du språk till engelska blir dialogrutan Sortera poster så här:

Byter du till tyska blir samma dialogruta så här:

Exempeldatabasens start-script väljer slumpmässigt ett första språk. Du kan också använda FileMaker-funktionen Get ( Systemspråk ) i start-scriptet för att se till att databasens fältnamn visas på samma språk som datorns operativsystem.

Ladda ner exempeldatabasen här: FleraSpråk.fmp12

Skriv en kommentar

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