Werken met gerelateerde tabellen > Relatiecriteria > Veelzijdige relaties
 
Veelzijdige relaties
In een veelzijdige relatie gebruikt u meerdere vergelijkingsvelden. Daardoor worden in FileMaker Pro meer criteria geëvalueerd voordat de overeenkomende gerelateerde records kunnen worden samengevoegd. In FileMaker Pro worden de waarden van elk vergelijkingsveld aan elke zijde van de relatie met elkaar vergeleken in de volgorde waarin de velden zijn weergegeven. Dit is een zogeheten AND-vergelijking (EN). Voor elk vergelijkingsveld moet in de andere tabel een overeenkomende waarde in dezelfde record worden gevonden (anders worden de records niet aan elkaar gekoppeld).
Twee tabellen met lijnen tussen vier velden die een veelzijdige relatie aantonen
Deze relatie is met de volgende criteria gedefinieerd:
 
Tabel
Veldnaam
Opmerking
TabelA
TekstVeldA
Vergelijkingsveld naar TekstVeldB en GetalVeldB
 
GetalVeldA
Vergelijkingsveld naar TekstVeldB en GetalVeldB
TabelB
TekstVeldB
Vergelijkingsveld naar TekstVeldA en GetalVeldA
 
GetalVeldB
Vergelijkingsveld naar TekstVeldA en GetalVeldA
Volgens de criteria in deze relatie komt een record in TabelA met in TekstVeldA de waarde Blauw en in GetalVeldA de waarde 123 alleen overeen met de records in TabelB die in TekstVeldB en GetalVeldB respectievelijk de waarden Blauw en 123 bevatten. Als TekstVeldA en TekstVeldB wel overeenkomende waarden bevatten maar GetalVeldA en GetalVeldB niet, geeft de relatie geen relateerde records als resultaat.
 
Tabel
Recordnummer
Veldnaam
Waarde
Gerelateerde record?
TabelA
1
TekstVeldA
GetalVeldA
Blauw
123
Ja
 
2
TekstVeldA
GetalVeldA
Blauw
456
Nee
 
3
TekstVeldA
GetalVeldA
Rood
123
Nee
TabelB
1
TekstVeldB
GetalVeldB
Blauw
123
Ja
 
2
TekstVeldB
GetalVeldB
Rood
123
Nee
 
3
TekstVeldB
GetalVeldB
Blauw
123
Ja
Een veelzijdige relatie maken
In dit voorbeeld maakt u een veelzijdige relatie met een database die deze drie tabellen heeft:
Apparatuur, waarin de inventaris van apparaat die wordt verhuurd is opgeslagen
Klanten, waarin de namen en adressen van de klanten zijn opgeslagen
Catering lijn items, waarin voor elke verhuur van apparatuur een record is opgenomen, met onder andere de apparatuurcode, het klantnummer en de datum van het evenement
Deze database houdt de verhuur van apparatuur bij zodat voor een geselecteerde klant en een specifieke datum alle verhuurde apparaten kunnen worden weergegeven.
1. De veelzijdige relatie is tussen de tabellen 'Klanten' en 'Catering lijn items'. Maak deze tabellen met de volgende velden:
 
Tabel
Veldnaam
Opmerking
Klanten
Klantnummer
Een veld van het veldtype Getal, met automatische invoer van een volgnummer. Dit is een van de vergelijkingsvelden voor de tabel Catering lijn items.
 
Datum van evenement
Datumveld; het andere vergelijkingsveld voor de tabel Catering lijn items
Catering lijn items
Klantnummer
Een getalveld. Dit is een van de vergelijkingsvelden voor de tabel Klanten.
 
Datum van evenement
Een datumveld. Dit is het andere vergelijkingsveld voor de tabel Klanten.
 
Uitrustingscode
Getalveld
2. In het dialoogvenster 'Relatie bewerken' definieert u 'Klantnummer' en 'Datum gebeurtenis' als de vergelijkingsvelden in de relatie tussen de tabellen 'Klanten' en 'Catering lijn items'.
3. Stel in de tabel 'Klanten' het veld 'Klantnummer' zodanig in dat automatisch een volgnummer wordt ingevoerd zodat elke record in de tabel 'Klanten' een unieke identificatiecode bevat.
4. Selecteer in de tabel 'Catering lijn items' de optie Maken van records in deze tabel toegestaan via deze relatie.
De tabellen in de relatiegrafiek zien er volgt uit:
Een veelzijdige relatie tussen de tabellen ‘Klanten’ en ‘Catering lijn items’
5. Voeg een portaal aan de lay-out 'Klanten' toe en voeg het veld Klanten::Uitrustingscode toe aan het portaal.
Als u een nieuwe gerelateerde record wilt maken, voert u de huidige datum in het veld Klanten::Datum gebeurtenis in en vervolgens een uitrustingscode in het portaal in de lay-out 'Klanten'.
Omdat het veld 'Datum gebeurtenis' een vergelijkingsveld is en voor de relatie nieuwe gerelateerde records kunnen worden gemaakt in de tabel 'Catering lijn items', wordt de waarde in het veld Klanten::Datum gebeurtenis automatisch ingevoerd in het veld Catering lijn items::Datum gebeurtenis.
Om de artikelen weer te geven die op een vroegere datum zijn verhuurd, voert u een andere datum in het veld Klanten::Datum gebeurtenis in. In FileMaker Pro worden dan alle gerelateerde records met dit klantnummer en deze gebeurtenisdatum weergegeven.
Verwante onderwerpen 
Werken met de relatiegrafiek
Relaties maken en wijzigen
Portalen maken om gerelateerde records weer te geven