FileMaker Tip 291
![]()
De functie MiddleWords
We hebben vroeger al eens gezien hoe we met de functie Position erin slaagden om woordgroepen (bijvoorbeeld namen en voornamen die samen in één veld staan) uiteen te halen. Dat was in Tip 13.
Vandaag zien we dat dat ook kan zonder de aspirientjes van tip 152. Hiertoe gebruiken we de functie MiddleWords (LeftWords en RightWords bestaan ook).
Hoe werkt die functie? Zoals elke functie, heeft ook deze een naam, gevolgd door een aantal parameters die tussen haken staan. De parameters zelf zijn onderling gescheiden door puntkomma's (in Amerika door komma's alleen).
MiddleWords(text;startingWord;numberOfWords)De parameters zijn hier:
- de veldnaam
- het nummer van het vertrekwoord
- het aantal gewenste woorden.
Stel dat we een veld hebben dat Naam heet en dat we graag zouden hebben dat een aantal andere velden automatisch gevuld worden: Familienaam, Voornaam en Voorvoegsel.
Als in het veld Naam bijvoorbeeld staat
Bart van de Weijerdan geeft dat voor de Familienaam deze formule:
MiddleWords(Naam;4;1)Voor de Voornaam krijgen we deze formule:
MiddleWords(Naam;1;1)en voor het veld Voorvoegsel:
MiddleWords(Naam;2;2)Slimme mensen hebben natuurlijk al lang gezien dat deze formules het alleen goed doen als alle namen in onze databank op dezelfde manier gestructureerd zijn. Bij An van Dam loopt het natuurlijk al mis, om maar van An Melis te zwijgen. De eerste naam bestaat niet uit vier maar uit drie delen, de tweede telt er slechts twee.
Maar hier bestaan oplossingen voor, want de structuur kunnen we herkennen aan het aantal spaties in de naam. Wanneer we die tellen, dan kunnen we naargelang het geval een aangepaste formule gebruiken (dat doen we met de functie Case). Dit is natuurlijk ook niet in alle gevallen perfect betrouwbaar (bijvoorbeeld bij mensen met een dubbele achternaam als Hugo Brandt Corstius), maar het gaat wel oneindig veel sneller dan wanneer we alles met de hand zouden moeten aanpassen: even alle namen onder elkaar in Table View en hopsa, de formule erop loslaten en dan even visueel controleren. Het is na tien minuutjes altijd prettig te horen: "Verdraaid, daar hebben we vorig jaar een kleine week over gedaan!"
Hoe we dit vroeger deden, zien we in Tip 13.
Terug naar het selectiemenu voor de tips.