FileMaker - Tip 149

 

Klik op om terug te keren naar het selectiemenu.

Tip 149 - Beperkingen bij FileMaker-calculaties

We moeten al ver gaan om tegen de limieten van de FileMaker calculation engine aan te botsen, maar limieten zijn er wel..

Het formulevenster waar we al onze toverformules intikken, kan niet meer dan dertigduizend tekens bevatten (en dat geldt voor alles wat in zo'n venster kan staan: tekst, getallen, veldnamen, haakjes, operatoren, functies, puntkomma's, spaties enzovoort...).

Getallen kunnen we tamelijk groot maken, maar meer dan vijftien digits mag niet. Daarmee kan je natuurlijk al een behoorlijk bedrag formuleren: 5 groepjes van 3 negens bijvoorbeeld (weet iemand hoe je dat uitspreekt?).

Voor de specialisten: FileMaker rekent niet zelf natuurlijk, dat doet de computer. En die werkt binair, kent dus enkel enen en nullen, niet meer dan twee cijfers dus. Met die enen en nullen slaagt de computer er wel in te doen alsof hij hexadecimaal rekent* terwijl wij, met onze arme hersenen (wegens handen en voeten...), het tientallig stelsel hanteren. Tussen die twee systemen bestaan afwijkingen die in bepaalde situaties bevreemdende resultaten geven (iets als 1,99999999998 terwijl we gewoon 2 hadden verwacht). Maar meestal loopt het wel goed...


* Het hexadecimaal of zestientallig stelsel is een natuurlijk gevolg van het feit dat de computer maar twee tekens herkent: stroom of geen stroom, iets of niets, 0 of 1. Hierbij worden de enen en nullen gebruikt om - in reeksen geschreven - alle cijfers weer te geven die we nodig hebben om te kunnen rekenen. Een eenvoudig voorbeeldje: als je elk cijfer door één teken laat voorstellen, en je hebt slechts twee tekens (een één en een nul), dan kan je ook maar twee cijfers weergeven. Je zou bijvoorbeeld kunnen afspreken dat de één een zes voorstelt en de nul een negen, om maar wat te zeggen. Dan kan je dus 69 schrijven als 10 (de combinatie van een één en een nul). Als we het op een akkoordje gooien en we stellen voor een cijfer voor te stellen door twee tekens, dan kunnen we al vier combinaties maken (00, 01, 10 en 11) en dus ook vier cijfers voorstellen: zo zouden we kunnen zeggen dat 00 de nul voorstelt, 01 het cijfer 1, 10 het cijfer 2 en 11 het cijfer 3, gewoon een kwestie van conventie. Met drie tekens geraken we al een heel eind verder. Dan krijgen we deze combinatiemogelijkheden: 000, 001, 010, 011, 100; 101, 110, 111. Acht mogeliljkheden dus (2 tot de 3de macht: 2 x 2 x 2). Met acht mogelijkheden komen we er natuurlijk nog niet. We zouden bijvoorbeeld het cijfer 9 niet kunnen weergeven. Als we een combinatie van 4 tekens afspreken, dan krijgen we 16 mogelijkheden. We kunnen daarmee al de cijfers 0 tot 9 weergeven, en dan houden we nog 6 mogelijkheden over. Daarmee kunnen we ook al 6 letters schrijven, te weinig weliswaar voor een alfabet. Uiteindelijk hebben de ASCII-mensen geopteerd voor 8 combinaties. Daarmee konden ze 256 tekens schrijven, en dat is lange tijd voldoende geweest. Vandaag gebruiken we Unicode en kunnen we ongeveer 64.000 tekens weergeven. Zo kunnen we ook Chinees, Swahili, Arabisch en nog veel meer schrijven: voor iedereen is er nu wel een teken (zelfs voor de uitvinders van de Euro: €)!

 
avd@avd-ci.be - contactformulier