Werken met gerelateerde tabellen > Werken met gerelateerde gegevens in portalen
 

Werken met gerelateerde gegevens in portalen

Wanneer u gerelateerde gegevens in een portaal weergeeft, worden de waarden uit alle gerelateerde records weergegeven, in overeenstemming met de toegangsprivileges van de gebruiker. Wanneer een gerelateerd veld zich daarentegen buiten een portaal bevindt, wordt alleen de waarde van de eerste gerelateerde record weergegeven.

Portaalgegevens sorteren

Gebruik het dialoogvenster 'Relatie bewerken' om gerelateerde records in een portaal te sorteren. Raadpleeg Relaties maken en wijzigen. Wanneer de optie Records sorteren is ingeschakeld en u de gegevens in een gerelateerd veld in een portaal wijzigt, worden de portaalrecords opnieuw gesorteerd telkens als de gerelateerde records opnieuw worden geëvalueerd. De records worden bijvoorbeeld opnieuw gesorteerd wanneer u in de modus Bladeren naar een andere record gaat en vervolgens naar deze record terugkeert, of wanneer u de waarde in het vergelijkingsveld wijzigt. (Gebruik de Portaal vernieuwen scriptstap om beter te controleren wanneer de sorteervolgorde wordt vernieuwd.)

De opgegeven sorteervolgorde in het dialoogvenster 'Portaalinstelling' heeft voorrang op de opgegeven sorteervolgorde in het dialoogvenster 'Relatie bewerken'. Als u geen sorteervolgorde voor het portaal of de relatie opgeeft, worden gerelateerde records in hun aanmaakvolgorde weergegeven in het portaal. Raadpleeg Portalen maken om gerelateerde records weer te geven.

Records in portalen filteren

U kunt records filteren om verschillende reeksen gerelateerde records in een portaal weer te geven.

1. Dubbelklik in de modus Lay-out op het portaal.

2. Selecteer Portaalrecords filteren.

3. Definieer een berekening die resulteert in Waar voor de portaalrecords die moeten worden weergegeven.

U bevindt zich bijvoorbeeld in de lay-out 'Facturen' in een portaal met productrecords uit de tabel Regels. Als u alleen de producten met hoeveelheden groter dan of gelijk aan één wilt weergeven, gebruikt u de formule If (Regels::Hoeveelheid < 1; 0; 1).

Belangrijk  De resultaten van resumévelden, berekeningen en zoekopdrachten zijn gebaseerd op de volledige reeks van gerelateerde records, niet alleen de records in een portaal die zijn gefilterd. Als een portaal bijvoorbeeld een gefilterde deelverzameling van records weergeeft en er buiten het portaal een resuméveld Totaal van is dat deze records resumeert, geeft het resuméveld het totaal van alle gerelateerde records, niet alleen de weergegeven records. Om gegevens uit de gefilterde portaalrecords te gebruiken voor een resuméveld, berekening of zoekopdracht, maakt u een nieuwe relatie met dezelfde criteria als voor de gefilterde portaalrecords en gebruikt u vervolgens gerelateerde velden uit die relatie voor het resuméveld, de berekening of de zoekopdracht.

Gegevens in portalen resumeren

Gegevens van een gerelateerd veld dat in een portaal wordt weergegeven, kunt u resumeren. U kunt bijvoorbeeld het totaal van alle gerelateerde records verkrijgen.

Hiertoe plaatst u een resuméveld in de tabel vanwaar de gerelateerde records worden weergegeven (de tabel weergegeven in het dialoogvenster 'Portaalinstelling'). Plaats vervolgens het resuméveld in de lay-out met het portaal.

Veronderstel dat een lay-out een portaal gebruikt om alle verkoopcijfers per verkoper weer te geven en dat u een resuméveld wilt toevoegen dat het totale bedrag van de verkoop weergeeft.

Zo resumeert u gegevens in een portaal aan de hand van dit eenvoudige voorbeeld:

