WJ Posted June 6, 2005 Posted June 6, 2005 Volgende situatie. Ik heb een bedrijven tabel en een personen tabel. Nu wil ik het volgende ik wil alle achternamen van de gerelateerde personen van een bedrijf in een calculatie veld in de bedrijven tabel. Als ik een calc veld maak achternaam in de bedrijven tabel met Personen::Achternaam dan krijg ik alleen het eerste gerelationeerde record. Hoe los ik dit op ? Quote
0 Rony Rabijns Posted June 6, 2005 Posted June 6, 2005 Mogelijke oplossingen : Relationeel : Conditional Valuelist maken op basis van de relatie. Deze lijst uitlezen met de Designfunctie. Scripten : via een loopje alle namen optellen. Quote
0 WJ Posted June 6, 2005 Author Posted June 6, 2005 Bedankt Tony, Je bent een held. Filemaker zou naar mijn smaak wel wat meer controle kunnen bieden over gerelateerde records. Bijv i.p.v get repetition, get relatedrecord. Dank voor je hulp Groet, WJ Quote
0 WJ Posted June 6, 2005 Author Posted June 6, 2005 Sorry, ik bedoelde Rony. . Tevens verliep het php gedeelte niet naar wens Groet, wj Quote
0 Rony Rabijns Posted June 6, 2005 Posted June 6, 2005 Tevens verliep het php gedeelte niet naar wens Dat merkte ik deze ochtend ook. Gebruik jij toevallig ook OS X Tiger met Safari 2.x ? Quote
0 WJ Posted June 6, 2005 Author Posted June 6, 2005 Gebruik jij toevallig ook OS X Tiger met Safari 2.x ? Ja Maar ik had hetzelfde probleem net achter mijn PC. XP Firefox 1.04 Oplossing relationeel werkt perfect. Uitlezen van een value list via een designfunctie krom maar perfect. Ga nu naar klant. Groet, WJ Quote
0 WJ Posted June 17, 2005 Author Posted June 17, 2005 Via de volgende custom functie kan je dan een waarde uit de value list van gerelateerde records halen MiddleValues ( ValueListItems ( Get(FileName); ~ValueList ); Get ( PortalRowNumber ); 1) Leuk om gerelateerd record te maken en die meerdere keys mee te geven. Hier doet zich wel het probleem dat je niet weet welke portal de gebruiker heeft geselecteerd. Quote
0 Sanne Posted June 17, 2005 Posted June 17, 2005 Krijg je daar niet een probleem, wanneer de portaal op een andere wijze dan default is gesorteerd? Is een waardelijst niet altijd alfabetisch gesorteerd? Dan garandeert toch niets jou, dat de waarde die je op basis van de portaalrij-nummer uit de waardelijst haalt, ook de waarde van het gerelateerde record is? Ik ga er vanuit dat je iets probeert te starten vanuit een portaalrij. Wat is er mis mee om van het portaalrecord de primary key (ID) op te halen en van daaruit de waardes verder te bepalen? Quote
0 WJ Posted June 17, 2005 Author Posted June 17, 2005 Klopt. De relatie en de value list dienen hetzelfde te zijn gesorteerd. Ik zal je mijn gebruik uitleggen. Ik heb een bedrijven kaart op deze kaart staat een portal met gerelateerde personen. Tevens zijn er portals voor offertes,correspondentie etc. Ik heb een value list van de relateerde personen met de primary key. Als ik nu een offerte wil maken kan dat als volgt het makkelijks de gebruiker klikt op de portal row van de persoon en vervolgens de offerte knop. Met de vorige functie kan ik direct de juiste primary key van de persoon pakken en in een globaal neerzetten. Erg makkelijk, cind ik. Groet, WJ Quote
0 Sanne Posted June 17, 2005 Posted June 17, 2005 Met de vorige functie kan ik direct de juiste primary key van de persoon pakken en in een globaal neerzetten. Maar als je in de portaalrij een knop zet, die de pk van dat gerelateerde record in een global zet Set Field [GlobalVanDezeTabel] naar [TabelVanPortal :: PK] dan heb je toch ook de pk van het gerelateerde record in een global? Dus waarom die vreemde constructie met een valuelist?! Nog eenvoudiger is een knop op de portaalrij die direct de offerte maakt. Wanneer je een script activeert via een knop op een portaalrij, dan is het gerelateerde record bekend. Niks niet moeilijk doen met gaan opvangen in welke portaalrij je zit, dat is volkomen overbodig. Waarom al die omwegen? Quote
0 WJ Posted June 17, 2005 Author Posted June 17, 2005 Ja, Alleen wil ik geen knop in mijn portal. Want dan moet ik namelijk wel 4 knoppen in mijn portal plaatsen, lelijk. Bovendien vindt ik dat zonde van mijn ruimte in mijn portal. Wel een veel simpelere oplossing natuurlijk. Groet, WJ Quote
0 Sanne Posted June 17, 2005 Posted June 17, 2005 Maar die knop hoef je toch niet als knop te tonen? Je zegt dat je nu een portaalrij selecteert en dan op een button buiten de portaal klikt om de pk van de persoon in een global te zetten. Als een portaalrij geselecteerd staat, en je klikt op een button, dan is op dat moment de portaalrij nog steeds geselecteerd. En kun je dus nog steeds gebruik maken van de relatie om de pk op te pakken: opnieuw geen constructie met valuelist nodig. Daarnaast is het ook mogelijk om de portaalrij als geheel een button te maken. Dan lijkt het alsof je de portaalrij selecteert (je ziet geen button maar klikt ergens in de portaalrij) terwijl je toch een button gebruikt om de pk in een global te plaatsen. Opnieuw geen constructie met valuelist nodig. Quote
0 RON7 Posted June 17, 2005 Posted June 17, 2005 Klopt Sanne,ik gebruik altijd hidden knoppen voor dergelijke toepassingen,is simpel en werkt overzichtelijk.Zeker als je de portals per layout (offerte,correspondentie,bestelling enz..),verdeelt,netjes een nieuw venster tonen in 7 en dan kan men niet missen...vergissen Quote
0 Sanne Posted June 18, 2005 Posted June 18, 2005 Ja, het blijft me maar dwars zitten: het portaalnummer gebruiken om een waarde uit een valuelist te selecteren. Ooit gaat dat echt mis. Bijvoorbeeld als er dubbele waarden aanwezig zijn: identieke waarden zullen als 1 valuelist-item worden getoond. Daarbij, als je meerdere portalen op een layout gebruikt (niet geheel ondenkbaar) zul je in je constructie weer mee moeten nemen dat het portaalnummer dat je gebruikt van de portaal afkomstig is die dezelfde tabeloccurence heeft als de valuelist die je gebruikt. Gerelateerde waarden in een lijst plaatsen via de valuelist-methode is een prachtige techniek, die je op vele manieren zinvol kunt gebruiken. Maar het lijkt me niet de meest solide oplossing voor het ophalen van een waarde uit een portaal. En het is ook geen solide oplossing voor het maken van een gerelateerd record met meerdere keys of een multikey. Daar zijn andere technieken voor die vele malen veiliger zijn. Quote
0 Peter Wagemans Posted June 18, 2005 Posted June 18, 2005 WJ, ik ben ook ni mee hoor. De value list oplossing is technisch een heel mooi ding, maar je bent hier naar Parijs via Rome aan het gaan, uitgaande van de beschrijving die je hierboven neergezet hebt. Ik heb de indruk dat je niet helemaal door hebt wat de implicaties zijn van een al of niet hidden knop in een portaalrij, en ik begrijp dat zelfs zeer ervaren programmeurs soms eenvoudige basisprincipes niet gebruiken, meestal is dat het gevolg van zelfstudie... Quote
0 WJ Posted June 21, 2005 Author Posted June 21, 2005 Ja, Ik zie heb het net uitgeprobeerd. Ik had vewacht dat Filemaker het eerste gerelationeerde records zou pakken ongeacht welke portal row je geselecteerd had. Bedankt Sanne. Groet, WJ Quote
0 Sanne Posted June 21, 2005 Posted June 21, 2005 Het pakt het eerste gerelateerde record, als je niet een check in je script maakt om te testen of er een portaalrij geselecteerd staat. Iets van "not isempty(get ( portalrownumber) )" Zoals Peter ons de afgelopen confituursessie heeft geleerd: "zandzakjes neerleggen"! Quote
Question
WJ
Volgende situatie. Ik heb een bedrijven tabel en een personen tabel.
Nu wil ik het volgende ik wil alle achternamen van de gerelateerde personen van een bedrijf in een calculatie veld in de bedrijven tabel.
Als ik een calc veld maak achternaam in de bedrijven tabel met
Personen::Achternaam dan krijg ik alleen het eerste gerelationeerde record.
Hoe los ik dit op ?
16 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.