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

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

  5. Maak in de relatiegrafiek een relatie tussen de velden ‘Klantnummer’ in beide tabellen. (‘Klantnummer’ is het vergelijkingsveld in beide tabellen.)
  6.  

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

  7. 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.
  8. 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 in de tabel ‘Contactgegevens’ een gerelateerde record voor dat telefoonnummer of e-mailadres.