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.
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:
- 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.
- Maak de volgende velden:
- 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.
- Maak in de relatiegrafiek een relatie tussen de velden ‘Klantnummer’ in beide tabellen. (‘Klantnummer’ is het vergelijkingsveld in beide tabellen.)
- 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 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.
- 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 een gerelateerde record voor dat telefoonnummer.
- 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.
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 |
Wanneer u in een lege portaalrij in de tabel ‘Klanten’ een telefoonnummer of een e-mailadres invoert, maakt FileMaker Pro in de tabel ‘Contactgegevens’ een gerelateerde record voor dat telefoonnummer of e-mailadres.