Tabelrelaties gebruiken

Opmerking: We willen u graag zo snel mogelijk de meest recente Help-inhoud in uw eigen taal bieden. Deze pagina is automatisch vertaald en kan grammaticale fouten of onnauwkeurigheden bevatten. Wij hopen dat deze inhoud nuttig voor u is. Kunt u ons onder aan deze pagina laten weten of de informatie nuttig voor u was? Hier is het Engelstalige artikel ter referentie.

Een van de doelstellingen van goed databaseontwerp is verwijderen van overbodige (dubbele gegevens). Als u wilt dat doel bereiken, verdeelt u uw gegevens in veel tabellen op basis van onderwerp zodanig dat elk slechts één keer feit. U Geef Access met de manier om de verdeelde informatie weer samen weer te geven, u dit doen door de gemeenschappelijke velden plaatsen in tabellen die zijn gerelateerd. Voer deze stap correct, moet echter u eerst meer informatie over de relaties tussen tabellen en geef deze relaties in uw database.

Zie het artikel beginselen van databaseontwerpvoor meer informatie.

In dit artikel besproken niet relaties in een webdatabase. Het venster Relaties wordt niet ondersteund in Webdatabases. U kunt opzoekvelden gebruiken om relaties te maken in een webdatabase. Zie voor meer informatie het artikel een database maken om te delen op het Web.

In dit artikel

Inleiding

Typen tabelrelaties

Waarom zou u tabelrelaties maken?

Referentiële integriteit

Tabelrelaties weergeven

Een tabelrelatie maken

Een tabelrelatie verwijderen

Een tabelrelatie wijzigen

Referentiële integriteit afdwingen

Inleiding

Nadat u een tabel hebt gemaakt voor elke onderwerp in uw database, moet u toegang bieden manier samen te voegen die gegevens weer als dat nodig is. U doet dit algemene door velden te plaatsen in tabellen die zijn gerelateerd, en door relaties tussen tabellen definiëren. U kunt vervolgens maken in query's, formulieren en rapporten waarin gegevens uit verschillende tabellen tegelijk worden weergegeven. Het volgende formulier bevat bijvoorbeeld gegevens uit verschillende tabellen:

Het formulier Orders waarin gerelateerde gegevens uit vier tabellen tegelijk worden weergegeven

1. De gegevens in dit formulier zijn afkomstig uit de tabel Klanten...

2. ...de tabel Orders...

3. ...de tabel Producten...

4. ...en de tabel Ordergegevens.

De klantnaam in het vak Factuur naar wordt opgehaald uit de tabel Klanten, de waarden voor de order-id en orderdatum uit de tabel Orders, de productnaam komt uit de tabel Producten en de waarden voor de prijs per eenheid en hoeveelheid uit de tabel Detailgegevens order. Deze tabellen zijn op allerlei manieren aan elkaar gekoppeld zodat gegevens uit elke tabel kan worden weergegeven op het formulier.

In het voorgaande voorbeeld moeten de velden in de tabellen op elkaar worden afgestemd zodat ze de gegevens over dezelfde order bevatten. Dit doet u met behulp van tabelrelaties. Een tabelrelatie is gebaseerd op overeenkomsten tussen gegevens in sleutelvelden. Dikwijls is dat een veld dat in beide tabellen dezelfde naam heeft. Deze velden zijn in de ene tabel meestal de primaire sleutel (een unieke id voor elke record) en in de andere tabel een externe sleutel. Zo kunt u een verband leggen tussen werknemers en de orders waarvoor ze verantwoordelijk zijn, door een tabelrelatie te definiëren tussen de velden Werknemer-id in de tabellen Werknemers en Orders.

Het veld Werknemer-id, dat wordt gebruikt als primaire sleutel in de tabel Werknemers en als externe sleutel in de tabel Orders

1. Werknemer-id komt in beide tabellen voor als primaire sleutel...

2. ...en als externe sleutel.

Naar boven

Typen tabelrelaties

