Jump to content
  • 0

related find


andries

Question

edit: ondertussen wel uitleg gevonden. Op zich logisch dat een globaal veld geen waarde heeft in Find Mode, en dus logisch dat die dus ook niet kan filteren voor de zoekresultaten...

 

Een filemaker gedrag dat ik gewoon niet begrijp...

 

Ik heb een parent record, met related child records. So far so clear. Elke child record heeft een bepaald type gedefinieerd ( INV, POS of DEL ). De volgende relatie bestaat tussen de twee tabellen:

 

Parent Record Child Record

zkp = zkf

Type_g = Type

 

In een list view laat ik simpelweg tekst zien van de parent record, én een constante ( gelijke aan 1 ) vanuit de child record. Op die lijst heb ik het globaal veld Type_g staan, met een value list ( INV, POS, DEL ). Als ik dus een waarde in het globaal veld invul zie ik dus een 1 komen te staan als er een child record bestaat, en niets als er geen child record staat. Dus stel ik heb vier Parent records, en twee ervan hebben een related record die van het type "INV" zijn, en ik stel mijn global in op INV dan zal ik dus vier records zien, waarbij er bij twee records een 1 zal staan. Ideaal, dit wil ik (bijna).

 

Als ik nu echter mijn globaal veld op INV zet, en dan naar find mode ga, om een 1 in te typen in dat veld, zou ik verwachten dat ik maar 2 records zou terugkrijgen. Echter niets is minder waar... ik krijg al mijn parent records terug, die ook maar een related record hebben, (in dit geval dus 3) en het maakt niet uit welk type dit related record is.

 

Ik heb snel een test bestandje gemaakt...

 

naar mijn mening "negeert" FileMaker de relatie gebaseerd op het globaal veld tijdens de find... maar ik kan mis zijn natuurlijk...

 

Weet iemand hier iets meer over?

TestRelatedFind.fp7

Link to comment

4 answers to this question

Recommended Posts

  • 0

Hoi Andries,

 

Volgens mij zit er wel degelijk logica in dit Filemaker gedrag.

Als je zoekt op 1 in de gerelateerde (child) records dan vindt FM alle records waar een 1 is ingevoerd, de relatie is op dat moment niet van toepassing want in het gerelateerde record is het veld type ook in zoekmodus (en dus nog leeg). Dat is ook de reden dat de relatie niet werkt,dat heeft dus niets met je global te maken. Als je alle records wilt vinden die zowel type INV en 1 hebben staan zal je beide velden moeten vullen.

 

Ik kan me voorstellen dat je deze functie toch nodig hebt. Ik zou het doen met een scriptje.

je kunt dan de waarde uit je portal automatisch in het type van de child zetten en ook de 1 kun je automatisch laten zetten en dan de zoekopdracht uit laten voeren.

 

Groet, Niels

Link to comment
  • 0
Als je in de help file van filemaker zoekt op "global" dan staat daar o.a. te lezen:

 

You can't use a global field to find records.

 

denk dat hiermee je vraag beantwoord is.

 

Hiermee bedoelen ze toch dat je niet kan zoeken op een globaal veld. Dat heb ik al gemerkt, je kan het gewoon niet invullen in find mode.

 

Dit is bedoelde ik anders. We waren aan het onderzoeken of FIleMaker tijdens een find kon zien welke gerelateerde records er waren door een relatie met een globaal veld, maar zoals Niels het mooi zei: hoe kan dit nu als de waarde waarop je filter geen waarde heeft in Find Mode.

 

Maar dit hadden we ondertussen ook zelf uitgedokterd.

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