Werken met gerelateerde tabellen > Relatiecriteria > Eenzijdige relaties
 

Eenzijdige relaties

In een eenzijdige relatie worden de gegevens in het ene veld vergeleken met de gegevens in een ander veld.

Zo wordt een record in een van de tabellen bijvoorbeeld gerelateerd aan een andere record uit de andere tabel wanneer de waarden in Tekstveld A en Tekstveld B identiek zijn.

Twee tabellen met lijnen tussen twee velden die een eenzijdige relatie aantonen

Een eenzijdige relatie gebruiken

Gebruik een eenzijdige relatie om twee tabellen in een relatie aan elkaar te koppelen op basis van één gemeenschappelijke waarde, bijvoorbeeld een serie- of klantnummer. Bijvoorbeeld:

1. Maak een database met deze twee tabellen:

Klanten, waarin namen en adressen zijn opgeslagen

Contactgegevens, waarin telefoonnummers, soorten telefoonnummers (zoals werk, thuis, mobiel, enzovoort) en e-mailadressen zijn opgeslagen

De gegevens zijn opgesplitst in twee afzonderlijke tabellen omdat elke klant meerdere telefoonnummers en e-mailadressen kan hebben.

2. Maak de volgende velden:

 

Tabel

Veldnaam

Opmerking

Klanten

Klantnummer

Getalveld

 

Voornaam

Tekstveld

 

Achternaam

Tekstveld

 

Adres 1

Tekstveld

 

Stad

Tekstveld

 

Toestand

Tekstveld

 

Land

Tekstveld

Contactpersonen

Telefoonnummer

Tekstveld

 

Type telefoon

Tekstveld

 

E-mailadres

Tekstveld

 

Type e-mail

Tekstveld

 

Klantnummer

Getalveld

3. Gebruik het dialoogvenster 'Opties voor veld' om in te stellen dat in het veld Klanten::Klantnummer automatisch een volgnummer wordt ingevoerd en om te controleren of het veld unieke waarden bevat. Raadpleeg Opties instellen voor velden.

Deze instellingen verzekeren dat elke record in de tabel 'Klanten' een uniek nummer heeft.

In de tabel 'Contactpersonen' is 'Klantnummer' een eenvoudig getalveld. Stel daarom geen opties voor automatische invoer in maar stel wel in dat het veld niet leeg mag zijn.

4. Maak in de relatiegrafiek een relatie tussen de velden 'Klantnummer' in beide tabellen. ('Klantnummer' is het vergelijkingsveld in beide tabellen.)

Een eenzijdige relatie tussen de tabellen ‘Klanten’ en ‘Contactpersonen’

5. In het dialoogvenster 'Relatie bewerken':

Selecteer Maken van records in deze tabel toegestaan via deze relatie voor de tabel 'Contactpersonen'. Wanneer u een telefoonnummer in een lege portaalrij invoert, maakt FileMaker Pro Advanced een gerelateerde record voor dat telefoonnummer.

Aangezien de relatie zo is gedefinieerd dat nieuwe gerelateerde records in de tabel Contactgegevens kunnen worden gemaakt, zal het klantnummer uit een klantrecord automatisch worden ingevoegd in het veld 'Klantnummer' in de tabel 'Klanten' in elke nieuwe gerelateerde record. Op die manier kunt u meerdere records in de tabel Contactgegevens relateren aan één record in de tabel Klanten.

Selecteer Gerelat. records in deze tabel verwijderen bij verwijderen van rec. in andere tabel voor de tabel 'Contactpersonen'. Er is geen reden om oude telefoonnummers te behouden als de overeenkomstige record van de contactpersonen is verwijderd.

6. Voeg een portaal aan de tabel 'Contactpersonen' in de lay-out 'Klant' toe en voeg deze gerelateerde velden aan het portaal toe. Telefoonnummer, E-mailadres.

Wanneer u in een lege portaalrij in de tabel 'Klanten' een telefoonnummer of een e-mailadres invoert, maakt FileMaker Pro Advanced in de tabel 'Contactgegevens' een gerelateerde record voor dat telefoonnummer of e-mailadres.

Verwante onderwerpen 

Werken met de relatiegrafiek

Relaties maken en wijzigen

Portalen maken om gerelateerde records weer te geven