Er zijn drie typen tabelrelaties.

  • Een-op-veel-relaties

    Houd rekening met het bijhouden van de database die een klantentabel en een ordertabel bevat orde. Een klant kunt een willekeurig aantal orders plaatsen. Volgt dat voor elke klant in de tabel Klanten, kunnen er veel orders in de tabel Orders. De relatie tussen de tabel Klanten en de tabel Orders is dus een een-op-veel-relatie.

    Als u wilt een een-op-veel-relatie in het databaseontwerp van uw vertegenwoordigen, neemt u de primaire sleutel aan de 'een'-kant van de relatie en als een of meer extra velden toevoegen aan de tabel aan de 'veel'-kant van de relatie. In dit geval bijvoorbeeld u een nieuw veld toevoegen, het veld ID van de tabel Klanten, met de Orders van een tabel en noem deze klant-ID. Access kan de klant-ID-nummer vervolgens in de tabel Orders gebruiken om te zoeken van de juiste klant voor elke order.

  • Veel-op-veel-relaties

    Houd rekening met de relatie tussen een producttabel en een ordertabel. Een enkele order kan meer dan één product bevatten. Aan de andere kant, kan één product op veel orders voorkomen. Daarom voor elke record in de tabel Orders, kunnen er veel records in de tabel producten. Bovendien voor elke record in de tabel producten, kunnen er veel records in de tabel Orders. Dit type relatie is een veel-op-veel-relatie genoemd omdat voor elk product, kunnen er veel orders en, voor elke order kunnen er veel producten. Houd er rekening mee dat om op te sporen bestaande veel-op-veel-relaties tussen tabellen, is het belangrijk dat u rekening houden met beide zijden van de relatie.

    Als u een veel-op-veel-relatie wilt weergeven, moet u een derde tabel maken, vaak een verbindingstabel genoemd. Hiermee wordt de veel-op-veel-relatie opgesplitst in twee een-op-veel-relaties. U plaatst de primaire sleutel uit beide tabellen in de derde tabel. De derde tabel registreert bijgevolg elk exemplaar (instantie) van de relatie. Zo hebben de tabel Orders en de tabel Producten bijvoorbeeld een veel-op-veel-relatie die is gedefinieerd door twee een-op-veel-relaties met de tabel Ordergegevens te maken. Eén order kan veel producten bevatten en elk product kan in veel orders voorkomen.

  • Een-op-een-relaties

    Elke record in de eerste tabel kan slechts één overeenkomende record hebben in de tweede tabel in een-relatie, en elke record in de tweede tabel kan slechts één overeenkomende record hebben in de eerste tabel. Dit type relatie is niet algemene omdat, meestal de informatie die betrekking hebben op deze manier wordt opgeslagen in dezelfde tabel. U kunt een-relatie gebruiken om te delen van een tabel met veel velden te isoleren onderdeel van een tabel om veiligheidsredenen of informatie die alleen van toepassing op een subset van de primaire tabel op te slaan. Als u een dergelijke relatie opsporen, moeten een gemeenschappelijk veld delen in beide tabellen.

Naar boven

Waarom zou u tabelrelaties maken?

U kunt relaties tussen tabellen expliciet maken met behulp van het venster Relaties, of door een veld vanuit het deelvenster Lijst met velden te slepen. Access gebruikt relaties tussen tabellen te weten hoe u het samenvoegen van tabellen, wanneer u moet gebruiken in een databaseobject. Er zijn verschillende redenen waarom u tabelrelaties maken moet voordat u andere databaseobjecten, zoals formulieren, query's en rapporten maken.

  • Tabelrelaties bevatten informatie voor uw queryontwerpen

    Als u wilt werken met records uit meer dan één tabel, moet u vaak een query die de tabellen verbindt maken. De query werkt door de waarden in de primaire-sleutelveld van de eerste tabel met een veld met de refererende sleutel in de tweede tabel te vergelijken. Als u wilt teruggaan naar rijen die vermelden van alle orders voor elke klant, maakt u bijvoorbeeld een query die deelneemt aan de tabel Klanten met de tabel Orders op basis van het veld klant-ID. U kunt handmatig de velden voor deelname aan opgeven in het venster Relaties. Als u al een relatie tussen de tabellen zijn gedefinieerd, levert toegang de standaard-join, op basis van bestaande tabelrelatie. Bovendien als u een van de querywizards gebruikt, wordt de gegevens worden verzameld uit de relaties tussen tabellen dat u al hebt gedefinieerd, om aan te bieden u zinvolle keuzes en vooraf invullen eigenschapsinstellingen met relevante standaardwaarden.

  • Tabelrelaties bevatten informatie voor uw formulier- en rapportontwerpen

    Wanneer u een formulier of rapport ontwerpt, worden de gegevens worden verzameld uit de relaties tussen tabellen dat u al hebt gedefinieerd, om aan te bieden u zinvolle keuzes en vooraf invullen eigenschapsinstellingen met relevante standaardwaarden gebruikt.

  • Op basis van tabelrelaties kunt u referentiële integriteit afdwingen om niet-gekoppelde records in een database te helpen voorkomen. Een niet-gekoppelde record is een record die verwijst naar een andere niet-bestaande record, bijvoorbeeld een orderrecord die verwijst naar een niet-bestaande klantrecord.

    Wanneer u een database ontwerpt, verdeelt u uw gegevens in tabellen, die elk een primaire sleutel heeft. U kunt vervolgens refererende sleutels toevoegen aan gerelateerde tabellen die verwijzen naar deze primaire sleutels. Deze combinatie van refererende sleutel primaire sleutel vormen de basis voor relaties tussen tabellen en query's met meerdere tabellen. Het is dus belangrijk, dat deze verwijzingen voor refererende sleutels en primaire sleutels gesynchroniseerde blijven. Referentiële integriteit zorgt ervoor dat verwijzingen gesynchroniseerd blijven en is afhankelijk van de relaties tussen tabellen.

Naar boven

Referentiële integriteit

