Jump to content
  • 0

Veel op veel relatie


GLoon

Question

Ik heb een tabel met vestigingen en een met contactpersonen van die vestigingen.
Een contactpersoon kan primair contact zijn van meerdere vestigingen maar niet per se van elke vestiging. Hier heb ik dus een veel-op-veel relatie te pakken. 

Ik heb dit opgelost met een samenvoegtabel: VestigingMetContact. In die tabel zit de primaire sleutel van de vestiging en het contact en ook een boolean IsPrimairContact.
So far so good: bij een vestiging vindt FM de juiste contactpersonen.

Op de layout van de vestiging wil ik de gegevens tonen van het primaire contact.
In het FM-relatiediagram heb ik daarvoor een occurrence gemaakt van Contact: PrimairContactVanVestiging.
Ook heb ik een occurrence gemaakt van de tabel VestigingMetContact: VestigingMetPrimairContact
In de Vestigingtabel heb ik een globaal veld met waarde 1 (TRUE) gemaakt PrimairContactGlobalTRUE.

Vervolgens heb ik een relatie gemaakt tussen Vestiging en VestigingMetPrimairContact op basis van de primaire sleutel van de vestigingtabel EN PrimairContactGlobalTRUE met IsPrimairContact.

Helaas komt FM in de layou steeds met de eerste contactpersoon en kijkt dus niet naar de relatie PrimairContactGlobalTRUE met IsPrimairContact.

Waar zit ik hier fout?
Ik heb onderstaand schema gemaakt waarmee ik hoop e.e.a. iets duidelijker te maken.

image.png.197376780e806acb202d7e27c70d05fe.png

  

image.png

Link to comment

3 answers to this question

Recommended Posts

  • 0

Kennelijk is het probleem toch anders: na een aantal keren heen en weer klikken zie ik ineens verandering. Normaal wordt een layout direct geupdate, maar kennelijk niet direct bij een samenvoegtabel??

Link to comment
  • 0

Het idee van een tussentabel is juist en levert de meeste flexibiliteit op. Gebruik het Boolean label in de tussentabel (ik zou het bijv VesitigingContactPersonen noemen).

in deze tussentabel neem je het Boolean veld ‘primair’ op. 
 

ik zie een relatie fout. Tussen Vestigingen en de tussentabel alleen de vestiging-id. 

vervolgens een tweede TO waarin naast de vestiging-Id en link met het veld primair wordt gelegd. Gebruik dan niet een global, maar een vaste 1, bijvoorbeeld door een (eventueel niet opgeslagen) calculatie.

Bij deze benadering oppassen wil je waarschijnlijk voorkomen dat er meerdere primaire personen worden aangevinkt. Daar moet je dan iets voor verzinnen. Ik gebruik in dat geval een scriptie dat vraagt of een reeds bestaande primaire contactpersoon moet worden gewijzigd  

 

 

Link to comment
  • 0

Thanks Marsau. Die calculation Boolean loste mijn problemen op; hij laat de wijziging meteen zien.

Als het vinkje primair contact bij een andere persoon wordt aangezet, wordt het bij de andere uitgezet. Zonder vragen overigens.

Link to comment

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