Jump to content
  • 0

Gegevens tonen uit niet gerelateerde tabel


Rik Verbruggen

Question

Posted

Hallo FM-ers,

 

Ik heb een lay-out waarop een aantal agenderingen in een miniportaal worden weergegeven. In feite staat deze portaal op verschillende lay-outs. Verder is er een tabel 'Administratie' met 1 record, allemaal globale velden en o.a. een veld 'AdministratieID' met de waarde 1. Alle tabellen waarop de lay-outs zijn gebaseerd zijn aan de tabel 'Administratie' gerelateerd middels het veld 'AdministratieID'. De tabel met agenderingen, die in het miniportaal worden weergegeven, is daar ook op die manier aan gekoppeld. Hierdoor kan ik in iedere lay-out de agenderingen weergeven in de miniportaal. Ik noem het maar even zo maar het is gewoon een klein portaal wat fungeert als reminder zodat jullie een beetje een idee hebben bij wat ik wil bereiken. Dit werkt op zich allemaal prima, maar…

Nu is het zo dat er binnen de lay-outs zoekfuncties zijn die kunnen resulteren in een lege foundset.

Het probleem is dan dat er ook geen gegevens uit de tabel 'Administratie' weergegeven kunnen worden en daardoor dus ook geen agenderingen in de miniportaal. In SQL zou je zoiets met een outer-join oplossen denk ik maar ik heb geen idee hoe je dat in FM kunt realiseren. Heb het net al afgezocht maar kom niet verder. Heeft iemand dat al eens opgelost?

Alvast bedankt voor jullie reacties,

Rik Verbruggen.

6 answers to this question

Recommended Posts

  • 0
Posted
Beste Rik,

 

Als de AdministratieID een globaal veld is dan moet het ook werken als er geen gevonden records zijn.

Volgens mij is dat niet niet altijd zo: als 'administratieID' een berekend veld is, en de found set is 0 records, werkt de formule niet en dus ook de relatie naar de agenda niet.

 

Maar ik zou gewoon zorgen dat igv van een found set van 0 records als resultaat, altijd een Find All Records wordt uitgevoerd.

Sowieso lijkt zoeken me in die administratie layout een zinloze bezigheid, of zie ik het verkeerd.

  • 0
Posted

Nou, dat komt van dommigheid terecht. a) bleek de AdministratiID toch geen global te zijn en b) wist ik niet dat het dan wel zou moeten werken. Ruben, door jouw opmerking werkt het nu voor de lay-outs die rechtstreeks aan het administratierecord zijn gekoppeld. Ik heb echter twee lay-outs waarvan de tabellen niet rechtstreeks aan het administratierecord zijn gerelateerd. Daar werkt het nog niet. Deze, laat ik ze maar even subtabellen noemen, zijn middels een andere ID aan de tabel gekoppeld die wel aan het administratierecord is gerelateerd. Als bij een zoekactie op een subtabel de foundset leeg is kunnen geen gegevens uit de bovenliggende tabel en het administratierecord worden weergegen en daarmee dan ook niet uit agendering.

Ik heb een voorbeeld bijgevoegd. Als je in de lay-out 'Hoofdtabel' op 'Zoeken' klikt dan wordt gezocht naar een niet bestaande waarde en FM meldt dit. Als je voor 'Doorgaan' kiest worden er geen gegevens getoond uit de hoofdtabel maar de agenderingen in de portaal blijven zichtbaar. Helemaal goed!

Als je in de lay-out 'Subtabel' hetzelfde doet dan verdwijnen ook de agenderingen uit de portaal. En de vraag is of daar een oplossing voor is?

 

@Hans: Het AdministratieID is in mijn geval nooit een berekend veld dus dat moet goed gaan. Zoeken in het administratierecord gebeurt ook niet, alleen in de tabellen die daaraan gekoppeld zijn. Ik gebruik de administratietabel alleen om gegevens uit op te halen (niet om in te zoeken) en als middel om tabellen aan elkaar te relateren.

Het idee om nooit een lege foundset te tonen is misschien een goed idee. Wat ik zou kunnen doen is de vorige foundset terugzetten als er geen records zijn gevonden na een zoekactie. Ik heb al gezocht (en wat gevonden) om de foundset op te slaan alvorens de zoekactie uit te voeren. Als de zoekactie geen records oplevert zou de vorige foundset teruggezet kunnen worden en worden er ook weer agenderingen weergegeven. Maar daar zitten nog meer haken en ogen aan m.b.t. tot de overige functionaliteit dus ik weet niet of dat haalbaar is.

 

Daarom ben ik toch wel erg benieuwd of het mogelijk is om mijn voorbeeld zonder al te veel dramatische ingrepen werkend te krijgen?

 

Rik

Ongerelateerde records tonen.fmp12

  • 0
Posted

Goedemorgen Rik,

 

Blijkbaar werkt het inderdaad niet als je een tabel verder zit. Wat je zou kunnen doen (als dat handig is in je systeem) is

om de administatieID ook in een globaal veld te pushen van de centrale tabel 'hoofdtabel' en de agenda daar aan te hangen.

 

Groet,

 

Ruben

  • 0
Posted

Hallo Ruben,

Tja, dat zou kunnen. Punt is wel dat er nog meer 'hoofdtabellen' aan de administratietabel hangen en ook daar wil ik graag de agenderingen zien. Ik zou dan steeds een TO van agendering aan die hoofdtabellen moeten koppelen. Wordt wel een gedrocht op die manier maar zoals ik het tussen de regels door begrijp zijn er niet veel andere opties.

Bedankt voor het meedenken.

Rik

  • 0
Posted

Rik,

 

Wanneer je in iedere tabel een veld opneemt die bij aanmaken van een record gevuld wordt met de waarde "1" (die noem je bijv. "one")

en je maakt ook een veld "one" met de waarde "1" in jouw miniportal tabel dan kun je jouw

miniportal op iedere layout welke uitgaat van een hoofdtabel koppelen.

Wel moet je dan voor iedere koppeling met jouw hoofdtabel een nieuwe relatie aanmaken tussen

veld "one" van je hoofd tabel en veld "one" van je portal tabel.

 

n.b. vergeet niet op de andere layout de portal naar de nieuwe (juiste) relatie te verwijzen.

 

succes

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