Wanneer u een database ontwerpt, verdeelt u uw gegevens over veel onderwerp gebaseerde tabellen te minimaliseren ten overbodige. Vervolgens bieden u toegang met de gemiddelden door om de gegevens weer worden samengebracht algemene door velden te plaatsen in gerelateerde tabellen. Bijvoorbeeld, om aan te geven van een een-op-veel-relatie u neemt u de primaire sleutel uit de 'een' tabel en als een extra veld toevoegen aan de 'veel' tabel. Als u wilt brengen de gegevens terug samen, Access wordt de waarde in de 'veel' tabel en gezocht naar de bijbehorende waarde in de 'een' tabel. Op deze manier de waarden in de 'veel' tabel verwijzingen maken naar de corresponderende waarden in de 'een' tabel.

Stel dat u een een-op-veel-relatie tussen Verzenders en Orders hebt en u een verzender wilt verwijderen. Als de verzender die u wilt verwijderen orders in de tabel Orders heeft, worden deze orders niet-gekoppelde records als u de Verzender-record verwijdert. De orders bevatten nog wel een verzender-id, maar deze is niet meer geldig omdat de bijbehorende record niet meer bestaat.

Referentiële integriteit is bedoeld om niet-gekoppelde records te voorkomen en verwijzingen gesynchroniseerd te houden zodat deze hypothetische situatie niet kan voorkomen.

U referentiële integriteit afdwingen doordat deze voor een tabelrelatie (Zie referentiële integriteit afdwingen voor stapsgewijze instructies). Zodra afgedwongen, worden alle bewerkingen die zou handelen in strijd met referentiële integriteit voor die tabelrelatie geweigerd in Access. Dit betekent dat Access zowel updates die worden gewijzigd van het doel van een verwijzing en verwijderingen die het doel van een verwijzing verwijderen weigert. Het is echter mogelijk hebt u een perfect geldige nodig te wijzigen van de primaire sleutel voor een verzender die orders in de tabel Orders heeft. Die gevallen is wat u nodig voor toegang tot alle betrokken rijen automatisch bijwerken als onderdeel van één bewerking. Op deze manier Access zorgt ervoor dat de update volledig is voltooid, zodat uw database niet in een inconsistente toestand, met enkele rijen bijgewerkt en andere niet resteert. Om die reden ondersteunt toegang de optie gerelateerde velden trapsgewijs bijwerken. Als u referentiële integriteit afdwingen en kies de optie gerelateerde velden trapsgewijs bijwerken en u vervolgens een primaire sleutel bijwerkt, automatisch bijgewerkt alle velden die verwijzen naar de primaire sleutel.

Het is ook mogelijk hebt u een geldige nodig om een rij te verwijderen en alle gerelateerde records, bijvoorbeeld een verzender en alle gerelateerde orders voor die verzender. Daarom ondersteunt toegang de optie gerelateerde Records trapsgewijs verwijderen. Wanneer u referentiële integriteit afdwingen en kies de optie gerelateerde Records trapsgewijs verwijderen, en u een record aan de primaire sleutel kant van de relatie verwijdert, worden alle records die verwijzen naar de primaire sleutel automatisch verwijderd.

Naar boven

Tabelrelaties weergeven

Om weer te geven de relaties tussen tabellen, klikt u op het tabblad Hulpmiddelen voor databases op relaties . Het venster Relaties wordt geopend en wordt weergegeven van een bestaande relaties. Als er nog geen relaties tussen tabellen zijn gedefinieerd en u het venster Relaties voor het eerst opent, wordt u een tabel of query toevoegen aan het venster wordt gevraagd.

Het venster Relaties openen

  1. Klik op het tabblad Bestand op Openen.

  2. Selecteer en open de database in het dialoogvenster Openen.

  3. Klik op het tabblad Hulpmiddelen voor databases in de groep Relaties op Relaties.

  4. Als de database relaties bevat, wordt het venster Relaties wordt weergegeven. Als de database geen relaties bevat en u het venster Relaties voor het eerst opent, wordt het dialoogvenster Tabel weergeven wordt weergegeven. Klik op sluiten om het dialoogvenster te sluiten.

  5. Klik op het tabblad Ontwerpen in de groep Relaties op Alle relaties.

    Hiermee worden alle gedefinieerde relaties weergegeven in uw database. Houd er rekening mee dat verborgen tabellen (tabellen waarvan de verborgen selectievakje in dialoogvenster Eigenschappen van de tabel is geselecteerd) en hun onderlinge relatie niet weergegeven worden, tenzij het selectievakje Verborgen objecten weergeven is geselecteerd in de Navigatie Opties voor dialoogvenster.

Een tabelrelatie wordt voorgesteld met een relatielijn tussen tabellen in het venster Relaties. Een relatie waarvoor geen referentiële integriteit is afgedwongen, wordt aangeduid met een dunne lijn tussen de gemeenschappelijke velden die de relatie ondersteunen. Wanneer u de relatie selecteert door op de lijn te klikken, wordt de lijn dikker om aan te geven dat de relatie is geselecteerd. Als u voor deze relatie referentiële integriteit afdwingt, wordt de lijn aan beide uiteinden dikker. Bovendien staat het getal 1 boven het dikke gedeelte van de lijn aan de ene zijde van de relatie en het oneindigheidssymbool (8) boven het dikke gedeelte aan het andere uiteinde van de lijn.

