1. Wat is een database?

In een database of gegevensbank worden gegevens verzameld in een duidelijke structuur en met een bepaalde volgorde, zodat je makkelijk erin kan opzoeken.
De gegevens staan in één of meer tabellen. Een rij van zo'n tabel heet een record en bevat alle gegevens van één item.
Een tabelcel heet een veld en bevat één gegeven. De kolomtitel is de veldnaam. Alle gegevens in dezelfde kolom zijn van hetzelfde type.

De tabellen vormen de basis van de database. Is hun structuur goed doordacht, dan fabriceer je in een handomdraai mooie en nuttige invulformulieren en rapporten.

1.1. Een database maken

In Access wordt de verzameling van alle tabellen, de relaties ertussen, de vensters voor gegevensingave, de rapporten en de programmeercode samen opgeslagen onder één naam met extensie .ACCDB

Open Access en je ziet venster Bestand – Nieuw, waar je kiest tussen beginnen met een lege database of een voorbeelddatabase van Microsoft.
Eerder gecreëerde databases staan links in een lijstje en/of bij optie Openen – Recent.

Je moet een database opslaan om ze te creëren:

  1. Kies zonodig bij tab Bestand de optie Nieuw.
  2. Klik op Lege Bureaudatabase of op één van de voorbeelddatabases.
  3. Typ in het kleine venstertje een naam voor de nieuwe database (zonder .accdb) en klik op het mapje helemaal rechts om de locatie te bepalen.
  4. Klik op de knop Maken en je kan aan de tabellen beginnen.

Je kan een database eigenschappen meegeven: kies in menu Bestand – Info en je ziet rechts een link om de eigenschappen te bekijken (tabs Algemeen, Statistieken, Inhoud) en op te geven (Samenvatting en Aangepast).


1.2. Een tabel maken

Als je de database net gecreëerd hebt, zie je nu waarschijnlijk een lege tabelstructuur. Anders klik je op lint Maken en daar op knop Tabel.

Standaard krijg je een Excelachtige weergave, waar je op kolomhoofdingen klikt om veldnamen in te geven en in een cel om gegevens in te vullen.
Voor het serieuze werk kiezen we een andere werkwijze:

  1. Als je nog geen tabel gemaakt hebt, kies je op lint MakenTabelontwerp.
  2. Geef de tabel een duidelijke naam en klik op OK.
  3. Typ de eerste veldnaam. Vermijd identieke veldnamen.
  4. Het veldtype bepaalt de mogelijke inhoud van het veld.
    • Meestal is het eerste veld het identificatieveld: de primaire sleutel, veelal van type AutoNummering.
  5. Rechts kan je nog een beschrijving typen, die zal in andere weergaven op de statusbalk verschijnen.
  6. Onderaan bepaal je de gedetailleerde veldeigenschappen. Geef zeker elk veld een duidelijk Bijschrift, dat komt als label op formulieren en rapporten.

Heb je de tabelstructuur gesloten en je wil die aanpassen? Rechtsklik in het navigatiepaneel (= linkerkolom van het venster) op de tabelnaam en kies Ontwerpweergave.
Een veld tussenvoegen of wissen kan je via de opties Rijen Invoegen en Rijen Verwijderen op het lint Hulpmiddelen voor Tabellen.

De tabeleigenschappen

Soms wil je bv. twee velden met elkaar vergelijken; dat kan niet in de validatieregel van een veld, maar wel in de validatieregel van de tabel in zijn geheel.
Open de tabel in ontwerpweergave en klik zo nodig op lint Hulpmiddelen voor Tabellen op Eigenschappenvenster, zodat je rechts op het scherm de tabeleigenschappen ziet:

Recordvalidatie

Bij de tabeleigenschappen kan je een validatieregel voorzien, waardoor Access elk nieuw of gewijzigd record test vooraleer het opgeslagen wordt.

