Typen en zoeken tegelijk

Voor keuzelijsten is “Type ahead” beschikbaar. Terwijl dat je een veld invult, wordt de keuzelijst beperkt. In een lijst met bijvoorbeeld 10.000 artikelen kan het handiger zijn te typen en meteen de selectie te zien.

In het voorbeeldbestand demonstreer ik een effectieve techniek waarmee na iedere toestaanslag een zoekopdracht wordt uitgevoerd. De zoekopdracht die wordt uitgevoerd, zoekt op vooraf gekozen velden die in het zoekscript zijn vastgelegd. Lees meer Typen en zoeken tegelijk

Virtual Magic Valuelists

In de community zie ik af en toe vragen voorbijkomen van mensen die keuzelijsten van meerdere tabellen in één willen hebben en vragen van mensen die Magic-Valuelists niet werkend krijgen.

Het interessante is dat je de Magic-Valuelists-techniek kan combineren met Virtuele Lijsten en ExecuteSQL() om Virtual Magic Valuelists te maken. Die combinatie heeft me geïnspireerd om dit voorbeeld in elkaar te zetten. Lees meer Virtual Magic Valuelists

Compatibiliteit FMP met oudere versies

Wellicht een open deur voor sommigen, maar soms is het handig om een reminder te hebben van welke functie je kan toepassen. Zit je met 17 te programmeren voor een klant waar gebruikers nog versie 14 gebruiken, dan is het soms nodig om even te spieken.

Dat kan via de help van FileMaker op in het Nederlands of als je het liever in het Engels opzoekt kan dat hier.

Postcode opzoeken bij een adres

Je kent vast wel het probleem dat je een adres hebt en dat je de postcode niet weet. Dan ga je naar google, daar tikt je het adres in Maps en dan kijk je wat er bij de postcode verschijnt.

Met de download bij dit artikel kan je exact hetzelfde doen vanuit FileMaker. Werkt in Pro én in Go. LET OP! FileMaker 16 óf de BaseElements-plugin gebruiken! (allebei gaat trouwens ook goed)

NL Google Postcodesearch

Script dispatching met het FMP-protocol

je kan tijdens het scripten in FileMaker van alles aanroepen en bewerken door de naam op te geven: ga naar layout, veld instellen op naam, evalueer, ga naar object etc.

Nu vroeg iemand in de FileMaker Community waarom je scripts niet dmv een variabele een script kan starten. Ik heb daar even over nagedacht en dit zou je prima kunnen doen met het FMP-protocol. Lees meer Script dispatching met het FMP-protocol

Netwerk-installatie van FileMaker mbv “Assisted Install.txt”

Als je op deze website struint heb je zonder twijfel al eens FileMaker geïnstalleerd en vrijwel zeker heb je dat gedaan door simpelweg de installer te openen, te dubbelklikken, vragen te beantwoorden, licentie in te vullen, te registreren …. best veel handelingen eigenlijk. Helemaal niet erg wanneer je FMP alleen op de eigen computer nodig hebt, maar kan vervelend als je 10, 20 of misschien wel 100 computers moet doen.

Voor dat soort situaties kan je een zogenaamde Assisted-Install uitvoeren ofwel een netwerk-installatie. In deze guide van FileMaker (pdf-formaat) kan je precies nalezen hoe je dat moet doen. Ik heb dit keer eens filmpjes gemaakt om te laten zien. Lees meer Netwerk-installatie van FileMaker mbv “Assisted Install.txt”

Recursiviteit

Twee jaar geleden heb ik in dit artikel (Recursieve Custom Functions maken) een methode getoond waarmee je stapsgewijs een CF zou kunnen maken. Het voorbeeld in dat artikel was zogenaamde “kop-recursie” of in het engels “head-recursion”.

In dat artikel heb ik de opmerking gemaakt dat over het verschil tussen kop- en staart-recursie een apart artikel zou kunnen worden geschreven. Hieronder probeer duidelijk te maken wat de verschillen zijn en stel een paar functies beschikbaar die je zelf als basis voor je eigen CF’s zou kunnen gebruiken. Lees meer Recursiviteit

Andere SSL-certificaten gebruiken op FMServer

