|
Tip 117 - Hoe voorkomen dat Go to related record op
niets uitloopt?
Met "op niets uitlopen" bedoelen we
natuurlijk dat niets gevonden wordt, gewoon omdat er geen
gerelateerd record is. Dat controleren we dus het beste op
voorhand, dus vóór de scriptstap
GTRR.
Hier gebruiken we bij voorkeur een
If statement met IsEmpty:
IsEmpty(childfile::keyfield)
Wanneer IsEmpty
de waarde true (1) oplevert, kunnen we een
boodschap laten verschijnen (bijvoorbeeld: "Er werd geen
gerelateerde record gevonden", of iets dergelijks).
Natuurlijk wordt GTRR daarna
niet uitgevoerd.
Maar we zijn met FileMaker bezig en
dus er is nooit slechts één weg. Het kan
best zijn dat we in de childfile een specifieke
lay-out willen gebruiken wanneer er iets te tonen
is. We moeten dan wel een (extern) script activeren om
naar die lay-out te gaan. In dat geval kunnen we het
bovenstaande gewoon negeren: we gaan in elk geval
naar de childfile. In het external script
controleren we meteen of er iets gevonden is (bijvoorbeeld
met If(StatusCurrentFoundCount)
> 0). Indien er iets
gevonden is, dan activeren we de gewenste
lay-out. Indien er niets gevonden werd, dan tonen we
een boodschap ("Er werd geen gerelateerde record gevonden")
en keren we meteen terug naar de parentfile (met een
doodgewone Open
File script-stap). Misschien
kunnen we eerst nog een Find
all doen (of Show
all records, afhankelijk van de
versie) zodat we de aangesproken databank niet met een leeg
record-venster achterlaten (omdat er niets gevonden
werd).
|