bv: in een tabel FACTUUR kan je bepalen dat de waarde in veld [Vervaldatum] (uiterste datum van betaling) altijd ná de waarde in veld [Factuurdatum] moet vallen.

  1. Open de tabel in ontwerpweergave en activeer het eigenschappenvenster.
  2. Zet bij Validatieregel: [Factuurdatum] < [Vervaldatum]
  3. Voorzie een duidelijke waarschuwing bij Validatietekst, bv. Vervaldatum valt ná factuurdatum

1.3. Veldtypes en veldeigenschappen

Het veldtype bepaalt welke soort waarden het veld kan bevatten.
Open een tabel in ontwerpweergave en je ziet onderaan, bij tab Algemeen dat elk veldtype heel wat instelmogelijkheden heeft.
Klik in het veld bij een eigenschap en je krijgt rechts beneden meer uitleg. Met F1 roep je de Hulp van Microsoft in.

De veldeigenschappen die je in het tabelontwerp voorziet worden doorgegeven en toegepast in alle query's, formulieren en rapporten waar het veld gebruikt wordt.
Vandaar dat het een goed idee is om elk veld een bijschrift te geven; dat wordt het label bij het veld in formulieren en rapporten.

Bovendien zorg je best voor een duidelijke notatie en een invoermasker, zodat de gebruiker enkel correcte gegevens kan invoeren. Want bij foute invoer geldt het RIRO-effect: rommel in, rommel uit.

1.3.1. Autonummering

De primaire sleutel van een tabel bevat altijd unieke gegevens – tweemaal dezelfde sleutel is absoluut verboden – en moet altijd ingevuld zijn, dat veld mag nooit leeg zijn.
Daarom nemen we meestal een Autonummering-veld voor de primaire sleutel, dan zorgt Access ervoor dat het veld altijd ingevuld wordt en dat nooit tweemaal hetzelfde nummer gebruikt wordt.

Elke tabel kan maar één veld Autonummering bevatten.
Het type is standaard lange integer (4 bytes), maar bij een netwerkdatabase wordt dat replicatie-ID (16 bytes).

Controleer altijd even dat de verwijssleutel in de mastertabel hetzelfde type heeft als de primaire sleutel in de primaire tabel.

Alleen bij dit veld vind je de eigenschap Nieuwe Waarden: reeks (oplopende nummering) of willekeurig.
Verder is zo'n veld verplicht geïndexeerd zonder duplicaten.

1.3.2. Korte Tekst

In een tekstvald mag je letters, cijfers en andere karakters gebruiken tot max. 255 tekens, alle karakters zijn toegelaten.
Je gebruikt ook een tekstveld voor cijferreeksen waarmee je niet rekent, zoals telefoon- of rekeningnummers.

De eigenschappen

  • Veldlengte: standaard is een tekstveld 255 tekens lang, maar voorzie niet meer tekens dan nodig, dat kost immers geheugenruimte.
  • Notatie: bepaalt hoe de tekstwaarde op het scherm getoond wordt; zie verderop in de tekst
  • Invoermasker: beperkt foute invoer, door enkel input te accepteren die overeenkomt met het opgegeven masker
  • Bijschrift: label dat op formulieren en rapporten bij het veld verschijnt
  • Standaardwaarde: waarde die automatisch ingevuld wordt bij de creatie van een nieuw record
  • Validatieregel: voorwaarde waaraan de invoer moet voldoen, bv. Like "A????" betekent: tekstinvoer die begint met A en uit maximaal 5 tekens bestaat
  • Validatietekst: foutmelding die verschijnt als de invoer niet aan de validatieregel voldoet
  • Vereist: standaard Nee, bij Ja kan het record pas opgeslagen worden als dit veld ingevuld is
  • Lengte Nul Toestaan: mag het veld als waarde Null krijgen?
  • Geïndexeerd: als het veld veelvuldig gebruikt wordt voor opzoekwerk, indexeer je het.
  • Unicode-Compressie: zorgt ervoor dat speciale tekens correct getoond worden, ongeacht de taal die ingesteld werd bij Landinstellingen in Windows Configuratiescherm
  • IME-modus: enkel van toepassing op Japanse databases
  • IME-zinmodus: enkel van toepassing op Japanse databases
  • Infolabels: specifieke actielabels bij bepaalde velden, bv. Toevoegen aan Contactpersonen bij een e-mailadres of telefoonnummer

