FileMaker - Tip
215
![]()
|
|
|
Dit zal voor sommigen al wat ver gezocht zijn, maar iemand had het echt nodig en het is weer een mooi voorbeeld van hoe creatief je met FileMaker kunt omspringen. Iemand heeft de Position-functie nodig* om een bepaald woord in een tekst te vinden (laten we dat veld "TeOnderzoekenVeld" noemen). Hij wil weten waar precies dat woord staat, om met die gegevens dan weer een aantal dingen te doen (de fameuze tekstcalculaties van FileMaker). Maar hij botst daarbij op een vervelend probleem: het woord dat hij zoekt begint nu eens met een hoofdletter, dan weer met een kleine letter, en hij heeft enkel de woorden met een hoofdletter nodig. En dat onderscheid wordt nu net niet gemaakt door de Position-functie: die is - zoals men dat zegt - niet case sensitive... Knap vervelend, dus! Een voorbeeldje: we hebben een veld dat "TeOnderzoekenVeld" heet en waarin volgende tekst staat: "Dit is een eerste voorbeeld. Voorbeeld twee is iets gemakkelijker" We willen nu weten waar het woord "Voorbeeld" voor de eerste keer (de tweede 1 in de formule hierna) voorkomt tellend vanaf positie 1 (de eerste 1 in de formule hierna). Hiertoe gebruiken we deze formule: Position("TeOnderzoekenVeld", "Voorbeeld", 1, 1) Maar deze functie geeft als resultaat 19, terwijl wij 30 gewild hadden (het woord "voorbeeld" met een kleine letter begint immers op positie 19, terwijl "Voorbeeld" met een hoofdletter pas op positie 30 begint). Gelukkig is er weer een oplossing. De Substitute-functie is immers wel case sensitive. We vervangen ons zoekwoord dus gewoon door een betekenisloze maar gemakkelijk te herkennen brabbeltekst die nergens anders voorkomt. We lossen de zaak dus op met deze formule (die weer een mooi voorbeeldje oplevert van geneste functies): Position(Substitute(TeOnderzoekenVeld , "Voorbeeld" , "xyxyxyx"), "xyxyxyx", 1, 1) Met de Substitute-functie vervangen we het woord Voorbeeld met hoofdletter door de gekke groep xyxyxyx en vervolgens zoeken we die. We moeten natuurlijk wel opletten dat die "xyxyxyx" niet in het "TeOnderzoekenVeld" voorkomt!
Tip 135 - Tip 105 - Tip 152 - Tip 155 - Tip 201.
|
avd@avd-ci.be - contactformulier