Aanmelden met Microsoft
Meld u aan of maak een account.
Hallo,
Selecteer een ander account.
U hebt meerdere accounts
Kies het account waarmee u zich wilt aanmelden.

In dit artikel wordt uitgelegd hoe u top-waardenquery's en totalenquery's gebruikt om de meest recente of vroegste datum in een set records te vinden. Op deze manier kunt u antwoord geven op diverse zakelijke vragen, zoals wanneer een klant voor het laatst een order heeft geplaatst of welke vijf kwartalen het beste zijn geweest voor de verkoop per plaats.

In dit artikel

Overzicht

U kunt gegevens rangschikken en de items met de hoogste rangschikken bekijken met een top-waardenquery. Een top-waardenquery is een selectiequery die een bepaald aantal of percentage van de waarden boven aan de resultaten retourneert, bijvoorbeeld de vijf populairste pagina's op een website. U kunt een top-waardenquery gebruiken ten opzichte van elk type waarde: ze hoeven geen getallen te zijn.

Als u uw gegevens wilt groepeert of samenvatten voordat u ze rangschikt, hoeft u geen top-waardenquery te gebruiken. Stel dat u de verkoopcijfers voor een bepaalde datum nodig hebt voor elke plaats waarin uw bedrijf actief is. De plaatsen worden in dit geval categorieën (u moet de gegevens per plaats zoeken), zodat u een totalenquery kunt gebruiken.

Wanneer u een top-waardenquery gebruikt om records te zoeken die de laatste of vroegste datum in een tabel of groep records bevatten, kunt u een antwoord geven op allerlei zakelijke vragen, zoals:

  • Wie heeft de laatste tijd de meeste verkopen verkocht?

  • Wanneer heeft een klant voor het laatst een order geplaatst?

  • Wanneer zijn de volgende drie verjaardagen in het team?

Als u een top-waardenquery wilt maken, maakt u eerst een selectiequery. Sorteer vervolgens de gegevens op basis van uw vraag, of u naar boven of onderaan zoekt. Als u de gegevens wilt groepeert of samenvatten, zet u de selectiequery om in een totalenquery. Vervolgens kunt u een statistische functie gebruiken, zoals Max of Min, om de hoogste of laagste waarde te retourneren, of First of Last om de vroegste of laatste datum als resultaat te hebben.

In dit artikel wordt ervan uitgenomen dat de datumwaarden die u gebruikt het gegevenstype Datum/tijd hebben. Als de datumwaarden in een tekstveld staan, .

Een filter gebruiken in plaats van een top-waardenquery

Een filter is meestal beter als u een specifieke datum in gedachten hebt. Houd het volgende in gedachte als u wilt bepalen of u een top-waardenquery moet maken of beter een filter kunt toepassen:

  • Gebruik een filter als u alle records wilt retourneren met een datum die gelijk is aan, eerder is dan of later is dan een specifieke datum. Als u bijvoorbeeld de datums voor verkopen tussen april en juli wilt weergeven, past u een filter toe.

  • Als u een opgegeven hoeveelheid records wilt retourneren met de meest recente of laatste datum in een veld en u de exacte datumwaarden niet weet of ze niet van belang zijn, maakt u een top-waardenquery. Als u bijvoorbeeld de vijf beste verkoop kwartalen wilt zien, gebruikt u een top-waardenquery.

Zie het artikel Filter toepassen om records in een Access-databaseweer te geven voor meer informatie over het maken en gebruiken van filters.

Naar boven

Voorbeeldgegevens voorbereiden voor gebruik bij de voorbeelden

In de stappen in dit artikel worden de gegevens in de volgende voorbeeldtabellen gebruikt.

De tabel Werknemers   

Achternaam

Voornaam

Adres

Plaats

CountryOrR egion

Geboortedatum

Datum in dienst

Barendse

Jan

Hoofdstraat 1

Utrecht

NL

05-02-1968

10-06-1994

Helder

Wim

Dapperstraat 52

Rotterdam

NL

22-05-1957

22-11-1996

Pieter

Goffert

3122 75e Ave. S.W.

Zwolle

NL

11-11-1960

11-03-2000

Bagel

Jean Philippe

1 Contoso Blvd.

Londen

VK

22-03-1964

22-06-1998

Prijs

Julian

Calle Smith 2

Mexico-Stad

Mexico

05-06-1972