Notatie: voor tekst bestaan er geen standaardnotaties, maar je kan ze uiteraard wel zelf samenstellen.
Eventueel bestaat de tekstnotatie uit twee onderdelen: notatie-ingevuld-veld; notatie-leeg-veld

symbooltekstformaat
@ hier moet iets ingevuld worden; lege plaatsen krijgen een spatie als vulling
& hier mag je iets typen, invoer niet verplicht
< alle tekens na < worden in kleine letters getoond
> alle tekens na > worden in hoofdletters getoond
"tekst" tekst tussen aanhalingstekens wordt letterlijk getoond
\ het teken na \ wordt letterlijk getoond
[Kleur] de tekst verschijnt in de kleur tussen vierkante haken
beschikbare kleuren: Zwart, Blauw, Groen, Lichtblauw, Rood, Lila, Geel en Wit
* de beschikbare ruimte wordt opgevuld met het teken dat volgt op de asterisk

Enkele voorbeelden:

Opgeslagen gegevensTekstformaatWeergave
123456789"BE "@@@\.@@@\.@@@;"geen"BE 123.456.789
niets, leeg veld"BE "@@@\.@@@\.@@@;"geen"geen
Hasselt>HASSELT

Invoermasker: klik in het veld en dan op de drie puntjes om de wizard te starten, waarbij je voor tekst kan kiezen uit het standaard invoermasker voor Belgische postcodes ("B "0000) of voor wachtwoorden (;;* en toont enkel sterretjes).
Of je stelt zelf een masker samen, dat dan maximaal bestaat uit drie delen: masker;opslag;opvulteken
waarbij opslag = 1 (standaard) om enkel de ingetypte data op te slaan of 0 (handiger) slaat de gegevens op zoals ze getoond worden.
Het opvulteken is een tijdelijke aanduiding (underscore, streepje, asterisk) die verdwijnt als je een teken op die plaats intypt.

symbool in maskerbetekenis
0 cijfer van 0-9, invoer verplicht, plus/min-tekens niet toegestaan
9 cijfer of spatie, invoer niet verplicht, plus/min-tekens niet toegestaan
#cijfer, spatie of plus/min-teken, invoer niet verplicht, lege positie wordt getoond als spatie
L letter, invoer verplicht
? letter, invoer niet verplicht
A letter of cijfer, invoer verplicht
a letter of cijfer, invoer niet verplicht
& willekeurig teken, invoer verplicht
C willekeurig teken, invoer niet verplicht
<alle volgende tekens worden omgezet in kleine letters
> alle volgende tekens worden omgezet in hoofdletters
! het invoermasker wordt van links naar rechts opgevuld
\ het teken na \ wordt letterlijk getoond

1.3.3. Lange tekst

Een memoveld – of 'Lange tekst' zoals het sinds Access 2013 heet – is een speciaal soort tekstveld. Het kan max. 65.635 tekens bevatten, genoeg om een boek te schrijven!
Een memoveld is handig om notities of besprekingen in op te slaan. Je kan er zelfs een spellingcontrole in uitvoeren.
Je kan hier geen veldlengte ingeven, maar Access slaat alleen de werkelijk gebruikte ruimte van een memoveld op.

Is het veld te klein om handig in te geven? Druk Shift-F2.

1.3.4. Numeriek

Alle velden waar eventueel rekenwerk bij te pas kan komen, moeten numerieke velden zijn.
Je kan in het eigenschappenvenster onderaan verscheidene soorten getallen kiezen bij Veldlengte.