Wanneer het venster Relaties actief is, zijn de volgende opdrachten beschikbaar op het lint:

Op het tabblad Ontwerpen, in de groep Extra:

  • Relaties bewerken    Hiermee opent u het dialoogvenster Relaties bewerken. Wanneer u een relatielijn selecteert, kunt u op Relaties bewerken klikken om de tabelrelatie te wijzigen. U kunt ook op de relatielijn dubbelklikken.

  • Indeling wissen    Hiermee wist u alle tabellen en relaties uit het venster Relaties. Hiermee verbergt u de tabellen en relaties alleen, u verwijdert deze niet daadwerkelijk.

  • Rapport Relaties    Hiermee maakt u een rapport dat de tabellen en relaties in de database weergeeft. Het rapport bevat alleen de tabellen en relaties die in het venster Relaties niet zijn verborgen.

Op het tabblad Ontwerpen, in de groep Relaties:

  • Tabel weergeven    Hiermee opent u het dialoogvenster Tabel weergeven waarin u kunt selecteren welke tabellen en query's u in het venster Relaties wilt weergeven.

  • Tabel verbergen    Hiermee verbergt u de geselecteerde tabel in het venster Relaties.

  • Rechtstreekse relaties    Hiermee geeft u alle relaties en gerelateerde tabellen voor de geselecteerde tabel in het venster Relaties weer als deze nog niet worden weergegeven.

  • Alle relaties    Hiermee geeft u alle relaties en gerelateerde tabellen in de database in het venster Relaties weer. Verborgen tabellen (tabellen waarvoor het selectievakje Verborgen is ingeschakeld in het dialoogvenster Eigenschappen van de tabel) en de bijbehorende relaties worden alleen weergegeven als in het dialoogvenster Navigatieopties de optie Verborgen objecten weergeven is ingeschakeld.

  • Sluiten    Hiermee sluit u het venster Relaties. Als u de indeling van het venster Relaties hebt gewijzigd, wordt u gevraagd of u deze wijzigingen wilt opslaan.

Naar boven

Een tabelrelatie maken

U kunt een tabelrelatie maken door het venster Relaties te gebruiken of een veld vanuit het deelvenster Lijst met velden naar een gegevensblad te slepen. Wanneer u een relatie tussen tabellen maakt, hoeven de gemeenschappelijke velden niet per se dezelfde naam te hebben, hoewel dit in de praktijk meestal wel het geval is. Belangrijker is dat deze velden hetzelfde gegevenstype moeten bevatten. Als het primaire-sleutelveld een AutoNummering-veld is, kan het externe-sleutelveld echter een Nummer-veld zijn op voorwaarde dat de eigenschap Veldgrootte van beide velden identiek is. U kunt een AutoNummering-veld bijvoorbeeld aan een Nummer-veld koppelen als de eigenschap Veldgrootte van beide velden is ingesteld op Lange integer. Wanneer beide gemeenschappelijke velden Nummer-velden zijn, moet de eigenschap Veldgrootte voor beide velden op dezelfde manier zijn ingesteld.

Een tabelrelatie maken met het venster Relaties

  1. Klik op het tabblad Bestand op Openen.

  2. Selecteer en open de database in het dialoogvenster Openen.

  3. Klik op het tabblad Hulpmiddelen voor databases in de groep Relaties op Relaties.

  4. Als u nog geen relaties hebt gedefinieerd, wordt het dialoogvenster Tabel weergeven automatisch geopend. Als het venster niet automatisch wordt geopend, gaat u naar het tabblad Ontwerp en klikt u in de groep Relaties op Tabel weergeven.

In het dialoogvenster Tabel weergeven worden alle tabellen en query's in de database weergegeven. Als u alleen tabellen wilt weergeven, klikt u op Tabellen. Als u alleen query's wilt weergeven, klikt u op Query's. Als u zowel tabellen als query's wilt weergeven, klikt u op Beide.

  1. Selecteer een of meer tabellen of query's en klik op Toevoegen. Wanneer u klaar bent met het toevoegen van tabellen en query's aan het venster Relaties, klikt u op Sluiten.

  2. Sleep een veld (meestal de primaire sleutel) van de ene tabel naar het gemeenschappelijke veld (de externe sleutel) van de andere tabel. Als u meerdere velden wilt slepen, klikt u op elk veld terwijl u Ctrl ingedrukt houdt. Vervolgens sleept u de velden.

Het dialoogvenster Relaties bewerken wordt geopend.

  1. Controleer of de weergegeven veldnamen de gemeenschappelijke velden voor de relatie zijn. Als een veldnaam onjuist is, klikt u op de veldnaam en selecteert u een nieuw veld in de lijst.