05-01-2002

Heimans

Christine

Breestraat 43

Zwolle

NL

23-01-1970

23-04-1999

Ridder, de

Steven

Rijksstraatweg 67

Tilburg

NL

14-04-1964

14-10-2004

Berkhout

Daphne

Draaiweg 80

Pijnacker

NL

29-10-1959

29-03-1997

De tabel EventType    

Type-id

Gebeurtenistype

1

Productlancering

2

Bedrijfsfeest

3

Privéfeest

4

Inzamelingsactie

5

Beurs

6

Lezing

7

Concert

8

Tentoonstelling

9

Braderie

De tabel Klanten    

Klant-id

Bedrijf

Contactpersoon

1

Contoso, Ltd. Graphic

Guus Van Lingen

2

De troetelbeer

Johanna Roossien

3

Fabrikam

Hilde Eppink

4

Wervelwind Speelgoed

Stefan Spel

5

A. Datum

Hessel Wanders

6

Adventure Works

Wander Wolthuis

7

Instituut voor grafisch ontwerp

Maria Beukema

8

Kunstacademie

Elsje Quint

De tabel Evenementen    

Evenement-id

Gebeurtenistype

Klant

Gebeurtenisdatum

Prijs

1

Productlancering

Contoso, Ltd.

4/14/2011

€ 10.000

2

Bedrijfsfeest

De troetelbeer

4/21/2011

€ 8.000

3

Beurs

De troetelbeer

01-05-11

€ 25.000

4

Tentoonstelling

Instituut voor grafisch ontwerp

5/13/2011

€ 4.500

5

Beurs

Contoso, Ltd.

5/14/2011

€ 55.000

6

Concert

Kunstacademie

5/23/2011

€ 12.000

7

Productlancering

A. Datum

6/1/2011

€ 15.000

8

Productlancering

Wervelwind Speelgoed

6/18/2011

€ 21.000

9

Inzamelingsactie

Adventure Works

6/22/2011

€ 1.300

10

Lezing

Instituut voor grafisch ontwerp

6/25/2011

€ 2.450

11

Lezing

Contoso, Ltd.

04.07.11

€ 3.800

12

Braderie

Instituut voor grafisch ontwerp

04.07.11

€ 5.500

Opmerking: De stappen gaan uit van een een-op-veel-relatie tussen de tabellen Klanten en Evenementtype en de tabel Evenementen. In dit geval deelt de tabel Evenementen de velden Klant-id en Type-id. De in de volgende secties beschreven totalenquery's werken niet zonder deze relaties.

De voorbeeldgegevens in Excel-werkbladen plakken

  1. Start Excel. Er wordt een lege werkmap geopend.

  2. Druk op Shift+F11 om een werkblad in te voegen (u hebt er vier nodig).

  3. Kopieer de gegevens van elke voorbeeldtabel in een leeg werkblad. Neem de kolomkoppen (de eerste rij) op.

Databasetabellen van de werkbladen maken

  1. Selecteer de gegevens van het eerste werkblad, inclusief de kolomkoppen.

  2. Klik met de rechtermuisknop op het navigatiedeelvenster en klik op Plakken.

  3. Klik op Ja om te bevestigen dat de eerste rij kolomkoppen bevat.

  4. Herhaal stap 1 tot en met 3 voor elk van de resterende werkbladen.

De meest of minst recente datum zoeken

In de stappen in deze sectie worden de voorbeeldgegevens gebruikt om het proces voor het maken van een top-waardenquery te illustreren.

Een top-waardenquery maken

  1. Klik op het tabblad Maken in de groep Query's op Queryontwerp.

  2. Dubbelklik op de tabel Werknemers en klik vervolgens op Sluiten.

    Als u de voorbeeldgegevens gebruikt, voegt u de tabel Werknemers toe aan de query.

  3. Voeg de velden die u in de query wilt gebruiken aan het ontwerpraster toe. U kunt op elk veld dubbelklikken of elk veld slepen en in een lege cel in de rij Veld neerzetten.

    Als u de voorbeeldtabel gebruikt, voegt u de velden Voornaam, Achternaam en Geboortedatum toe.

  4. In het veld dat de hoogste of laagste waarden bevat (het veld Geboortedatum als u de voorbeeldtabel gebruikt) klikt u op de rij Sorteren en selecteert u Oplopend of Aflopend.

    Als u het veld in aflopende volgorde sorteert, wordt de meest recente datum als resultaat gegeven en als u op oplopende waarde sorteert, wordt de vroegste datum als resultaat gegeven.

    Belangrijk: Stel in de rij Sorteren alleen een waarde in voor de velden die de datums bevatten. Als u een sorteervolgorde voor een ander veld opgeeft, retourneert de query niet de gewenste resultaten.

  5. Klik op het tabblad Ontwerpen in de groep in Hulpmiddelen op de pijl-omlaag naast Alles (de lijst Top-waarden) en voer het aantal records in dat u wilt weergeven of selecteer een optie in de lijst.

  6. Klik op Uitvoeren Knopafbeelding om de query uit te voeren en de resultaten weer te geven in de gegevensbladweergave.

  7. Sla de query op als NextDays.