Soortmogelijke waardendecimalengeheugenruimte
byte 0 t.e.m. 255 geen 1 byte
integer -32.768 t.e.m. 32.767 geen 2 bytes
lange integer -2.147.486.648 t.e.m. 2.147.483.647 geen 4 bytes
enkele precisie -3,4E+38 t.e.m. 3,4E+38 7 4 bytes
dubbele precisie-1,797E+308 t.e.m. 1,797E+308 15 8 bytes
replicatie-ID unieke ID die nodig is als je op meer PC's met dezelfde database werkt 16 bytes
decimaal -1028-1 tot 1028-1 28 12 bytes

De notatie bepaalt hoe het getal op het scherm getoond wordt en op papier afgedrukt.
Klik in het vakje Notatie en je kan een voorgedefinieerd formaat toepassen:

FormaatWeergave
standaardgetalnotatie toont het getal zoals het ingevoerd werd
valuta toont het getal met een scheidingsteken tussen de duizendtallen en het valutateken uit de landinstellingen van Windows achter het getal
euro toont het getal met een scheidingsteken tussen de duizendtallen en het valutateken € achter het getal
vast toont minstens één cijfer (geen waarde: toont 0) en toont geen scheidingsteken tussen duizendtallen
standaard weergave volgens de landinstellingen in Windows Configuratiescherm
percentage met procentteken, bv. 25% wordt opgeslagen als 0,25
wetenschappelijk e-notatie

Bovendien kan je zelf een aangepaste notatie samenstellen, eventueel bestaande uit meer onderdelen, gescheiden door puntkomma:
positieve-waarde; negatieve-waarde; nul; geen-waarde

symboolnumeriek formaat
0 toont het ingetypte cijfer of een nul als er niets ingevoerd werd
# toont het ingetypte cijfer of niets
, afhankelijk van de landinstellingen, een komma of punt als decimaal scheidingsteken
. afhankelijk van de landinstellingen, een punt of een spatie als teken tussen de duizendtallen
% het ingevoerde getal wordt vermenigvuldigd met 100 en getoond met procentteken
"tekst" tekst tussen aanhalingstekens wordt letterlijk getoond
\ het teken na \ wordt letterlijk getoond
[Kleur] de tekst verschijnt in de kleur tussen vierkante haken
beschikbare kleuren: Zwart, Blauw, Groen, Lichtblauw, Rood, Lila, Geel en Wit

Verdere eigenschappen:

  • Aantal Decimalen: om een vast aantal cijfers na de komma te bepalen. Je kan kiezen tussen Automatisch of een aantal tussen 0 en 15.
  • Invoermasker: beperkt foute invoer, door enkel input te accepteren die overeenkomt met het opgegeven masker; zie hieronder
  • Bijschrift: label dat op formulieren en rapporten bij het veld verschijnt
  • Standaardwaarde: waarde die automatisch ingevuld wordt bij de creatie van een nieuw record
  • Validatieregel: voorwaarde waaraan de invoer moet voldoen, bv. Is Null Or >100 betekent: geen waarde of een waarde groter dan 100
  • Validatietekst: foutmelding die verschijnt als de invoer niet aan de validatieregel voldoet
  • Vereist: standaard Nee, bij Ja kan het record pas opgeslagen worden als dit veld ingevuld is
  • Geïndexeerd: als het veld veelvuldig gebruikt wordt voor opzoekwerk, indexeer je het.
  • Infolabels: overbodig, Access kent geen specifieke actielabels voor numerieke waarden
  • Tekstuitlijning: uitlijning van de inhoud in het veld; standaard links voor tekst en rechts voor datums en numerieke waarden