untrusted ikoonhet is al een tijdje mogelijk om met FMP en FMS een “beveiligde” verbinding te maken. Gebruik je echter het standaard FileMaker SSL-Certificaat dat bij de installatie van FMS wordt meegeïnstalleerd, dan gebruik je een certificaat dat “de hele wereld” ook gebruikt en dat is per definitie dus niet veilig.
trustedJe kan echter ook een eigen certificaat installeren en met de komst van FileMaker Server 15 is het installeren van een SSL-certificaat
een eitje geworden.

Lees meer Andere SSL-certificaten gebruiken op FMServer

JSON uitlezen

in FileMaker is behoorlijk lastig ben ik achtergekomen. Er is over JSON heel veel documentatie te vinden, maar dat is allemaal gericht op het gebruik van libraries in javascript, php etc.

Voor FileMaker zijn er dan voor zover ik heb gevonden 2 plug-ins beschikbaar waar je JSON mee kan uitlezen (en deels ook bewerken, maar dat is buiten de scope van dit artikel). De gratis Base-Elements plug-in van goya (BE) en de MBS FileMaker plug-in van Monkeybread Software (MBS) De beide plug-ins werken, maar hebben allebei zo hun voor- en nadelen.

Lees meer JSON uitlezen

Meertalig systeem

Het gebeurt wel eens dat je een project hebt waarbij meertalige veldlabels nodig zijn. Een nederlandse gebruiker ziet dan “Achternaam” staan waar een engelse gebruiker “Last name” ziet staan. Thans dat is de bedoeling.

Er zijn op internet wel voorbeelden te vinden van hoe dat kan worden gerealiseerd en ik heb er zelf diverse bedacht, gezien en uitgeprobeerd. De manier die ik hier voorstel is héél eenvoudig uit te breiden én toe te passen. Deze werkwijze is absoluut niet invasief op je bestaande oplossing, want je bouwt het er bij, zonder relaties of wat dan ook toe te voegen. Lees meer Meertalig systeem

FMServer aan-/uitschakelen op een desktop

Dit keer een artikel over het op bepaalde manieren aan en uit schakelen van FileMaker Server en specifiek op een desktop computer (Mac of Windows). Je zou denken dat dit niet veel voeten in de aarde heeft en inderdaad als je er aan bent gewend, dan heeft het in jouw eigen situatie niet veel om het hand, maar als je gaat uitzoeken, dan komt er toch nogal wat om de hoek kijken en dus heb ik daar maar een artikel aan gewijd.

Lees meer FMServer aan-/uitschakelen op een desktop

Recursieve Custom Functions maken

Custom Functions of Eigen functies (CF) zijn heel handig wanneer je getallen of tekst volgens een vast patroon wilt bewerken. Graden celsius omrekenen naar graden Fahrenheit en vice versa is daar een voorbeeld van: F = C * 9 / 5 + 32 en andersom C = 5 * ( F – 32 ) / 9 zijn gemakkelijk in CF te vangen, want het zijn enkelvoudige bewerkingen van een stuk data.

Lees meer Recursieve Custom Functions maken

Valutakoersen

wanneer je bezig bent met handel buiten de euro-zone dan krijg je te maken met wisselkoersen en het feit dat die fluctueren. De Europese Centrale Bank (ecb) publiceert dagelijks rond 3 uur CET op http://www.ecb.europa.eu/stats/exchange/eurofxref/html/index.en.html 32-tal valuta-koersen.

Deze koersen kun je gebruiken om bijvoorbeeld in de je boekhouding te gebruiken. Het zijn overigens de middelkoersen en niet de inkoop- en verkoop-koersen. De verschillen daarmee moet je natuurlijk apart verwerken.

Lees meer Valutakoersen

Encryptie

Encrypt

Functies; Substitute, Base64Encode & Base64Decode

In mij zoektocht naar een manier om gegevens in FileMaker versleuteld op te kunnen slaan, ben ik heel wat verschillende methodes tegen gekomen. Custom Functions, plugins en zelf kant en klare oplossingen. Maar geen van deze voldeedt aan mijn strenge eisen; snel gegevens in tekst- en containervelden kunnen versleutelen … ook in FileMaker Go.

Lees meer Encryptie

Maak, maar vooral houd je code leesbaar

