Unieke waarden/Records in Access Queries

access queries

Uitleg over het verschil tussen deze twee query opties in MS Access.

Ben Welman
02-02-2021

Inleiding

In het eigenschappen venster van een query zijn twee opties, Unieke Waarden en Unieke Records. Standaard staat de waarde voor beiden op Nee. Deze leveren soms dezelfde waarden op, maar er zijn significante verschillen wanneer je een van beide op Ja zet. Verder kun je niet beide waarden op Ja zetten.

Deze eigenschappen corresponderen met respectievelijk de SQL opdrachten
DISTINCT en DISTINCTROW.

Verdere uitleg via een Voorbeeld met een eenvoudige database “Voorbeeld_Uniek.accdb”. Deze bevat twee tabellen:

Tabel Klanten.

Figure 1: Tabel Klanten.

Tabel Orders.

Figure 2: Tabel Orders.

Tussen de tabellen is een een-op-veel relatie van Klanten.Klantnr > Orders.Klantnr.

Zoals je ziet zijn er twee verschillende klanten met dezelfde naam voor Bedrijf. In de query’s hierna wordt steeds deze naam getoond voor de drie verschillende mogelijkheden.

qry Klanten standaard

Ontwerp

Onder deze naam is een query gemaakt waar beide tabellen aan zijn toegevoegd. Het ontwerpvenster ziet er als volgt uit:

Ontwerp query Klanten standaard.

Figure 3: Ontwerp query Klanten standaard.

Eigenschappen query Klanten standaard.

Figure 4: Eigenschappen query Klanten standaard.

Wanneer je met SQL werkt, dan is de opdracht:

SELECT Klanten.Bedrijf
FROM Klanten
INNER JOIN Orders ON Klanten.Klantnr = Orders.Klantnr;

RESULTAAT

Vier rijen, voor elke klantorder is er een rij, alle records worden getoond.

Figure 5: Vier rijen, voor elke klantorder is er een rij, alle records worden getoond.

qry Klanten unieke waarden

Ontwerp

In het Eigenschappenvenster wordt Unieke waarden = Ja.

Ontwerp qry Klanten unieke waarden.

Figure 6: Ontwerp qry Klanten unieke waarden.

Wanneer je met SQL werkt, dan is de opdracht:

SELECT DISTINCT Klanten.Bedrijf
FROM Klanten
INNER JOIN Orders ON Klanten.Klantnr = Orders.Klantnr;

Resultaat

Twee unieke rijen, de resultaten worden beperkt tot unieke waarden in het uitvoerveld.

Figure 7: Twee unieke rijen, de resultaten worden beperkt tot unieke waarden in het uitvoerveld.

qry Klanten unieke records

Ontwerp

In het Eigenschappenvenster wordt Unieke records = Ja.

Ontwerp qry Klanten unieke records.

Figure 8: Ontwerp qry Klanten unieke records.

Wanneer je met SQL werkt, dan is de opdracht:

SELECT DISTINCTROW Klanten.Bedrijf
FROM Klanten
INNER JOIN Orders ON Klanten.Klantnr = Orders.Klantnr;

Resultaat

Drie rijen, want de resultaten in alle onderliggende tabellen moeten uniek zijn, dus niet de uitvoervelden.

Figure 9: Drie rijen, want de resultaten in alle onderliggende tabellen moeten uniek zijn, dus niet de uitvoervelden.

Je ziet hier twee keer “Jansen BV”. Weliswaar is dat niet uniek in het uitvoerveld, maar ze zijn uniek omdat de ene in Amsterdam zit en de andere in Londen.

Wanneer je zelf met deze datase wilt werken dan kun je deze hier downloaden: Database Voorbeeld_Uniek

Reuse

Text and figures are licensed under Creative Commons Attribution CC BY-SA 4.0. The figures that have been reused from other sources don't fall under this license and can be recognized by a note in their caption: "Figure from ...".

Citation

For attribution, please cite this work as

Welman (2021, Feb. 2). Softwijs website: Unieke waarden/Records in Access Queries. Retrieved from https://softwijs.nl/msoffice/2021-02-02-unieke-records-access/

BibTeX citation

@misc{welman2021unieke,
  author = {Welman, Ben},
  title = {Softwijs website: Unieke waarden/Records in Access Queries},
  url = {https://softwijs.nl/msoffice/2021-02-02-unieke-records-access/},
  year = {2021}
}