Stardust Geplaatst: 13 oktober 2015 Delen Geplaatst: 13 oktober 2015 Beste forum leden, Wanneer ik een knop maak op m'n layout met de opdracht GTRR werkt dit als een fluitje van een cent! Echter wanneer ik die opdracht in een script plaats, gebeurt er niets wanneer ik dit script activeer, is dit normaal? Weer een raadsel dat FM me voorschotelt en waarop ik met argusogen uitkijk naar jullie talrijke oplossingen en/of antwoorden. Met vriendelijke groet, Danny Quote Link naar reactie
0 Banach Geplaatst: 14 oktober 2015 Delen Geplaatst: 14 oktober 2015 GTRR (Go To Related Record) werkt vanuit de TOC (Table OCcurence) die aan de layout gekoppeld is vanwaar uit je de GTRR opdracht uitvoert. Dit heet de context. Wanneer je een knop hebt met enkel de opdracht GTRR doe je dit vanuit een bepaalde context. b.v. vanuit een layout met de TOC van KLANTEN en geef je aan dat je via de relatie CONTACTEN de aan die bepaalde klant gekoppelde contacten wilt zien. In een script wordt de context bepaald tijdens het runnen van het script. Wanneer je dan het script met GTRR laat runnen vanuit een layout met een TOC die geen enkele relatie heeft met CONTACTEN, b.v. de PRIJSLIJST zullen er geen records uit CONTACTEN getoond worden omdat er geen relatie tussen deze twee TOC's bestaat. De oplossing is dan ook om in het script eerst de juiste context op te roepen. Dat kan door je script te laten beginnen met een opdracht als Go To Layout waarbij je dan de layout aangeeft met de TOC KLANTEN. Vervolgens worden alleen CONTACTEN getoond wanneer er ook daadwerkelijk contacten aan het klantrecord gekoppeld zijn via de in de GTRR aangegeven relatie. Quote Link naar reactie
0 Stardust Geplaatst: 14 oktober 2015 Auteur Delen Geplaatst: 14 oktober 2015 Banach, Vooreerst mijn dank voor je volledige antwoord. Ik ga dit eerstdaags toepassen (dus als eerste scriptstap naar de desbetreffende layout gaan) en ben nieuwsgierig naar het resultaat Voor alle duidelijkheid, de desbetreffende knop staat in de bewuste (gerelateerde) layout en wordt van daaruit aangeklikt (geactiveerd). Met dank en vriendelijke groet, Danny Quote Link naar reactie
0 JeanWM Geplaatst: 14 oktober 2015 Delen Geplaatst: 14 oktober 2015 Danny, voor je een scripted GTRR doet, controleer je best of er wel degelijk related records zijn. FileMaker gaat niet bewegen als er geen records zijn en de mogelijke volgende scriptstappen zullen uitgevoerd worden op de current found set in de current layout/table. Dat kan nare gevolgen hebben. Denk maar even aan "delete records" als stap. Dan ben je records kwijt in de current table... Je kunt die controle doen door een simpele script stap: If [Count(relationship::related field] Other script steps End If Je kunt eventueel een omgekeerde controle doen als er geen records zouden zijn: If [isEmpty(Count(relationship::related field)] Other script steps End If of ook nog: If [not Count(relationship::related field] Other script steps End If Quote Link naar reactie
0 Stardust Geplaatst: 15 oktober 2015 Auteur Delen Geplaatst: 15 oktober 2015 Beste Jean, Weerom nuttige tips die ik ASAP ga toepassen! Met veel dank en warme groeten vanuit (een koud) Deurne! Danny Quote Link naar reactie
0 Banach Geplaatst: 15 oktober 2015 Delen Geplaatst: 15 oktober 2015 Voor alle duidelijkheid, de desbetreffende knop staat in de bewuste (gerelateerde) layout en wordt van daaruit aangeklikt (geactiveerd). Zie daar het probleem. Wanneer je gerelateerde records wilt zoeken moet je dat vanuit het hoofdrecord (parent) doen en niet vanuit die gerelateerde records. In mijn voorbeeld van KLANTEN en CONTACTEN zul je de GTRR opdracht moeten uitvoeren vanuit een layout met TOC KLANTEN. Doe je dit vanuit een layout met CONTACTEN als TOC dan weet je niet bij welke klanten je de contacten zoekt. Dit kan wel maar dan moet je e.e.a. anders inrichten. Hier geldt dat je eerst naar de layout met TOC KLANTEN moet gaan voordat je via GTRR de bijbehorende CONTACTEN kunt vinden. Quote Link naar reactie
0 JeanWM Geplaatst: 17 oktober 2015 Delen Geplaatst: 17 oktober 2015 Danny, je mag dat knoppeke daar gerust laten staan als je goto vandaaruit past in je process. Zorg er enkel voor dat je script exact doet wat je wenst. Je kunt "backwards" door je relaties gaan om dan te tonen wat je nodig hebt. Je kunt bijvoorbeeld op een record van een vergunning staan en wil de mogelijke andere vergunningen zien van die bepaalde houder. Je script loopt dan terug naar de gerelateerde houder [ key field in variable] van die vergunning en dan doe je een GTRR voor die bepaalde houder. De Freeze window stap zal beletten dat de tussenliggende layouts getoond worden. Quote Link naar reactie
0 Banach Geplaatst: 17 oktober 2015 Delen Geplaatst: 17 oktober 2015 Wanneer je dan toch al vanuit de tabel met de gerelateerde records (CONTACTEN) die records van een bepaalde klant wilt hebben is een eenvoudige zoekopdracht op records met dat klantnummer nog weer een stuk simpeler. Je hebt dan GTRR helemaal niet nodig. Quote Link naar reactie
0 Peter Wagemans Geplaatst: 17 oktober 2015 Delen Geplaatst: 17 oktober 2015 Wanneer je dan toch al vanuit de tabel met de gerelateerde records (CONTACTEN) die records van een bepaalde klant wilt hebben is een eenvoudige zoekopdracht op records met dat klantnummer nog weer een stuk simpeler. Je hebt dan GTRR helemaal niet nodig. Zorg er dan wel voor dat je klantnummer een uniek en numeriek veld is, anders kan je verkeerde records vinden. Quote Link naar reactie
0 Stardust Geplaatst: 17 oktober 2015 Auteur Delen Geplaatst: 17 oktober 2015 Beste forumleden, Dankzij de vele tips waarbij de Count functie de reddende factor was, ben ik weer een stapje verder. Er was nog het kleine probleem dat ik zelf gevonden heb... toen uiteindelijk ik begreep dat ik ook nog in het gerelateerde bestand naar de juiste layout moest gaan Maar nu draait het als een tierelier! Met dank aan allen, Danny Quote Link naar reactie
Vraag
Stardust
Beste forum leden,
Wanneer ik een knop maak op m'n layout met de opdracht GTRR werkt dit als een fluitje van een cent!
Echter wanneer ik die opdracht in een script plaats, gebeurt er niets wanneer ik dit script activeer, is dit normaal?
Weer een raadsel dat FM me voorschotelt en waarop ik met argusogen uitkijk naar jullie talrijke oplossingen en/of antwoorden.
Met vriendelijke groet,
Danny
Link naar reactie
9 antwoorden op deze vraag
Aanbevolen berichten
Doe mee aan dit gesprek
Je kunt dit nu plaatsen en later registreren. Indien je reeds een account hebt, log dan nu in om het bericht te plaatsen met je account.