1. Maak twee tabellen met de volgende velden:

 

Tabelnaam

Veldnaam

Veldtype

Opmerking

Verkoop

Transactie-ID

Tekst

Primaire sleutel

 

Verkoper-ID

Tekst

Refererende sleutel

 

Bedrag

Getal

 

 

Totale verkoop

Overzicht

Berekent het totaal van het veld 'Bedrag'; raadpleeg Resumévelden definiëren

Verkoper

Verkoper-ID

Tekst

Primaire sleutel

 

Naam

Tekst

 

2. Maak in de relatiegrafiek een relatie tussen de twee 'Verkoper-ID'-velden.

3. Voeg in de modus Lay-out de vier velden van de tabel 'Verkoop' toe aan de lay-out 'Verkoop' (als ze niet automatisch zijn toegevoegd). Voeg de twee velden van de tabel 'Verkoper' aan de lay-out 'Verkoper' toe.

4. Maak in de lay-out 'Verkoper' een portaal dat gerelateerde records uit de tabel 'Verkoop' weergeeft. Voeg de volgende gerelateerde velden uit de tabel 'Verkoop' aan het portaal toe: Transactie-ID, Bedrag, Totale verkoop

U kunt het resuméveld (Verkoop::Totale verkoop) ook op een willekeurige plaats in de lay-out 'Verkoper' zetten. Raadpleeg Velden in lay-outs plaatsen en verwijderen.

5. Schakel over naar de modus Bladeren en voeg de volgende records aan de tabel 'Verkoop' toe:

 

Recordnummer

Veld

Gegevens-

1

Transactie-ID

T1

 

Verkoper-ID

S1

 

Bedrag

246,00

2

Transactie-ID

T2

 

Verkoper-ID

S2

 

Bedrag

52,75

3

Transactie-ID

T3

 

Verkoper-ID

S1

 

Bedrag

10,50

4

Transactie-ID

T4

 

Verkoper-ID

S2

 

Bedrag

150,00

5

Transactie-ID

T5

 

Verkoper-ID

S1

 

Bedrag

17,80

FileMaker Pro Advanced vult de waarde van het veld 'Totale verkoop' in.

6. Schakel over naar de lay-out 'Verkoper' en voeg de volgende gegevens toe:

 

Recordnummer

Veld

Gegevens-

1

Verkoper-ID

S1

 

Naam

André Cuyper

2

Verkoper-ID

S2

 

Naam

Sofie Tang

FileMaker Pro Advanced voert de gerelateerde waarden uit de tabel 'Verkoop' in de rijen van het portaal in en berekent het totaal van de verkoop voor die verkoper in het resuméveld 'Totale verkoop'.

Opmerkingen 

De filter- en sorteeropties voor portalen in het dialoogvenster 'Portaalinstelling' zijn niet beschikbaar voor portalen die records uit de huidige tabel weergeven. Raadpleeg Portalen voor lay-outs van het type master-details maken.

U kunt gegevens uit een enkelvoudige relatie in meerdere portalen op dezelfde pagina weergeven en voor elke portaal een andere sorteervolgorde gebruiken.

Filtering van records is uitsluitend voor weergavedoeleinden, niet voor beveiligingsdoeleinden.

Een filterberekening voor het portaal zou hetzelfde resultaat als een berekeningveld in de gerelateerde tabel geven.

Hoewel velden in portaalrecords worden bijgewerkt naarmate de gegevens worden gewijzigd, wordt een portaalfilter pas geëvalueerd wanneer de record wordt geladen. Gebruik de Portaal vernieuwen scriptstap om een portaalfilter bij te werken nadat de record is geladen.

Voor een complexer resumé van uw gegevens gebruikt u een berekeningveld om een formule te definiëren. Raadpleeg Berekeningvelden definiëren.

Verwante onderwerpen 

Portalen maken om gerelateerde records weer te geven