U kunt zien dat met dit type top-waardenquery eenvoudige vragen kunnen worden beantwoord, zoals wie de oudste of jongste persoon in het bedrijf is. Aan de hand van de volgende stappen wordt uitgelegd hoe u expressies en andere criteria kunt gebruiken om de query krachtiger en flexibeler te maken. Met de criteria in de volgende stap worden de komende drie verjaardagen van werknemers als resultaat gegeven.

Criteria toevoegen aan de query

Voor deze stappen wordt de query gebruikt die in de vorige procedure is gemaakt. U kunt een andere top-waardenquery volgen als deze werkelijke datum-/tijdgegevens bevat, geen tekstwaarden.

Tip:  Als u meer wilt weten over de manier waarop deze query werkt, schakelt u in elke stap tussen de ontwerpweergave en de gegevensbladweergave. Als u de daadwerkelijke querycode wilt zien, schakelt u over naar de SQL-weergave. Als u wilt schakelen tussen weergaven, klikt u met de rechtermuisknop op het tabblad boven aan de query en klikt u vervolgens op de 3D-weergave.

  1. Klik in het navigatiedeelvenster met de rechtermuisknop op de query NextDays en klik vervolgens op Ontwerpweergave.

  2. Voer in het queryontwerpraster, in de kolom rechts van Geboortedatum, het volgende in:
    MonthKolom: DatePart("m",[Geboortedatum]).
    Met deze expressie wordt de maand uit Geboortedatum gehaald met de functie DatePart.

  3. Voer in de volgende kolom van het queryontwerpraster het volgende in:
    DayOfMonthDatum: DatePart("d",[Geboortedatum])Met deze expressie wordt de dag van de maand geëxtraheerd op basis van Geboortedatum met de functie
    DatePart.

  4. Vink de selectievakjes in de rij Voorstelling uit voor elk van de twee expressies die u zojuist hebt ingevoerd.

  5. Klik op de rij Sorteren voor elke expressie en selecteer Oplopend.

  6. Typ de volgende expressie in de rij Criteria van de kolom Geboortedatum:
    Month([Geboortedatum]) > Month(Date()) OR Month([Geboortedatum])= Month(Date()) AND Day([Geboortedatum])>Day(Date())Deze expressie doet het
    volgende:

    • Month( [Geboortedatum]) > Month(Date()) geeft aan dat de geboortedatum van elke werknemer in een volgende maand valt.

    • Month( [Geboortedatum])= Month(Date()) And Day([Geboortedatum])>Day(Date()) geeft aan dat als de geboortedatum in de huidige maand valt, de verjaardag op of na de huidige dag valt.

      Kortom, met deze expressie worden alle records uitgesloten waar de verjaardag plaatsvindt tussen 1 januari en de huidige datum.

      Tip:  Zie het artikel Voorbeelden van querycriteria voor meer voorbeelden van expressies voor querycriteria.

  7. Typ op het tabblad Ontwerpen in de groep Query's instellen 3 in het vak Retourneren.

  8. Ga naar het tabblad Ontwerpen en klik in de groep Resultaten op Uitvoeren Knopafbeelding.

Opmerking:  In uw eigen query ziet u soms meer records dan u hebt opgegeven. Als uw gegevens meerdere records bevatten die een waarde delen die bij de hoogste waarden behoort, worden al deze records met de query als resultaat geven, ook als dit betekent dat er meer records worden retourneren dan u had verwacht.

Naar boven

De meest of minst recente datum vinden voor groepen records

