FileMaker - Tip 77

 

Klik op om terug te keren naar het selectiemenu.

Tip 77 - Records selecteren via een Loop met Omit record

Meestal bevat een Loop de scriptstap Goto record [next]. Op die manier kan een loop een volledige reeks records afwerken. De Exit after last is automatisch mee ingebouwd.

Maar er zit wel een addertje onder het gras (en geen angeltje, zoals vaak geschreven wordt): wanneer we tijdens de Loop een Omit record (moeten) gebruiken, bijvoorbeeld omdat we bij bepaalde records geen actie nodig hebben, dan zorgt deze Omit er wel voor dat de volgende record in de reeks de actuele wordt. Als we dan nog eens Goto record [next] uitvoeren - en dat is zo, want die zit automatisch mee in onze loop -, dan slaan we in feite één record over, en dat kan de bedoeling niet zijn! In dat geval moet dus een Goto record [previous] toegevoegd worden!

Een analoog voorbeeld in een script dat als taak heeft een aantal gevonden records te dupliceren:

Loop
Goto 1st Record
Duplicate
Omit Record
(om het duplicaat uit de lijst te verwijderen)
Goto Previous Record
Omit Record
(om het gedupliceerde uit de lijst te verwijderen)
Exit Loop if "Status(Current Found Count)=0"

End Loop

 
avd@avd-ci.be - contactformulier