Ga naar inhoud
  • 0

related find


andries

Vraag

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 naar reactie

4 antwoorden op deze vraag

Aanbevolen berichten

  • 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 naar reactie
  • 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 naar reactie

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.

Gast
Beantwoord deze vraag...

×   Geplakt als verrijkte tekst.   Plak in plaats daarvan als platte tekst

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...