U gebruikt een totalenquery om de vroegste of laatste datum te vinden voor records die in groepen zijn verdeeld, zoals gebeurtenissen die zijn gegroepeerd op plaats. Een totalenquery is een selectiequery waarin statistische functies (zoals Groep voor, Min,Max,Aantal,Eersteen Laatste) worden gebruikt om waarden voor elk uitvoerveld te berekenen.

Neem het veld op dat u wilt gebruiken voor categorieën , om op te groepeert, en het veld met de waarden die u wilt samenvatten. Als u andere uitvoervelden op neemt, bijvoorbeeld de namen van klanten wanneer u groepeert op gebeurtenistype, worden deze velden ook gebruikt om groepen te maken en worden de resultaten zo veranderd dat ze niet uw oorspronkelijke vraag beantwoorden. Als u een label wilt toevoegen aan de rijen met andere velden, maakt u een extra query die de totalenquery als bron gebruikt en voegt u de extra velden aan die query toe.

Tip:  Het maken van query's in stappen is een zeer effectieve strategie voor het beantwoorden van geavanceerdere vragen. Als u problemen hebt om een ingewikkelde query te laten werken, overweeg dan of u deze kunt opeenbreken in een reeks eenvoudigere query's.

Een totalenquery maken

Voor deze procedure worden de voorbeeldtabel Evenementen en de voorbeeldtabel EventType gebruikt om deze vraag te beantwoorden:

Wanneer was de meest recente gebeurtenis van elk type evenement, met uitzondering van één evenement?

  1. Klik op het tabblad Maken in de groep Query's op Queryontwerp.

  2. Dubbelklik op de tabellen Events en EventType.
    Elke tabel wordt weergegeven in het bovenste gedeelte van de ontwerpfunctie voor query's.

  3. Dubbelklik in het veld EventType van de tabel EventType en het veld EventDate uit de tabel Events om de velden toe te voegen aan het queryontwerpraster.

  4. Voer in het queryontwerpraster in de rij Criteria van het veld EventType<>Concert.

    Tip:  Zie het artikel Voorbeelden van querycriteria voor meer voorbeelden van criteriumexpressie.

  5. Klik op het tabblad Ontwerp in de groep Weergeven/verbergen op Totalen.

  6. Klik in het queryontwerpraster op de rij Totaal van het veld EventDate en klik vervolgens op Max.

  7. Klik op het tabblad Ontwerp in de groep Resultaten op Weergave en klik vervolgens op SQL-weergave.

  8. Vervang MaxOfEventDate in het SQL-venster aan het einde van de SELECT-component, vlak na het sleutelwoord AS, door MostRecent.

  9. Sla de query op als MostRecentEventByType.

Een tweede query maken om meer gegevens weer te geven

In deze procedure wordt de query MostRecentEventByType uit de vorige procedure gebruikt om deze vraag te beantwoorden:

Wie was de klant bij de meest recente gebeurtenis van elk gebeurtenistype?

  1. Klik op het tabblad Maken in de groep Query's op Queryontwerp.

  2. Dubbelklik op het tabblad Query's op de query MostRecentEventByType.

  3. Dubbelklik op het tabblad Tabellen op de tabel Evenementen en de tabel Klanten.

  4. Dubbelklik in de ontwerpfunctie voor query's op de volgende velden:

    1. Dubbelklik in de tabel Evenementen op EventType.

    2. Dubbelklik in de query MostRecentEventByType op MostRecent.

    3. Dubbelklik in de tabel Klanten op Bedrijf.

  5. Selecteer Oplopend in het queryontwerpraster in de rij Sorteren van de kolom EventType.

  6. Ga naar het tabblad Ontwerp en klik in de groep Resultaten op Uitvoeren.

Naar boven

Meer hulp nodig?

Meer opties?

Verken abonnementsvoordelen, blader door trainingscursussen, leer hoe u uw apparaat kunt beveiligen en meer.

Community's helpen u vragen te stellen en te beantwoorden, feedback te geven en te leren van experts met uitgebreide kennis.

Was deze informatie nuttig?

Hoe tevreden bent u met de taalkwaliteit?
Wat heeft uw ervaring beïnvloed?
Als u op Verzenden klikt, wordt uw feedback gebruikt om producten en services van Microsoft te verbeteren. Uw IT-beheerder kan deze gegevens verzamelen. Privacyverklaring.

Hartelijk dank voor uw feedback.

×