Een invoermasker voorkomt of alleszins beperkt het risico van foute invoer.
Voor numerieke waarden is er geen wizard Invoermasker, maar je kan er wel zelf eentje samenstellen dat dan maximaal bestaat uit drie delen: masker;opslag;opvulteken
waarbij opslag = 1 (standaard) om enkel de ingetypte data op te slaan of 0 (handiger) slaat de gegevens op zoals ze getoond worden.
Het opvulteken is een tijdelijke aanduiding (underscore, streepje, asterisk) die verdwijnt als je een teken op die plaats intypt.

symbool in maskerbetekenis
0 cijfer van 0-9, invoer verplicht, plus/min-tekens niet toegestaan
9 cijfer of spatie, invoer niet verplicht, plus/min-tekens niet toegestaan
#cijfer, spatie of plus/min-teken, invoer niet verplicht, lege positie wordt getoond als spatie
! het invoermasker wordt van links naar rechts opgevuld
\ het teken na \ wordt letterlijk getoond

1.3.5. Datum/Tijd

Dit zijn numerieke velden, speciaal geformatteerd voor een datum of tijd, van het jaar 100 tot 9999. Ze vragen 8 bytes geheugenruimte.
Het decimale deel van het getal onthoudt de uurwaarde.

Klik in het vak Veldlengte en kies de gewenste notatie voor je datum of tijdveld.
Volstaan de standaardnotaties niet? Definieer er zelf eentje:

h:n:suren:minuten:seconden, met één of twee cijfers getoond
hh:nn:ssuren:minuten:seconden, allemaal met twee cijfers getoond
d of dddag van de maand, getoond met één of twee cijfers
ddd naam van de weekdag, afgekort tot twee letters
dddd volledige naam van de weekdag
w dagnummer van de weekdag, maandag is 1
ww weeknummer, waarbij 1 = eerste week van januari
m of mm maandnummer, getoond met één of twee cijfers
mmmnaam van de maand, afgekort tot drie letters
mmmmvolledige naam van de maand
yy of yyyyjaartal, ofwel enkel de laatste twee cijfers, ofwel inclusief eeuwcijfers
- of /scheidingsteken voor datumweergave
"tekst"tekst tussen aanhalingstekens wordt letterlijk getoond

Verdere eigenschappen:

  • Invoermasker: beperkt foute invoer, door enkel input te accepteren die overeenkomt met het opgegeven masker; zie hieronder
  • Bijschrift: label dat op formulieren en rapporten bij het veld verschijnt
  • Standaardwaarde: waarde die automatisch ingevuld wordt bij de creatie van een nieuw record
  • Validatieregel: voorwaarde waaraan de invoer moet voldoen, bv. <#01/01/2000# betekent: datum vóór 1 januari 2000
    • of >=Date() betekent: datum van vandaag of in de toekomst.
  • Validatietekst: foutmelding die verschijnt als de invoer niet aan de validatieregel voldoet
  • Vereist: standaard Nee, bij Ja kan het record pas opgeslagen worden als dit veld ingevuld is
  • Geïndexeerd: als het veld veelvuldig gebruikt wordt voor opzoekwerk, indexeer je het
  • IME-modus: enkel van toepassing op Japanse databases
  • IME-zinmodus: enkel van toepassing op Japanse databases
  • Infolabels: specifieke actielabels bij bepaalde velden, bv. Mijn agenda weergeven bij een datum
  • Tekstuitlijning: uitlijning van de inhoud in het veld; standaard links voor tekst en rechts voor datums en numerieke waarden
  • Datumkiezer Weergeven: bij een datumveld kan je wel (standaard) of niet een datumkiezer laten tonen

Invoermasker: klik in het veld en dan op de drie puntjes om de wizard te starten, waarbij je kan kiezen uit verscheidene standaard maskers voor tijd- en datumnotatie.
Of je stelt zelf een masker samen, dat dan maximaal bestaat uit drie delen: masker;opslag;opvulteken
waarbij opslag = 1 (standaard) om enkel de ingetypte data op te slaan of 0 (handiger) slaat de gegevens op zoals ze getoond worden.
Het opvulteken is een tijdelijke aanduiding (underscore, streepje, asterisk) die verdwijnt als je een teken op die plaats intypt.

