FileMaker - Tip 8

 

Klik op om terug te keren naar het hoofdmenu.

Tip 8 - Correct gebruik van de Auto Enter functie met calculaties

Gegevens intikken hoeven we niet altijd zelf te doen. FileMaker kan ervoor zorgen dat dat automatisch gebeurt, tenminste indien we dat aangegeven hebben in Define Fields - Options - Auto Enter. Zo kunnen we records bijvoorbeeld automatisch laten nummeren, en het is ook mogelijk automatisch de aanmaakdatum in te vullen. De knapste mogelijkheid is echter wel dat gegevens automatisch ingevuld kunnen worden via een calculatie. Hierbij zitten wel wat addertjes onder het gras (geen angeltjes, zoals we vaak lezen...).

Het gebeurt immers vaak dat deze calculatie zelf gebaseerd is op elementen die nog moeten ingevuld worden op dit nieuwe record. De aldus door FileMaker ingevoerde gegevens zijn echter bedoeld om definitief te blijven en indien de basisgegevens veranderd worden, dan wordt de berekening niet opnieuw uitgevoerd (wil men dat wel, dan moet men gebruik maken van een andere mogelijkheid: het calculatieveld, maar dat is een ander verhaal).

Het precieze ogenblik waarop de Auto Enter functie wordt uitgevoerd, is niet zonder belang. Indien deze immers gebaseerd is op een calculatie, dan wordt Auto Enter uitgevoerd van zodra een calculatieresultaat mogelijk is. Dat is dus al het geval wanneer nog maar één enkel van de elementen van de calculatie is ingevuld. Uiteraard is dit eigenlijk niet ideaal, zodat het nodig is een work around te bedenken.

Concreet voorbeeld: stel een databank met een tekstveld Vennootschapsvorm, een tekstveld Bedrijfsnaam, een calculatieveld Bedrijfsnaam Integraal (met als formule Bedrijfsnaam Integraal = Vennootschapsvorm & " " & Bedrijfsnaam), en een tekstveld Bedrijfsnaam voor facturatie met Auto Enter via een calculatie (met als formule Bedrijfsnaam voor facturatie = Bedrijfsnaam Integraal). In dit geval wordt de Auto Enter functie voor het veld Bedrijfsnaam voor facturatie al uitgevoerd van zodra één brongegeven beschikbaar is, nl. een resultaat van de calculatie in Bedrijfsnaam Integraal. En dat resultaat verschijnt al meteen wanneer nog maar enkel de Vennootschapsvorm is ingevuld! FileMaker maakt dan al de calculatie zonder te wachten tot alle deel-elementen van de formule beschikbaar zijn! Vermits de Bedrijfsnaam zelf nog niet ingevuld is, is het resultaat dus gewoon NV! Dat dan achteraf nog wel de bedrijfsnaam ingevuld wordt, verandert niets meer aan wat Auto Enter in het veld Bedrijfsnaam voor Facturatie heeft gezet!

Om dit probleem te vermijden, volstaat het de berekening pas te laten uitvoeren wanneer alle brongegevens ingevuld zijn. Hiertoe volstaat het de calculatie ongewijzigd te laten, maar ze wel in te bedden in een If-functie die vereist dat alle deelgegevens aanwezig zijn vooraleer het resultaat mag berekend worden:

If(not IsEmpty(Vennootschapsvorm) and not IsEmpty(Bedrijfsnaam); Vennootschapsvorm & " " & Bedrijfsnaam; "")

 
avd@avd-ci.be - contactformulier