Jump to content
  • 0

Lijst met gerelateerde gegevens in calc


WJ

Question

Posted

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

  • 0
Posted

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

  • 0
Posted
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

  • 0
Posted

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.

  • 0
Posted

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?

  • 0
Posted

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

  • 0
Posted
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?

  • 0
Posted

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

  • 0
Posted

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.

  • 0
Posted

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

  • 0
Posted

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.

  • 0
Posted

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...

  • 0
Posted

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

  • 0
Posted

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"!

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...