symbool in maskerbetekenis
0 cijfer van 0-9, invoer verplicht, plus/min-tekens niet toegestaan
9 cijfer of spatie, invoer niet verplicht, plus/min-tekens niet toegestaan
: standaard scheidingsteken in tijdnotaties
- of /standaard scheidingsteken in datumnotaties, afhankelijk van de landinstellingen in Windows Configuratiescherm

1.3.6. Valuta

Een valutaveld is een numeriek veld van 8 bytes waarin het getal automatisch met de standaard valuta-aanduiding verschijnt.
Meestal zal je het aantal decimalen op 2 zetten, maximaal zijn het er 4.

1.3.7. Boolean (Ja/Nee)

Logische velden zijn zeer bescheiden in geheugengebruik: één bit per veld. Ze dienen om een beslissing of toestand op te slaan.

De waarde Ja of Waar of Aan wordt opgeslagen als -1,
de waarde Nee of Onwaar of Uit wordt opgeslagen als 0.

Eigenschappen:

  • Notatie: keuze tussen de paren Waar/Onwaar, Ja/Nee en Aan/Uit
    • Je kan ook zelf een notatie opgeven, bv: ;"mannelijk";"vrouwelijk"
  • Bijschrift: label dat op formulieren en rapporten bij het veld verschijnt
  • Standaardwaarde: waarde die automatisch ingevuld wordt bij de creatie van een nieuw record
  • Validatieregel: voorwaarde waaraan de invoer moet voldoen
  • Validatietekst: foutmelding die verschijnt als de invoer niet aan de validatieregel voldoet
  • Geïndexeerd: als het veld veelvuldig gebruikt wordt voor opzoekwerk, indexeer je het
  • Tekstuitlijning: uitlijning van de inhoud in het veld; standaard links voor tekst en rechts voor datums en numerieke waarden

1.3.8. OLE-object

In een OLE-veld (Object Linking and Embedding) sla je een ingebed object op: Worddocument, Exceltabel, foto, muziek, ...
Elk object mag tot 1 GB groot zijn. Een OLE-veld kan je niet sorteren of indexeren.

In gegevensweergave of in een formulier zet je gegevens in een OLE-veld door erop te rechtsklikken en Object Invoegen te kiezen.
Dan kan je ofwel een nieuw object maken ofwel eentje vanop schijf gaan openen.
In het veld verschijnt een pictogram met de bestandsnaam onder. Dubbelklik erop om het bijhorend programma te activeren.

1.3.9. Hyperlink

In een hyperlinkveld vult Access automatisch "http://" in en de gebruiker kan het verder aanvullen, maar je kan er ook een e-mailadres ingeven.
Het is in feite een memoveld, waarin je een hyperlink in maximum drie onderdelen kan invullen: te tonen tekst#URL#schermtip.

1.3.10. Bijlage

In gegevensweergave bevat een bijlageveld een 'clips'-icoon met het aantal gekoppelde bijlagen. Rechtsklik erop en kies Bijlagen Beheren en kies Toevoegen om een bijlage aan het veld te koppelen of dubbelklik op een bijlage om ze te openen.

Een bestand dat op deze manier als bijlage toegevoegd wordt, wordt automatisch zoveel mogelijk gecomprimeerd, zodat de omvang van de database niet te snel toeneemt.

1.3.11. Berekend

Veld met het resultaat van een berekening op basis van gegevens uit andere velden in dezelfde tabel

1.3.12. Lijst met waarden

Wizard opzoeken gebruik je niet alleen om een relatie te leggen naar een andere tabel (zie 1.4.1.), maar ook om een lijst met waarden op te stellen.

