FileMaker - Tip 40

 

Klik op om terug te keren naar het hoofdmenu.

Tip 40 - Today en Status(CurrentDate)

Het Today-gedeelte van deze tip is enkel voor gebruikers van oudere FileMaker-versies. Today is immers al geruime tijd afgevoerd, en de Status-functies zijn ondertussen de Get-functies geworden.

De functies Today en Status(CurrentDate) gaven allebei de datum van vandaag, maar niet precies op dezelfde manier.

Iedereen die in wat grotere databanken de Today-functie gebruikt, heeft al wel gemerkt dat er een vervelend nadeel bij hoort. Het gaat namelijk om de manier waarop die datuminformatie bewaard wordt. Alles heeft te maken met de Storage option: bij Status(CurrentDate) kan men die vrij kiezen, bij Today niet. Dit betekent dat de Today-datum geïndexeerd is, en dus garant staat voor razendsnel zoeken. Nadeel is dat de datum, eens geïndexeerd, niet meer wijzigt ook niet na middernacht ! Die datum blijft dus eeuwig vaststaan tot... de databank gesloten wordt en opnieuw geopend !!! Dit betekent dat bij het openen automatisch die vervelende progress bar verschijnt "Recalculating Today". En dat kan wel even duren, want het gebeurt voor elke record, of die nu gebruikt wordt of niet ! Bij grotere databanken geeft dat de gelegenheid tot een (korte) koffiepauze, willen of niet...

Status(CurrentDate) zou op dezelfde manier werken als we daarbij de optie Stored zouden aanklikken, maar dat doen we dus best niet. Bij Non Stored wordt de datum wel automatisch aangepast, zodat we steeds de juiste datum zien, of de databank nu blijven openstaan is of niet.

Opgelet: stored betekent niet dat de datum nooit meer gewijzigd wordt! Stored betekent dat de informatie ongewijzigd blijft, tot we ze weer opnieuw nodig hebben, en dat is bijvoorbeeld het geval

(1) wanneer we bij het bladeren doorheen de records telkens dat veld te zien krijgen

of nog

(2) wanneer die Status(CurrentDate) in een formule gebruikt werd en één van de andere formule-onderdelen gewijzigd wordt : in dat geval wordt de hele formule herberekend, en dus ook de Status(CurrentDate), maar dan wel enkel voor de record waarin we werken. Gevoelige tijdwinst, dus! Daar zijn de Status-functies immers voor bedoeld: ze blijven bewaard tot (minstens) één van de dependente elementen zich wijzigt.

Wat nu te kiezen? Hiervoor laten we het liefst Anne Verrinder aan het woord: " Waiting for the Today to recalculate, or worse, risking users not closing/opening the file, made the Today function just too painful."

 
avd@avd-ci.be - contactformulier