Graag wil ik mij even voorstellen. Mijn naam is Patrick Smit en ik ben een FileMaker enthousiastelling. Ooit begonnen met MS Access en daar een leuk systeem mee gemaakt voor een toenmalige werkgever. Vervolgens door omstandigheden een tijd geen database werkzaamheden, maar wel altijd de kracht die daarvan uitging geuit tegenover een ieder die dat maar wilde horen en ook aan hen die dat niet inzagen c.q. begrepen. Vervolgens ben ik op een bepaald moment in 2010 met FMPro in aanraking gekomen en dat heeft mij sindsdien niet meer losgelaten.

Het onderwerp wat ik graag zou willen aansnijden betreft calculaties. En dan met name de leesbaarheid daarvan. Persoonlijk heb ik er altijd moeite mee om code ( calculaties ) te lezen waar geen of nauwelijks spaties in voorkomen. Dat wordt nog eens versterkt als haken direct tegen tekst aan getypt staan. Wat ik dan als eerst doe is daar waar nodig spatiëringen toepassen om de boel leesbaarder te krijgen. Noem het een tik of van mijn part zonde van de tijd, maar mij helpt het. En ik stel me zo voor dat er meerdere mensen zijn die graag een leesbare code voorgeschoteld krijgen. Lees meer Maak, maar vooral houd je code leesbaar

Tekst markeren

Screen Shot 2014-10-17 at 11.54.51Functies; Substitute, Replace, TextStyleAdd en Set Position

Het kunnen markeren en terugvinden van tekst stondt altijd nog op mijn verlanglijstje. Het ook daadwerkelijk uitwerken werdt getriggert door mijn collega Albert die met de ‘Set Position’ functie op de proppen kwam. Alhoewel deze functie al vanaf versie 6 beschikbaar is, hadden wij hier blijkbaar nooit echt aandacht aan geschonken. Lees meer Tekst markeren

FileMaker in een andere taal op MacOS

Een jaar geleden heb ik een artikel geplaatst over hoe je Filemaker “Engelstalig” zou kunnen gebruiken op een Nederlandse Mac OS X. Die manier houdt feitelijk in: het wijzigen van de pakket-inhoud van je Filemaker.app en dat werkt. Maar die manier is niet erg flexibel en de tip van Felix: Language Switcher (http://www.tj-hd.co.uk/en-gb/languageswitcher/) werkt prima, maar weer niet lekker als je meerdere versies Filemaker wilt gebruiken.

Je kan (een willekeurige) Filemaker ook starten vanaf de command-line en daarbij je voorkeur voor een specifieke taal opgeven. Je kan kiezen uit 11 talen: Duits (de), Engels (en), Spaans (es), Frans (fr), Italiaans (it), Japans (ja), Koreaans (ko), Nederlands (nl), Portugees (pt), Zweeds (sv) en Chinees (zh-Hans).

Start “Terminal.app” en tik in:
/Applications/FileMaker\ Pro\ 13\ Advanced/FileMaker\ Pro\ Advanced.app/Contents/MacOS/FileMaker\ Pro -AppleLanguages '(en)'
(Alles op één regel zoals in het voorbeeld van de afbeelding hieronder)

Schermafbeelding 2014-10-12 om 23.27.00

Lees meer FileMaker in een andere taal op MacOS

Text Logic (Updated)

[Update] 28 mei 2019: Met de custom-function “ListLogic” kan je deze functies in één functie stoppen. Je hebt dan wel minsten FMP(A) 16 nodig. Zie: https://www.filemakertips.nl/listlogic/ [/Update]

Enkele weken geleden heb ik hier de Custom-Functie Unique Values gepubliceerd. Met die functie kan je uit een hoeveelheid waarden, de unieke waarden filteren en naar behoefte (geen) rekening houden met hoofdletters. Deze functie leent zich echter ook prima om logische problemen op te lossen met value-lijsten. Om te beginnen geef ik eerst de 3 belangrijkste functies, die je nodig hebt en waarmee al het andere valt af te leiden.


De eerste is alle waarden tonen die wél in “Lijst A” staan, maar niét in “Lijst B” (NOT), Not_Values ( Lijst A ; Lijst B ) :

Lijst A Lijst B Not_Values
Nummer1
Nummer2
Nummer3
nummer1
nummer2
nummer4
G
P
T
J
F
G
Nummer4
P
T
nummer2
Nummer1
Nummer3

Deze functie is in dit voorbeeld zoals je ziet niét hoofdlettergevoelig, maar dat is simpel in te stellen. Lees meer Text Logic (Updated)

Routeplanner met Googlemaps

Het vorige artikel (en voorbeeld) toonden een route van A naar B in een kaart. Dat is natuurlijk leuk, maar daar heb je meestal geen webviewer voor nodig. Je wilt vaak meer en dat kan met het voorbeeld van deze keer, dat een (paar) stapje(s) verder gaat:
1) De route bevat waypoints
2) De volgorde wordt vanzelf geoptimaliseerd
3) Er wordt een totale afstand berekend