Als u referentiële integriteit voor deze relatie wilt afdwingen, schakelt u het selectievakje Referentiële integriteit afdwingen in. Zie het gedeelte Referentiële integriteit en Referentiële integriteit afdwingen voor meer informatie.

  1. Klik op Maken.

    Er wordt een relatielijn tussen de twee tabellen getekend. Als u het selectievakje Referentiële integriteit afdwingen hebt ingeschakeld, wordt de lijn aan beide einden dikker weergegeven. Daarnaast wordt (eveneens alleen als u het selectievakje Referentiële integriteit afdwingen hebt ingeschakeld) het nummer 1 weergegeven boven het dikke gedeelte van de lijn aan de ene kant van de relatie en het oneindigheidsteken (8) boven het dikke gedeelte van de lijn aan de andere kant.

    Notities: 

    • Een-relatie maken    Beide van de gemeenschappelijke velden (meestal de primaire sleutel en refererende-sleutelvelden) moeten een unieke index hebben. Dit betekent dat de eigenschap geïndexeerd van deze velden moet worden ingesteld op Ja (geen duplicaten). Als beide velden een unieke index bevatten, maakt Access-een-relatie.

    • Een een-op-veel-relatie maken    Het veld aan de 'een'-kant (meestal de primaire sleutel) van de relatie moet een unieke index hebben. Dit betekent dat de eigenschap geïndexeerd van dit veld moet worden ingesteld op Ja (geen duplicaten). Het veld aan de 'veel'-kant moet niet een unieke index hebben. Dit kan een index hebben, maar duplicaten moeten zijn toegestaan. Dit betekent dat de eigenschap geïndexeerd van dit veld moet worden ingesteld op Neeof op Ja (duplicaten OK). Als één veld een unieke index heeft en de ander niet, wordt een een-op-veel-relatie door Access gemaakt.

Een tabelrelatie maken met het deelvenster Lijst met velden

U kunt een veld toevoegen aan een bestaande tabel die is geopend in de gegevensbladweergave door deze te slepen vanuit het deelvenster Lijst met velden . Het deelvenster Lijst met velden in gerelateerde tabellen beschikbare velden te in andere tabellen beschikbare. Wanneer u een veld uit een "Overig" (niet-gerelateerde) tabel sleept en voltooi de Wizard opzoeken, wordt automatisch een nieuwe een-op-veel-relatie tussen de tabel in het deelvenster Lijst met velden en de tabel waaraan u het veld gesleept gemaakt. Deze relatie, gemaakt in Access wordt niet referentiële integriteit afdwingen al dan niet standaard. Als u wilt referentiële integriteit afdwingt, moet u de relatie bewerken. Zie de sectie een tabelrelatie wijzigen voor meer informatie.

Een tabel in de gegevensbladweergave openen

  1. Klik op het tabblad Bestand op Openen.

  2. Selecteer en open de database in het dialoogvenster Openen.

  3. Klik in het navigatiedeelvenster met de rechtermuisknop op de tabel waaraan u het veld wilt toevoegen en waarvoor u de relatie wilt maken, en klik op Ontwerpweergave.

Het deelvenster Lijst met velden openen

  • Druk op Alt+F8.

    Het deelvenster Lijst met velden wordt weergegeven.

De Lijst met velden deelvenster ziet u alle andere tabellen in uw database, ingedeeld in categorieën. Wanneer u met een tabel in de gegevensbladweergave werkt, wordt de velden in een van twee categorieën in het deelvenster Lijst met velden : in gerelateerde tabellen beschikbare velden en in andere tabellen beschikbare velden. De eerste categorie staan alle tabellen die een relatie hebben met de tabel die u momenteel werkt. De tweede categorie staan alle tabellen waarmee uw tabel geen een-relatie.

Als u in het deelvenster Lijst met velden op het plusteken (+) naast een tabelnaam klikt, wordt een lijst weergegeven met alle velden die beschikbaar zijn in deze tabel. Als u een veld aan de tabel wilt toevoegen, sleept u het gewenste veld vanuit het deelvenster Lijst met velden naar de tabel in de gegevensbladweergave.

Een veld toevoegen en een relatie maken vanuit het deelvenster Lijst met velden

  1. Klik in het deelvenster Lijst met velden onder In andere tabellen beschikbare velden op het plusteken (+) naast een tabelnaam om de lijst met velden in deze tabel weer te geven.

  2. Sleep het gewenste veld vanuit het deelvenster Lijst met velden naar de tabel in de gegevensbladweergave.

  3. Wanneer de invoeglijn verschijnt, zet u het veld op die plaats neer.

    De wizard Opzoeken wordt gestart.

  4. Volg de aanwijzingen om de wizard Opzoeken te voltooien.

    Het veld wordt weergegeven in de gegevensbladweergave.

Wanneer u een veld uit een "Overig" (niet-gerelateerde) tabel sleept en voltooi de Wizard opzoeken, wordt automatisch een nieuwe een-op-veel-relatie tussen de tabel in de Lijst met velden en de tabel waaraan u het veld gesleept gemaakt. Deze relatie, gemaakt in Access wordt niet referentiële integriteit afdwingen al dan niet standaard. Als u wilt referentiële integriteit afdwingt, moet u de relatie bewerken. Zie de sectie een tabelrelatie wijzigen voor meer informatie.

Naar boven

Een tabelrelatie verwijderen