Stel dat je bv. de dagen van de week nodig hebt of de mogelijke aansprekingen voor personen.
Je kan die data in een kleine tabel apart zetten en koppelen – of in een lijst met waarden in de mastertabel zelf.

  1. Open de tabel in ontwerpweergave, bv. via rechtsklikken in het navigatiepaneel.
  2. Klik in het veld waar de lijst moet komen (of voeg het toe) en kies als veldtype: Wizard Opzoeken.
  3. Activeer de optie Ik Typ de Gewenste Waarden en ga naar Volgende.
  4. Standaard typ je één kolom waarden, maar je kan er meer voorzien.
  5. Typ alle waarden onder elkaar. Druk niet Enter om naar de volgende rij te springen; pijl-naar-beneden of Tab werkt wel.
  6. Klik Volgende, bevestig de voorgestelde veldnaam of pas die aan en bekijk de opties:
    • Alleen Lijst: de gebruiker kan zelf geen waarde toevoegen, alleen iets kiezen uit de bestaande lijst;
    • Meerdere Waarden Toestaan: de gebruiker kan verschillende items tegelijk selecteren in de lijst.
  7. Voltooien en de lijst staat in de tabel.

Wil je later de lijst aanpassen? Onderaan bij Veldeigenschappen zie je tabblad Opzoeken: daar vind je alle instellingen van de waardenlijst.

  • Weergave: keuzelijst met of zonder invoervak om waarden toe te voegen; als er tekstvak staat is het geen koppeling of waardenlijst, maar een gewoon tabelveld
  • Type Rijbron: nu lijst met waarden; als je de wizard gebruikt voor een koppeling naar een andere tabel of een query, staat hier de tabel- of querynaam
  • Rijbron: de waarden voor de lijst, gescheiden door puntkomma's. Tekstwaarden staan tussen aanhalingstekens.
  • Afhankelijke Kolom: nummer van de kolom in de keuzelijst die de sleutel bevat (standaard 1).
  • Aantal Kolommen: aantal velden dat in de keuzelijst gebruikt wordt
  • Kolomkoppen: bij JA verschijnt het bijschrift van het veld als kolomkop in de keuzelijst
  • Kolombreedten: breedte van elke kolom, gescheiden door puntkomma's. Bij een koppeling is de eerste kolom meestal 0cm breed, voor de verborgen sleutel.
  • Aantal Rijen: maximaal aantal waarden dat onder elkaar in de lijst getoond wordt
  • Lijstbreedte: totale breedte van de getoonde lijst
  • Alleen Lijst: bij JA kan de gebruiker zelf geen nieuwe waarden intypen
  • Meerdere Waarden Toestaan: mag de gebruiker verscheidene waarden samen selecteren?
  • Bewerken Lijst Met Waarden: mag de gebruiker de waarden in de lijst aanpassen?
  • Bewerkingsformulier Lijstitems: (eventueel) naam van het formulier waarmee de lijstitems bewerkt kunnen worden
  • Alleen Rijbronwaarden Weergeven: worden toegevoegde waarden getoond?

1.4. Van je relaties moet je 't hebben

Een relatie is een koppeling tussen twee tabellen via een gemeenschappelijk veld.
Dat veld is de primaire sleutel van de primaire tabel en een verwijssleutel in de mastertabel.
De sleutelvelden moeten in beide tabellen hetzelfde veldtype hebben; hun naam mag verschillen.
Access controleert zelf dat de primaire sleutel uniek is – dat er dus geen twee records bestaan met dezelfde sleutel – en sorteert de records volgens de sleutelvolgorde.

Er bestaan drie soorten relaties:

In samenhang met relaties speelt ook het begrip referentiële integriteit een belangrijke rol: je mag geen record uit een primaire tabel verwijderen als het nog voorkomt in een mastertabel, bv: zolang een klant op een bestelling vermeld wordt, mag je de gegevens van die klant niet uit tabel Klanten wissen.

Maar hoe leg je nu in Access een relatie tussen tabellen?