De basis is hetzelfde bestand van het vorige artikel. Er is een veld toegevoegd “Waypoint”, waarin een lijst van via punt/adressen in kan worden gezet. De volgorde van die adressen is niet belangrijk, want google-maps berekent zelf de ideale route. Verder is de berekening van het veld “userdata” wat aangepast om de lijst in het juiste (javascript-formaat) aan het javascript in de pagina aan te bieden. Lees meer Routeplanner met Googlemaps

GoogleMaps in de Webviewer

Er zijn verschillende manieren om GoogleMaps in de webviewer te tonen. Google heeft de API in de afgelopen jaren ook al enkele keren gewijzigd. Hier stel ik het gebruik van de Javascript v3 API aan jullie voor.GoogleMaps

Ik gebruikte voorheen de GoogleMaps-Embed API en die werkt nog steeds prima. Gebruik je echter FMPro 12.0 v 5 of nieuwer (inclusief versie 13x) op MacOSX, dan krijg je met de embed-API een groot grijs vlak te zien ipv een mooi kaartje! Ik heb dat als BUG neergelegd bij FMI, maar zij komen er niet uit en geven als advies de nieuwe GoogleMaps Javascript v3 API te gebruiken.

Die API lijkt erg simpel (dat is ie eigenlijk ook) maar als je niks van Javascript weet, dan wordt het toch ietsje lastiger en dat geldt ook voor mij, dus ben ik er maar eens ingedoken. Lees meer GoogleMaps in de Webviewer

Unique Values

De unieke waarden uit een lijst overhouden

Er zijn diverse functies op internet te vinden waarmee je uit een lijst met waarden de unieke waarden kunt filteren. Die functies missen  case-sensitivity of ze zijn niet autonoom en dat heeft de functie die ik hier voorstel wél.

De custom-functie heet UniqueValues en ziet er als je hem gebruikt zo uit:

UniqueValues( Valuelist ; CaseSensitive ; Result )

LET OP! Dit is een nieuwe variant van de functie die tot 15 Augustus 2014 hier heeft gestaan. Lees meer Unique Values

GetLayoutObjectAttribute

Sinds Filemaker Pro 8.5 bestaat het commando GetLayoutObjectAttribute en daarmee kan je van objecten die een naam hebben gekregen eigenschappen opvragen in een script. Het resultaat kan je dan gebruiken om een actie uit te voeren (of juist niet).

Ik vind het zelf niet erg handig dat je niet gemakkelijk een keuzelijstje hebt waarmee je het attribuut kan opgeven en als je dat dan zou hebben, dan weet je nog niet of en wanneer je een bruikbaar resultaat van het commando zou krijgen. In de help van Filemaker staat het allemaal wel uitgelegd, maar dat is niet erg overzichtelijk en daarom heb ik een tijdje geleden een overzichtje in elkaar gedraaid. Lees meer GetLayoutObjectAttribute

Evaluate-Let 2.0

Deze keer een custom-functie: EvaluateLet() en deze kan worden gebruikt om een string variabelen (die er uitziet als: “$test=1;$naam=\”Piet\”” etc. )  in één keer om te zetten in tig-variabelen.

In de filemaker-help en in diverse artikelen op internet kan je info vinden over het in één set-variable scriptstap declareren van meerdere variabelen.

Evaluate ( “Let([” & parameter-string & “] ; 1 )” )

Ook op deze site vindt je daar een artikel over van Jos: Scriptparameters en results en gaat daar indirect ook over. Deze methode werkt ook perfect, maar heeft zo merkte ik ook een belangrijke beperking: het lukt niet om meer dan 1000 variabelen in één keer aan te maken. Lees meer Evaluate-Let 2.0