Als u wilt een tabelrelatie verwijderen, moet u de relatielijn in het venster Relaties verwijderen. Plaats de cursor zodanig dat deze naar de relatielijn wijst en klik vervolgens op de regel. De relatielijn wordt dikker weergegeven wanneer deze wordt geselecteerd. De relatielijn geselecteerd, drukt u op DELETE. Houd er rekening mee dat wanneer u een relatie verwijdert, u ook de ondersteuning van referentiële integriteit voor deze relatie verwijderen als dit is ingeschakeld. Access wordt daardoor niet langer automatisch voorkomen dat het maken van niet-gekoppelde records aan de 'veel'-kant van een relatie.

  1. Klik op het tabblad Hulpmiddelen voor databases in de groep Relaties op Relaties.

Het venster Relaties wordt weergegeven. Als u nog geen relaties hebt gedefinieerd en dit de eerste keer dat u het venster Relaties opent is, wordt het dialoogvenster Tabel weergeven wordt weergegeven. Als het dialoogvenster wordt weergegeven, klikt u op sluiten.

  • Klik op het tabblad Ontwerpen in de groep Relaties op Alle relaties.

Alle tabellen met relaties worden weergegeven, relatielijnen.

  1. Klik op de relatielijn van de relatie die u wilt verwijderen. De relatielijn wordt dikker weergegeven wanneer deze wordt geselecteerd.

  2. Druk op Del.

    -of-

Klik met de rechtermuisknop en kies Verwijderen.

  1. Het kan zijn dat het bericht Weet u zeker dat u de geselecteerde relatie permanent uit de database wilt verwijderen? wordt weergegeven. Klik op Ja als dit bevestigingsbericht verschijnt.

Opmerking: Als een van de tabellen in de tabelrelatie in gebruik is (bijvoorbeeld door een andere persoon of een ander proces) of zich in een geopend databaseobject bevindt (bijvoorbeeld een formulier), kunt u de relatie niet verwijderen. U kunt de relatie pas verwijderen nadat u de eventueel geopende objecten die van deze tabellen gebruikmaken hebt gesloten.

Naar boven

Een tabelrelatie wijzigen

U kunt een tabelrelatie wijzigen door deze te selecteren in het venster Relaties en de relatie vervolgens te bewerken. Plaats de cursor zodanig dat deze naar de relatielijn wijst en selecteer de lijn. De relatielijn wordt dikker weergegeven zodra deze is geselecteerd. Als de relatielijn is geselecteerd, dubbelklikt u erop of klikt u op het tabblad Ontwerpen in de groep Extra op Relaties bewerken. Het dialoogvenster Relaties bewerken wordt geopend.

Breng de gewenste wijzigingen aan in het dialoogvenster Relaties bewerken

  1. Klik op het tabblad Hulpmiddelen voor databases in de groep Relaties op Relaties.

Het venster Relaties wordt weergegeven. Als u nog geen relaties hebt gedefinieerd en dit de eerste keer dat u het venster Relaties opent is, wordt het dialoogvenster Tabel weergeven wordt weergegeven. Als het dialoogvenster wordt weergegeven, klikt u op sluiten.

  • Klik op het tabblad Ontwerpen in de groep Relaties op Alle relaties.

  • Alle tabellen met relaties worden weergegeven, relatielijnen.

  • Klik op de relatielijn van de relatie die u wilt wijzigen. De relatielijn wordt dikker weergegeven zodra u deze selecteert.

  • Dubbelklik op de relatielijn.

  • Breng de wijzigingen aan en klik op OK.

    In het dialoogvenster Relaties bewerken kunt u een tabelrelatie wijzigen. U kunt met name de tabellen, query's of velden aan beide kanten van de relatie wijzigen. Daarnaast kunt u het jointype instellen of referentiële integriteit afdwingen en een stapsgewijze bewerking kiezen. Zie het gedeelte Het jointype instellen voor meer informatie over het jointype en hoe u het moet instellen. Zie het gedeelte Referentiële integriteit afdwingen voor meer informatie over de wijze waarop u referentiële integriteit kunt afdwingen en een stapsgewijze bewerking kunt kiezen.

Het jointype instellen

Wanneer u een tabelrelatie definieert, de feiten over de relatie bevatten informatie voor uw queryontwerpen. Bijvoorbeeld als u een relatie tussen twee tabellen en u definiëren vervolgens een query maken die deze tabellen, worden automatisch geselecteerd standaard overeenkomende velden op basis van de velden die zijn opgegeven in de relatie. U kunt deze initiële standaardwaarden negeren in uw query, maar de waarden die door de relatie geleverde meeste gevallen moeten de juiste codecs beschikt. Omdat overeenkomende en samen waarmee u gegevens importeren uit meer dan één tabel iets doet u vaak in alle maar de meest eenvoudige-databases is, standaardwaarden instellen door relaties te maken is tijd opslaan en nuttige.

In een query voor meerdere tabellen wordt informatie uit meerdere tabellen gecombineerd door in gemeenschappelijke velden naar overeenkomstige waarden te zoeken. De bewerking waarmee het zoeken en combineren wordt uitgevoerd, wordt een join genoemd. Stel dat u orders van klanten wilt weergeven. U maakt een query die de tabel Klanten aan de tabel Orders koppelt op basis van het veld Klantnummer. Het queryresultaat bevat alleen de klantgegevens en ordergegevens van de rijen waarvoor een overeenkomende waarde is gevonden.