1.4.1. De wizard Opzoeken

Tijdens de creatie van een tabel of bij aanpassing van de tabelstructuur kan je als gegevenstype Wizard Opzoeken kiezen en zo de relatie leggen.

  • Maak eerst de primaire tabel inclusief primaire sleutel en sla op (= sluit de tabelstructuur).
  • In de mastertabel kies je bij de verwijssleutel als gegevenstype Wizard Opzoeken.
  • De waarden voor het opzoekveld worden opgehaald uit een andere tabel, dus klik gewoon Volgende.
  • Selecteer de primaire tabel en klik Volgende.
  • Gebruik het knopje in het midden om zowel de primaire sleutel als het veld of de velden die je in de opzoekkolom wil zien naar rechts te verhuizen. Volgende.
  • Als je wil kan je sorteren op een veld in de opzoekkolom; standaard wordt op de primaire sleutel gesorteerd. Volgende.
  • Controleer de breedte van de opzoekkolom. De sleutelkolom blijft normaal verborgen. Volgende.
  • Het label is normaal de veldnaam. Bepaal of de gegevensintegriteit ingeschakeld moet worden (wenselijk). Voltooien en tabel laten opslaan.

Wil je later de instellingen van de koppeling aanpassen? Onderaan bij Veldeigenschappen zie je tabblad Opzoeken, daar vind je ze terug.

1.4.2. Query's opstellen

Een query gebruik je om gegevens op te vragen, maar eveneens om tijdelijke relaties tussen tabellen te leggen.
Meer daarover in het onderdeel Query.

1.4.3. Het venster Relaties

Zodra je een database opent, kan je rechtsboven lint Hulpmiddelen voor Databases activeren.
Daar klik je op de knop Relaties om het relatievenster – inclusief specifiek lint Hulpmiddelen voor Relaties – te openen.

Werkwijze om een permanente relatie te creëren:

  1. Sluit alle tabellen en open venster Relaties via lint Hulpmiddelen voor Databases, knop Relaties.
  2. Maak zonodig de tabel(len) zichtbaar via knop Alle Relaties of Tabel Weergeven.
  3. Sleep de primaire sleutel van de primaire tabel naar de verwijssleutel van de mastertabel.
  4. Controleer de instellingen (juiste velden, integriteit) in het venstertje Relaties Bewerken.
  5. Eventueel kan je via knop Jointype de soort koppeling aanpassen:
    • standaard is een koppeling een inner join: de relatie toont alle records waarin de gekoppelde velden in beide tabellen dezelfde inhoud hebben;
    • bij een left outer join worden alle records van de eerste tabel getoond, ook degenen zonder tegenhanger in de tweede tabel;
    • bij een right outer join worden alle records van de tweede tabel getoond, ook degenen zonder tegenhanger in de eerste tabel.
  6. Klik op Maken om de relatie in te stellen.

Achteraf kan je op een relatie rechtsklikken om ze te bewerken of verwijderen.

Wil je enkel de koppelingen zien van de geselecteerde tabel? Klik op lint Hulpmiddelen voor Relaties op Rechtstreekse Relaties.
Via Alle Relaties maak je alle relaties terug zichtbaar.

Knop Indeling Wissen maakt het venster Relaties leeg, maar de tabellen zelf en de relaties ertussen blijven wel bestaan.


1.5. Input in gegevensbladweergave

Meestal zal je een formulier gebruiken om data in te geven, maar om vlug wat proefgegevens in de tabel te zetten voldoet de gegevensbladweergave.

Om een record te wissen, rechtsklik je op de rijkop en kies je Verwijderen in het snelmenu. Access vraagt je om bevestiging en na een positief antwoord ben je het record definitief kwijt.

Over de volgorde van de records moet je je geen zorgen maken. Een nieuw record wordt onderaan toegevoegd en belandt op de gewenste plaats door een sorteervolgorde te gebruiken (zie 2.2).