Een van de waarden die voor elke relatie kunt u is het jointype. Het jointype wordt Access uitgelegd welke records moeten worden opgenomen in het queryresultaat van een. Stel opnieuw een query die deelneemt aan de tabel Klanten en de tabel Orders op de gemeenschappelijke velden in die het klantnummer vertegenwoordigen. Met de standaard-jointype (een inner join genoemd), retourneert de query alleen de rijen van de klant en de rijen van de volgorde waarin de gemeenschappelijke velden (ook wel de gekoppelde velden genoemd) gelijk zijn.

Stel dat het queryresultaat alle klanten moet retourneren, ook de klanten die nog geen orders hebben geplaatst. Hiervoor moet u het jointype veranderen van een inner join in een zogenaamde left outer join. Een left outer join retourneert alle rijen uit de tabel aan de linkerkant van de relatie en alleen rijen uit de rechtertabel die een overeenkomende waarde bevatten. Een right outer join retourneert alle rijen uit de rechtertabel en alleen rijen uit de linkertabel die een overeenkomende waarde bevatten.

Opmerking: In dit geval verwijzen 'left' en 'right' naar de positie van de tabellen in het dialoogvenster Relaties bewerken, niet in het venster Relaties.

Bedenk eerst welk het resultaat u meestal verwacht van een query waarmee de tabellen in deze relatie aan elkaar worden gekoppeld. Stel vervolgens dienovereenkomstig het jointype in.

Het jointype instellen

  1. Klik in het dialoogvenster Relaties bewerken op Jointype.

    Het dialoogvenster Joineigenschappen wordt geopend.

  2. Klik op uw keuze en klik op OK.

De volgende tabel (via de tabellen Klanten en Orders) ziet u de drie opties die worden weergegeven in het dialoogvenster Joineigenschappen , het type join aangegeven dat ze gebruiken, en of u alle rijen of overeenkomende rijen zijn opgenomen voor elke tabel.

Keuze

Relationele join

Linkertabel

Rechtertabel

1. Alleen rijen waarvoor de gekoppelde velden uit beide tabellen identiek zijn opnemen.

Inner join

Overeenkomende rijen

Overeenkomende rijen

2. Alle records uit Klanten en alleen records uit Orders waarvoor de gekoppelde velden identiek zijn opnemen.

Left outer join

Alle rijen

Overeenkomende rijen

3. Alle records uit Orders en alleen records uit Klanten waarvoor de gekoppelde velden identiek zijn opnemen.

Right outer join

Overeenkomende rijen

Alle rijen

Als u optie 2 of 3 kiest, verschijnt er een pijl op de relatielijn. Deze pijl wijst naar de kant van de relatie die alleen overeenkomende rijen weergeeft.

Wijzigingen aanbrengen in het dialoogvenster Joineigenschappen

  1. Klik op het tabblad Hulpmiddelen voor databases in de groep Relaties op Relaties.

Het venster Relaties wordt weergegeven. Als u nog geen relaties hebt gedefinieerd en dit de eerste keer dat u het venster Relaties opent is, wordt het dialoogvenster Tabel weergeven wordt weergegeven. Als het dialoogvenster wordt weergegeven, klikt u op sluiten.

  • Klik op het tabblad Ontwerpen in de groep Relaties op Alle relaties.

    Alle tabellen met relaties worden weergegeven en de relatielijnen zijn zichtbaar.

  • Klik op de relatielijn van de relatie die u wilt wijzigen. De relatielijn wordt dikker weergegeven zodra u deze selecteert.

  • Dubbelklik op de relatielijn.

Het dialoogvenster Relaties bewerken wordt geopend.

  1. Klik op Type Join

  2. Klik in het dialoogvenster Joineigenschappen op een optie en klik op OK.

  3. Breng eventuele aanvullende wijzigingen aan in de relatie en klik op OK.

Naar boven

Referentiële integriteit afdwingen

Het doel van het gebruik van referentiële integriteit is om te voorkomen dat niet-gekoppelde records en verwijzingen gesynchroniseerd, zodat er geen records die verwijzen naar andere records die niet langer bestaat. U afdwingen referentiële integriteit doordat deze voor tabelrelaties. Zodra afgedwongen, worden alle bewerkingen die zou handelen in strijd met referentiële integriteit voor die tabelrelatie geweigerd in Access. Access weigert updates die wijzigen van het doel van een verwijzing, en ook verwijderingen die het doel van een verwijzing verwijderen. Zie het gedeelte Opties voor trapsgewijze bewerkingen instellenwilt doorvoeren referentiële bijwerken en verwijderen, zodat alle rijen worden dienovereenkomstig gewijzigd.

Referentiële integriteit in- of uitschakelen

  1. Klik op de relatielijn van de relatie die u wilt wijzigen. De relatielijn wordt dikker weergegeven zodra u deze selecteert.

  2. Dubbelklik op de relatielijn.

Het dialoogvenster Relaties bewerken wordt geopend.

  1. Schakel het selectievakje Referentiële integriteit afdwingen in.

  2. Breng eventuele aanvullende wijzigingen aan in de relatie en klik op OK.

Nadat u referentiële integriteit hebt afgedwongen, zijn de volgende regels van toepassing:

  • Een waarde kan alleen in het externe-sleutelveld van een gerelateerde tabel worden geplaatst als deze waarde al aanwezig is in het primaire-sleutelveld van de primaire tabel. Anders worden er niet-gekoppelde records gemaakt.

  • Een record kan niet uit een primaire tabel worden verwijderd als er overeenkomstige records bestaan in een gerelateerde tabel. U kunt bijvoorbeeld geen record van een werknemer uit de tabel Werknemers verwijderen als er orders aan deze werknemer zijn toegewezen in de tabel Orders. U kunt echter wel een primaire record en alle gerelateerde records in één bewerking verwijderen door het selectievakje Gerelateerde records trapsgewijs verwijderen in te schakelen.

  • U kunt de waarde van een primaire sleutel in de primaire tabel niet wijzigen, als dit niet-gekoppelde records wilt maken. U kunt bijvoorbeeld een ordernummer in de tabel Orders niet meer wijzigen als er lijnartikelen die zijn toegewezen aan die volgorde in de tabel Orderdetails. U kunt echter kiezen een primaire record en alle gerelateerde records in één bewerking bijwerken door het selectievakje Gerelateerde velden trapsgewijs bijwerken inschakelt.

    Notities: Als u problemen ondervindt bij het inschakelen van referentiële integriteit, houd er rekening mee dat de volgende voorwaarden moet worden voldaan om referentiële integriteit afdwingen:

    • Het gemeenschappelijke veld van de primaire tabel moet een primaire sleutel zijn of een unieke index bevatten.

    • De gemeenschappelijke velden moeten hetzelfde gegevenstype bevatten. De enige uitzondering hierop is dat een AutoNummering-veld kan zijn gerelateerd aan een Nummer-veld waarvan de eigenschap Veldgrootte is ingesteld op Lange integer.

    • Beide tabellen moeten bestaan in dezelfde Access-database. Referentiële integriteit worden niet afgedwongen op gekoppelde tabellen. Als de brontabellen in Access-indeling, kunt u de database waarin ze worden opgeslagen en schakel referentiële integriteit in die database openen.

De opties voor trapsgewijze bewerkingen instellen

U kunt tegenkomen een situatie waarin die u hebt een geldig nodig om de waarde aan de 'een'-kant van een relatie te wijzigen. In dat geval moet u toegang tot alle betrokken rijen automatisch bijwerken als onderdeel van één bewerking. Op deze manier de update is voltooid volledig zodat uw database niet consistent overblijft, met enkele rijen bijgewerkt en andere niet. Access kunt u dit probleem voorkomen door de ondersteuning van de optie gerelateerde velden trapsgewijs bijwerken. Als u referentiële integriteit afdwingen en kies de optie gerelateerde velden trapsgewijs bijwerken en u vervolgens een primaire sleutel bijwerkt, automatisch bijgewerkt alle velden die verwijzen naar de primaire sleutel.

Mogelijk moet u ook een rij verwijderen en alle gerelateerde records, bijvoorbeeld een verzender en alle gerelateerde orders voor die verzender. Daarom ondersteunt toegang de optie gerelateerde Records trapsgewijs verwijderen. Wanneer u referentiële integriteit afdwingen en de optie gerelateerde Records trapsgewijs verwijderen kiest, worden alle records die verwijzen naar de primaire sleutel wanneer u de record met de primaire sleutel verwijdert automatisch verwijderd.

Trapsgewijs bijwerken en/of trapsgewijs verwijderen in- of uitschakelen

  1. Klik op de relatielijn van de relatie die u wilt wijzigen. De relatielijn wordt dikker weergegeven zodra u deze selecteert.

  2. Dubbelklik op de relatielijn.

Het dialoogvenster Relaties bewerken wordt geopend.

  1. Schakel het selectievakje Referentiële integriteit afdwingen in.

  2. Schakel het selectievakje Gerelateerde velden trapsgewijs bijwerken en/of het selectievakje Gerelateerde records trapsgewijs verwijderen in.

  3. Breng eventuele aanvullende wijzigingen aan in de relatie en klik op OK.

Opmerking: Als de primaire sleutel een AutoNummering-veld is, gebeurt er niets als u het selectievakje Gerelateerde velden trapsgewijs bijwerken inschakelt omdat de waarde in een AutoNummering-veld niet kan worden gewijzigd.

Naar boven

Uw Office-vaardigheden uitbreiden
Training verkennen
Als eerste nieuwe functies krijgen
Deelnemen aan Office Insiders

Was deze informatie nuttig?

Bedankt voor uw feedback.

Hartelijk dank voor uw feedback! Het lijkt ons een goed idee om u in contact te brengen met een van onze Office-ondersteuningsagents.

×