In dit artikel wordt uitgelegd hoe u een type functie gebruikt in Access een statistische functie genoemd om de gegevens in een queryresultatenset op te sommen. In dit artikel wordt ook in het kort beschreven hoe u andere statistische functies kunt gebruiken, bijvoorbeeld AANTAL en GEM om de waarden in een resultatenset te tellen respectievelijk het gemiddelde ervan te bepalen. Daarnaast wordt in dit artikel uitgelegd hoe u de totaalrij gebruikt, een functie in Access waarmee u gegevens optelt zonder dat u het ontwerp van uw query's hoeft te wijzigen.
Wat wilt u doen?
Methoden leren over het optellen van gegevens
Een kolom met getallen in een query kan worden opgeteld met behulp van een type functie dat statistische functie wordt genoemd. Statistische functies voeren een berekening uit op een kolom met gegevens waarna één waarde wordt geretourneerd. Access bevat diverse statistische functies, waaronder Som, Aantal, Gem (voor het berekenen van gemiddelden), Min en Max. Bijvoorbeeld: u kunt gegevens optellen door de functie Som aan uw query toe te voegen, met de functie Aantal telt u de gegevens.
Daarnaast biedt Access verschillende manieren om Som en andere statistische functies toe te voegen aan een query. U kunt:
-
Uw query in een gegevensbladweergave openen en een totaalrij toevoegen. Met de totaalrij, een functie in Access, kunt u een statistische functie gebruiken in een of meer kolommen van een queryresultatenset zonder dat u het ontwerp van uw query hoeft te wijzigen.
-
Maak een totalenquery. Een totalenquery berekent subtotalen voor groepen records; een totaalrij berekent eindtotalen voor een of meer kolommen (velden) met gegevens. Als u bijvoorbeeld alle verkopen wilt subtotalen per stad of per kwartaal, gebruikt u een totalenquery om uw records te groeperen op de gewenste categorie en telt u vervolgens de verkoopcijfers op.
-
Een kruistabelquery maken. Een kruistabelquery is een speciaal type query waarmee de resultaten worden weergegeven in een raster dat lijkt op een Excel-werkblad. In een kruistabelquery worden de waarden samengevat en vervolgens gegroepeerd op twee sets feiten: één set aan de zijkant (rijkoppen), en de andere aan de bovenkant (kolomkoppen). U kunt bijvoorbeeld een kruistabelquery gebruiken om verkooptotalen weer te geven voor elke plaats voor de afgelopen drie jaar, zoals u ziet in de volgende tabel:
Plaats |
2003 |
2004 |
2005 |
---|---|---|---|
Parijs |
254.556 |
372.455 |
467.892 |
Sydney |
478.021 |
372.987 |
276.399 |
Jakarta |
572.997 |
684.374 |
792.571 |
... |
... |
... |
... |
Opmerking: Verderop in dit document ligt de nadruk op het gebruik van de functie Som, maar onthoud dat u ook andere statistische functies kunt gebruiken in uw totaalrijen en query's. Zie de sectie Referentietabel statistische functies verderop in dit artikel voor meer informatie over het gebruik van de andere statistische functies.
Zie het artikel Kolomtotalen in een gegevensblad weergeven voor meer informatie over manieren waarop u de andere statistische functies kunt gebruiken.
In de stappen in de volgende secties wordt uitgelegd hoe u een totaalrij kunt toevoegen, hoe u een totalenquery kunt gebruiken voor het optellen van gegevens uit verschillende groepen en hoe u een kruistabelquery kunt gebruiken waarmee subtotalen worden berekend voor meerdere groepen en perioden. Vergeet niet dat veel statistische functies alleen werken op gegevens in velden die zijn ingesteld op een bepaald gegevenstype. De functie SOM werkt bijvoorbeeld alleen met velden die zijn ingesteld op het gegevenstype Getal, Decimaal of Valuta. Zie de sectie Statistische functies verderop in dit artikel voor meer informatie over de gegevenstypen die voor de verschillende functies zijn vereist.
Zie het artikel Het gegevenstype voor een veld instellen of wijzigen voor algemene informatie over gegevenstypen.
Voorbeeldgegevens maken
In de stappen verderop in dit artikel vindt u tabellen met voorbeeldgegevens. In deze stappen worden de voorbeeldtabellen gebruikt om de werking van statistische functies uit te leggen. Desgewenst kunt u de voorbeeldtabellen toevoegen aan een nieuwe of bestaande database.
In Access zijn er verschillende manieren waarop u deze voorbeeldtabellen aan een database kunt toevoegen. U kunt de gegevens handmatig invoeren, u kunt elke tabel kopiëren naar een spreadsheetprogramma zoals Excel en vervolgens de werkbladen importeren in Access, of u kunt de gegevens in een teksteditor zoals Kladblok plakken en de gegevens importeren uit de resulterende tekstbestanden.
In de stappen in deze sectie wordt uitgelegd hoe u gegevens handmatig invoert in een leeg gegevensblad en hoe u de voorbeeldtabellen kopieert naar een spreadsheetprogramma en deze tabellen vervolgens importeert in Access. Zie het artikel Gegevens importeren uit of een koppeling maken naar gegevens in een tekstbestand voor meer informatie over het maken en importeren van tekstgegevens.
In de stappen in dit artikel worden de volgende tabellen gebruikt. Gebruik deze tabellen om uw voorbeeldgegevens te maken:
De tabel Categorieën:
Categorie |
---|
Poppen |
Spellen en puzzels |
Kunst en lijsten |
Videogames |
Dvd's en films |
Modellen en hobby's |
Sport |
De tabel Producten:
Productnaam |
Prijs |
Categorie |
---|---|---|
Actiefiguur van programmeur |
€ 12,95 |
Poppen |
Plezier met C# (een bordspel voor het hele gezin) |
€ 15,85 |
Spellen en puzzels |
Diagram van relationele database |
€ 22,50 |
Kunst en lijsten |
De Magische Computerchip (500 stukjes) |
€ 32,65 |
Spellen en puzzels |
Toegang! Het spel! |
€ 22,95 |
Spellen en puzzels |
Computernerds en mythische wezens |
€ 78,50 |
Videogames |
Fitness voor computernerds! De dvd! |
€ 14,88 |
Dvd's en films |
Ultieme Vliegende Pizza |
€ 36,75 |
Sport |
Extern 5.25-inch diskettestation (schaal 1:4) |
€ 65,00 |
Modellen en hobby's |
Beeldje van bureaucratische luilak |
€ 78,88 |
Poppen |
Gloom |
€ 53,33 |
Videogames |
Bouw je eigen toetsenbord |
€ 77,95 |
Modellen en hobby's |
De tabel Orders:
Orderdatum |
Verzenddatum |
Verzendplaats |
Verzendkosten |
---|---|---|---|
14-11-2005 |
15-11-2005 |
Jakarta |
€ 55,00 |
14-11-2005 |
15-11-2005 |
Sydney |
€ 76,00 |
16-11-2005 |
17-11-2005 |
Sydney |
€ 87,00 |
17-11-2005 |
18-11-2005 |
Jakarta |
€ 43,00 |
17-11-2005 |
18-11-2005 |
Parijs |
€ 105,00 |
17-11-2005 |
18-11-2005 |
Stuttgart |
€ 112,00 |
18-11-2005 |
19-11-2005 |
Wenen |
€ 215,00 |
19-11-2005 |
20-11-2005 |
Miami |
€ 525,00 |
20-11-2005 |
21-11-2005 |
Wenen |
€ 198,00 |
20-11-2005 |
21-11-2005 |
Parijs |
€ 187,00 |
21-11-2005 |
22-11-2005 |
Sydney |
€ 81,00 |
23-11-2005 |
24-11-2005 |
Jakarta |
€ 92,00 |
De tabel Orderinformatie:
Order-id |
Productnaam |
Product-id |
Prijs per stuk |
Hoeveelheid |
Korting |
---|---|---|---|---|---|
1 |
Bouw je eigen toetsenbord |
12 |
€ 77,95 |
9 |
5% |
1 |
Beeldje van bureaucratische luilak |
2 |
€ 78,88 |
4 |
7,5% |
2 |
Fitness voor computernerds! De dvd! |
7 |
€ 14,88 |
6 |
4% |
2 |
De Magische Computerchip |
4 |
€ 32,65 |
8 |
0 |
2 |
Computernerds en mythische wezens |
6 |
€ 78,50 |
4 |
0 |
3 |
Toegang! Het spel! |
5 |
€ 22,95 |
5 |
15% |
4 |
Actiefiguur van programmeur |
1 |
€ 12,95 |
2 |
6% |
4 |
Ultieme Vliegende Pizza |
8 |
€ 36,75 |
8 |
4% |
5 |
Extern 5.25-inch diskettestation (schaal 1:4) |
9 |
€ 65,00 |
4 |
10% |
6 |
Diagram van relationele database |
3 |
€ 22,50 |
12 |
6,5% |
7 |
Gloom |
11 |
€ 53,33 |
6 |
8% |
7 |
Diagram van relationele database |
3 |
€ 22,50 |
4 |
9% |
Opmerking: In de meeste databases heeft een tabel met orderinformatie alleen een veld Product-id en geen veld Productnaam. In deze voorbeeldtabel wordt het veld Productnaam gebruikt om de gegevens leesbaarder te maken.
De voorbeeldgegevens handmatig invoeren
-
Klik op het tabblad Maken in de groep Tabellen op Tabel.
In Access wordt een nieuwe, lege tabel aan de database toegevoegd.
Opmerking: U hoeft deze stap niet uit te voeren als u een nieuwe, lege database opent, maar wel wanneer u een tabel aan een database wilt toevoegen.
-
Dubbelklik in de eerste cel van de veldnamenrij en typ de naam van het veld in de voorbeeldtabel.
Lege velden in de veldnamenrij worden in Access standaard aangegeven met de tekst Nieuw veld toevoegen, zoals in:
-
Gebruik de pijltoetsen om naar de volgende lege cel in de veldnamenrij te gaan, en typ daar de tweede veldnaam (u kunt ook op Tab drukken of in de nieuwe cel dubbelklikken). Herhaal deze stap tot u alle veldnamen hebt ingevoerd.
-
Voer de gegevens in de voorbeeldtabel in.
Terwijl u de gegevens invoert, wordt aan elk veld een gegevenstype toegekend. Voor wie nooit eerder met relationele databases heeft gewerkt: u moet voor elk veld in een tabel een specifiek gegevenstype instellen, bijvoorbeeld Getal, Tekst of Datum/tijd. Het instellen van gegevenstypen dient om de nauwkeurigheid van de gegevensinvoer te waarborgen en fouten te voorkomen, zoals het invoeren van een telefoonnummer in een berekening. Voor deze voorbeeldtabellen kunt u het gegevenstype door Access laten toewijzen.
-
Klik op Opslaan wanneer u alle gegevens hebt ingevoerd.
Sneltoets Druk op Ctrl+S.
Het dialoogvenster Opslaan als wordt weergeven.
-
Typ in het vak Tabelnaam de naam van de voorbeeldtabel en klik op OK.
U gebruikt de naam van de voorbeeldtabellen omdat deze namen ook worden gebruikt in de query's in de volgende stappen.
-
Herhaal deze stappen tot u alle voorbeeldtabellen hebt gemaakt die aan het begin van deze sectie worden beschreven.
Als u de gegevens niet handmatig wilt invoeren, voert u de volgende stappen uit om de gegevens naar een spreadsheetbestand te kopiëren en het spreadsheetbestand vervolgens in Access te importeren.
De voorbeeldwerkbladen maken
-
Start het spreadsheetprogramma en maak een nieuw, leeg bestand. Als u Excel gebruikt, wordt standaard een nieuwe, lege werkmap gemaakt.
-
Kopieer de eerste voorbeeldtabel hierboven en plak deze in het eerste werkblad. Begin bij de eerste cel.
-
Verander de naam van het werkblad met de methode die door het spreadsheetprogramma wordt gebruikt. Geef het werkblad dezelfde naam als de voorbeeldtabel. Als de voorbeeldtabel bijvoorbeeld Categorieën heet, noemt u het werkblad ook zo.
-
Herhaal stap 2 en 3, waarbij u elke voorbeeldtabel naar een leeg werkblad kopieert en de naam van het werkblad verandert.
Opmerking: Het is mogelijk dat u werkbladen aan het werkbladbestand moet toevoegen. Raadpleeg de Help bij het spreadsheetprogramma voor informatie over hoe u dat moet doen.
-
Sla de werkmap op op een geschikte locatie op uw computer of netwerk en ga naar de volgende serie stappen.
Databasetabellen van de werkbladen maken
-
Klik op het tabblad Externe gegevens in de groep Koppeling importeren & op Nieuwe gegevensbron > Uit bestand > Excel.
Het dialoogvenster Externe gegevens ophalen - Excel-werkblad wordt weergegeven.
-
Klik op Bladeren, open het spreadsheetbestand dat u in de vorige stappen hebt gemaakt en klik vervolgens op OK.
De wizard Werkblad importeren wordt gestart.
-
In de wizard wordt standaard het eerste werkblad in de werkmap geselecteerd (als u de stappen in de vorige sectie hebt gevolgd is dit het werkblad Klanten) en de gegevens uit het werkblad worden weergegeven in het onderste gedeelte van het scherm. Klik op Volgende.
-
Klik op de volgende pagina van de wizard op Kolomkoppen in eerste rij en klik daarna op Volgende.
-
U kunt desgewenst op de volgende pagina de tekstvakken en lijsten onder Veldopties gebruiken om veldnamen en gegevenstypen te wijzigen, of om velden over te slaan tijdens het importeren. Klik anders op Volgende.
-
Laat het selectievakje Primaire sleutel van Access gebruiken ingeschakeld en klik op Volgende.
-
In Access wordt standaard de naam van het werkblad op de nieuwe tabel toegepast. Accepteer de naam of geef een andere naam op en klik op Voltooien.
-
Herhaal stap 1-7 totdat u een tabel hebt gemaakt van elk werkblad in de werkmap.
De primaire sleutelvelden hernoemen
Opmerking: Toen u de werkbladen importeerde, werd in Access automatisch een primaire sleutelkolom aan elke tabel toegevoegd. Standaard heeft Access die kolom 'ID' genoemd en ingesteld op het gegevenstype AutoNummering. In de stappen hierin wordt uitgelegd hoe u de naam van elk primaire-sleutelveld wijzigt. Op deze manier kunt u alle velden in een query duidelijk identificeren.
-
Klik in het navigatievenster met de rechtermuisknop op elk van de tabellen die u in de vorige stappen hebt gemaakt en klik op Ontwerpweergave.
-
Zoek voor elke tabel het veld met de primaire sleutel. Access noemt dit veld standaard Id.
-
Voeg in de kolom Veldnaam voor elk veld met primaire sleutels de naam van de tabel toe.
U wijzigt de naam van het veld Id voor de tabel Categorieën bijvoorbeeld in 'Categorie-id', en het veld voor de tabel Orders in 'Order-id'. Wijzig voor de tabel Orderinformatie de naam van het veld in 'Informatie-id'. Wijzig voor de tabel 'Producten' de naam van het veld in 'Product-id'.
-
Sla uw wijzigingen op.
Als de voorbeeldtabellen worden weergegeven in dit artikel, bevatten ze het veld met primaire sleutels en is de naam van dat veld gewijzigd zoals in de voorgaande stappen is beschreven.
Gegevens optellen met behulp van een totaalrij
U kunt een totaalrij toevoegen aan een query door de query te openen in de gegevensbladweergave, de rij toe te voegen en vervolgens de statistische functie te selecteren die u wilt gebruiken, zoals Som, Min, Max of Gem. In de stappen in deze sectie wordt uitgelegd hoe u een eenvoudige selectiequery kunt maken en daaraan een totaalrij kunt toevoegen. U hoeft de voorbeeldtabellen uit de vorige sectie niet te gebruiken.
Een eenvoudige selectiequery maken
-
Klik op het tabblad Maken in de groep Query's op Queryontwerp.
-
Dubbelklik op de tabel of tabellen die u in uw query wilt gebruiken.
De geselecteerde tabel of tabellen worden weergegeven als vensters in het bovenste gedeelte van de ontwerpfunctie voor query's.
-
Dubbelklik op de tabelvelden die u wilt gebruiken in de query.
U kunt velden opnemen die beschrijvende gegevens bevatten, zoals namen en beschrijvingen, maar u moet een veld opnemen dat numerieke gegevens of valutagegevens bevat.
Elk veld wordt weergegeven in een cel in het ontwerpraster.
-
Klik op uitvoeren om de query uit te voeren.
De resultatenset van de query wordt weergegeven in de gegevensbladweergave.
-
U kunt desgewenst naar de ontwerpweergave gaan om de query aan te passen. Klik daartoe met de rechtermuisknop op het documenttabblad van de query en klik op Ontwerpweergave. Vervolgens kunt u de query op de gewenste manier aanpassen door tabelvelden toe te voegen of te verwijderen. Als u een veld wilt verwijderen, selecteert u de kolom in het ontwerpraster en drukt u op Delete.
-
Sla de query op.
Een totaalrij toevoegen
-
Zorg dat de query is geopend in de gegevensbladweergave. Klik daartoe met de rechtermuisknop op het documenttabblad van de query en klik op Gegevensbladweergave.
-of-
Dubbelklik in het navigatiedeelvenster op de query. De query wordt uitgevoerd en de resultaten worden in een gegevensblad geladen.
-
Ga naar het tabblad Start en klik in de groep Records op Totalen.
Er wordt een nieuwe rij Totaal weergegeven op het gegevensblad.
-
Klik in de rij Totaal op de cel in het veld dat u wilt optellen en selecteer Som in de lijst.
Een totaalrij verbergen
-
Ga naar het tabblad Start en klik in de groep Records op Totalen.
Zie het artikel Kolomtotalen weergeven in een gegevensblad voor meer informatie over het gebruik van een totaalrij.
Eindtotalen berekenen met behulp van een query
Een eindtotaal is de som van alle waarden in een kolom. U kunt verschillende typen eindtotalen berekenen, waaronder:
-
Een eenvoudig eindtotaal waarmee de waarden in één kolom worden opgeteld. U kunt bijvoorbeeld de totale verzendkosten berekenen.
-
Een berekend eindtotaal waarmee de waarden in meer dan één kolom worden opgeteld. U kunt bijvoorbeeld de totale verkoop berekenen door de kosten van verschillende items te vermenigvuldigen met het aantal bestelde items en vervolgens de resultaten bij elkaar op te tellen.
-
Een eindtotaal waarbij sommige records niet worden meegerekend. U kunt bijvoorbeeld de totale verkoop voor alleen afgelopen vrijdag berekenen.
In de stappen in de volgende secties wordt uitgelegd hoe u elk type eindtotaal kunt maken. Voor deze stappen worden de tabellen Orders en Orderinformatie gebruikt.
De tabel Orders
Order-id |
Orderdatum |
Verzenddatum |
Verzendplaats |
Verzendkosten |
---|---|---|---|---|
1 |
14-11-2005 |
15-11-2005 |
Jakarta |
€ 55,00 |
2 |
14-11-2005 |
15-11-2005 |
Sydney |
€ 76,00 |
3 |
16-11-2005 |
17-11-2005 |
Sydney |
€ 87,00 |
4 |
17-11-2005 |
18-11-2005 |
Jakarta |
€ 43,00 |
5 |
17-11-2005 |
18-11-2005 |
Parijs |
€ 105,00 |
6 |
17-11-2005 |
18-11-2005 |
Stuttgart |
€ 112,00 |
7 |
18-11-2005 |
19-11-2005 |
Wenen |
€ 215,00 |
8 |
19-11-2005 |
20-11-2005 |
Miami |
€ 525,00 |
9 |
20-11-2005 |
21-11-2005 |
Wenen |
€ 198,00 |
10 |
20-11-2005 |
21-11-2005 |
Parijs |
€ 187,00 |
11 |
21-11-2005 |
22-11-2005 |
Sydney |
€ 81,00 |
12 |
23-11-2005 |
24-11-2005 |
Jakarta |
€ 92,00 |
De tabel Orderinformatie
Detail-id |
Order-id |
Productnaam |
Product-id |
Prijs per stuk |
Hoeveelheid |
Korting |
---|---|---|---|---|---|---|
1 |
1 |
Bouw je eigen toetsenbord |
12 |
€ 77,95 |
9 |
0,05 |
2 |
1 |
Beeldje van bureaucratische luilak |
2 |
€ 78,88 |
4 |
0,075 |
3 |
2 |
Fitness voor computernerds! De dvd! |
7 |
€ 14,88 |
6 |
0,04 |
4 |
2 |
De Magische Computerchip |
4 |
€ 32,65 |
8 |
0,00 |
5 |
2 |
Computernerds en mythische wezens |
6 |
€ 78,50 |
4 |
0,00 |
6 |
3 |
Toegang! Het spel! |
5 |
€ 22,95 |
5 |
0,15 |
7 |
4 |
Actiefiguur van programmeur |
1 |
€ 12,95 |
2 |
0,06 |
8 |
4 |
Ultieme Vliegende Pizza |
8 |
€ 36,75 |
8 |
0,04 |
9 |
5 |
Extern 5.25-inch diskettestation (schaal 1:4) |
9 |
€ 65,00 |
4 |
0,10 |
10 |
6 |
Diagram van relationele database |
3 |
€ 22,50 |
12 |
0,065 |
11 |
7 |
Gloom |
11 |
€ 53,33 |
6 |
0,08 |
12 |
7 |
Diagram van relationele database |
3 |
€ 22,50 |
4 |
0,09 |
Een eenvoudig eindtotaal berekenen
-
Klik op het tabblad Maken in de groep Query's op Queryontwerp.
-
Dubbelklik op de tabel die u in uw query wilt gebruiken.
Als u de voorbeeldgegevens hebt gebruikt, dubbelklikt u op de tabel Orders.
De tabel wordt weergegeven in een venster in het bovenste gedeelte van de ontwerpfunctie voor query's.
-
Dubbelklik op het veld dat u wilt optellen. Controleer of het veld is ingesteld op het gegevenstype Getal of Valuta. Als u probeert gegevens op te tellen in niet-numerieke velden, zoals een tekstveld, wordt het foutbericht Gegevenstypen komen niet overeen in criteriumexpressie weergegeven als u probeert de query uit te voeren.
Als u de voorbeeldgegevens hebt gebruikt, dubbelklikt u op de kolom Verzendkosten.
U kunt meer numerieke velden toevoegen aan het raster als u eindtotalen voor die velden wilt berekenen. Met een totalenquery kunnen eindtotalen voor meer dan één kolom worden berekend.
-
Klik op het tabblad Queryontwerp in de groep Weergeven/verbergen op Totalen.
De rij Totaal wordt weergegeven in het ontwerpraster en Groeperen op wordt weergegeven in de cel in de kolom Verzendkosten.
-
Wijzig de waarde in de cel in de rij Totaal in Som.
-
Klik op uitvoeren om de query uit te voeren en de resultaten weer te geven in de gegevensbladweergave.
Tip: U ziet dat Access 'SomVan' toevoegt vóór de naam van het veld dat u optelt. Als u de kolomkop wilt wijzigen in iets dat duidelijker is, zoals Totale verzendkosten, gaat u terug naar de ontwerpweergave en klikt u in de rij Veld van de kolom Verzendkosten in het ontwerpraster. Plaats de cursor naast Verzendkosten en typ de tekst Totale verzendkosten, gevolgd door een dubbele punt: Totale verzendkosten: Verzendkosten.
-
Sla de query desgewenst op en sluit deze.
Een eindtotaal berekenen waarbij sommige records niet worden meegerekend
-
Klik op het tabblad Maken in de groep Query's op Queryontwerp.
-
Dubbelklik op de tabel Order en de tabel Orderdetails.
-
Voeg het veld Besteldatum uit de tabel Orders toe aan de eerste kolom van het queryontwerpraster.
-
Typ in de rij Criteria van de eerste kolom Date() -1. Met deze expressie worden de records van de huidige dag uitgesloten van het berekende totaal.
-
Maak vervolgens de kolom waarin de omzet wordt berekend voor elke transactie. Typ de volgende expressie in de rij Veld van de tweede kolom in het raster:
Totale verkoopwaarde: (1-[Orderinformatie].[Korting]/100)*([Orderinformatie].[Prijs per eenheid]*[Orderinformatie].[Aantal])
Controleer of de expressie verwijst naar velden die zijn ingesteld op het gegevenstype Getal of Valuta. Als de expressie verwijst naar velden die zijn ingesteld op andere gegevenstypen, wordt het bericht Gegevenstypen komen niet overeen in criteriumexpressie weergegeven als u probeert de query uit te voeren.
-
Klik op het tabblad Queryontwerp in de groep Weergeven/verbergen op Totalen.
De rij Totaal wordt weergegeven in het ontwerpraster en Groeperen op wordt weergegeven in de eerste en tweede kolom.
-
Wijzig in de tweede kolom de waarde in de cel van de rij Totaal in Som. Met de functie Som worden de afzonderlijke verkoopcijfers bij elkaar opgeteld.
-
Klik op uitvoeren om de query uit te voeren en de resultaten weer te geven in de gegevensbladweergave.
-
Sla de query op als Dagelijkse verkoopcijfers.
Opmerking: De volgende keer dat u de query opent in de ontwerpweergave, ziet u mogelijk een klein verschil in de waarden die zijn opgegeven in de rijen Veld en Totaal van de kolom Totale verkoopwaarde. De expressie wordt weergegeven binnen de functie Som en in de rij Totaal wordt Expressie weergegeven in plaats van Som.
Als u bijvoorbeeld de voorbeeldgegevens gebruikt en de query maakt (zoals is beschreven in de stappen hierboven), ziet u het volgende:
Totale verkoopwaarde: Totale verkoopwaarde: Som((1-[Orderinformatie].Korting/100)*([Orderinformatie].PrijsPerEenheid*[Orderinformatie].Aantal))
Groepstotalen berekenen met behulp van een totalenquery
In de stappen in deze sectie wordt uitgelegd hoe u een totalenquery kunt maken die subtotalen van meerdere groepen met gegevens berekent. Bedenk dat een totalenquery standaard alleen het veld of de velden kan bevatten die uw groepsgegevens bevatten, zoals een veld 'categorieën', en het veld dat de gegevens bevat die u wilt optellen, zoals een veld 'verkopen'. Totalenquery's kunnen geen andere velden bevatten waarin de items in een categorie worden beschreven. Als u die beschrijvende gegevens wilt zien, kunt u een tweede selectiequery maken waarin de velden in de totalenquery worden gecombineerd met de aanvullende gegevensvelden.
In de stappen in deze sectie wordt uitgelegd hoe u totalen- en selectiequery's kunt maken die nodig zijn om de totale verkoop voor elk product aan te geven. Hierbij wordt ervan uitgegaan dat u deze voorbeeldtabellen gebruikt:
De tabel Producten
Product-id |
Productnaam |
Prijs |
Categorie |
---|---|---|---|
1 |
Actiefiguur van programmeur |
€ 12,95 |
Poppen |
2 |
Plezier met C# (een bordspel voor het hele gezin) |
€ 15,85 |
Spellen en puzzels |
3 |
Diagram van relationele database |
€ 22,50 |
Kunst en lijsten |
4 |
De Magische Computerchip (500 stukjes) |
€ 32,65 |
Kunst en lijsten |
5 |
Toegang! Het spel! |
€ 22,95 |
Spellen en puzzels |
6 |
Computernerds en mythische wezens |
€ 78,50 |
Videogames |
7 |
Fitness voor computernerds! De dvd! |
€ 14,88 |
Dvd's en films |
8 |
Ultieme Vliegende Pizza |
€ 36,75 |
Sport |
9 |
Extern 5.25-inch diskettestation (schaal 1:4) |
€ 65,00 |
Modellen en hobby's |
10 |
Beeldje van bureaucratische luilak |
€ 78,88 |
Poppen |
11 |
Gloom |
€ 53,33 |
Videogames |
12 |
Bouw je eigen toetsenbord |
€ 77,95 |
Modellen en hobby's |
De tabel Orderinformatie
Detail-id |
Order-id |
Productnaam |
Product-id |
Prijs per stuk |
Hoeveelheid |
Korting |
---|---|---|---|---|---|---|
1 |
1 |
Bouw je eigen toetsenbord |
12 |
€ 77,95 |
9 |
5% |
2 |
1 |
Beeldje van bureaucratische luilak |
2 |
€ 78,88 |
4 |
7,5% |
3 |
2 |
Fitness voor computernerds! De dvd! |
7 |
€ 14,88 |
6 |
4% |
4 |
2 |
De Magische Computerchip |
4 |
€ 32,65 |
8 |
0 |
5 |
2 |
Computernerds en mythische wezens |
6 |
€ 78,50 |
4 |
0 |
6 |
3 |
Toegang! Het spel! |
5 |
€ 22,95 |
5 |
15% |
7 |
4 |
Actiefiguur van programmeur |
1 |
€ 12,95 |
2 |
6% |
8 |
4 |
Ultieme Vliegende Pizza |
8 |
€ 36,75 |
8 |
4% |
9 |
5 |
Extern 5.25-inch diskettestation (schaal 1:4) |
9 |
€ 65,00 |
4 |
10% |
10 |
6 |
Diagram van relationele database |
3 |
€ 22,50 |
12 |
6,5% |
11 |
7 |
Gloom |
11 |
€ 53,33 |
6 |
8% |
12 |
7 |
Diagram van relationele database |
3 |
€ 22,50 |
4 |
9% |
Bij de volgende stappen wordt ervan uitgegaan dat er een een-op-veel-relatie is tussen de velden Product-id in de tabel Orders en de tabel Orderinformatie, waarbij de tabel Orders de 'één'-kant van de relatie is.
De totalenquery maken
-
Klik op het tabblad Maken in de groep Query's op Queryontwerp.
-
Selecteer de tabellen waarmee u wilt werken en klik vervolgens op Toevoegen.
Elke tabel wordt als een venster weergegeven in het bovenste gedeelte van de ontwerpweergave.
Als u de eerder gegeven voorbeeldtabellen gebruikt, voegt u de tabellen Producten en Orderinformatie toe.
-
Dubbelklik op de tabelvelden die u wilt gebruiken in de query.
In de regel voegt u alleen het groepsveld en het waardeveld toe aan de query. U kunt echter een berekening gebruiken in plaats van een waardeveld. In de volgende stappen wordt uitgelegd hoe u dit doet.
-
Voeg het veld Categorie uit de tabel Producten toe aan het ontwerpraster.
-
Maak de kolom waarin de omzet wordt berekend voor elke transactie door de volgende expressie in de tweede kolom van het raster te typen:
Totale verkoopwaarde: (1-[Orderinformatie].[Korting]/100)*([Orderinformatie].[Prijs per eenheid]*[Orderinformatie].[Aantal])
Controleer of de velden waarnaar u in de expressie verwijst, het gegevenstype Getal of Valuta hebben. Als u verwijst naar velden met andere gegevenstypen, wordt het foutbericht Gegevenstypen komen niet overeen in criteriumexpressie weergegeven als u probeert naar de gegevensbladweergave te gaan.
-
Klik op het tabblad Queryontwerp in de groep Weergeven/verbergen op Totalen.
De rij Totaal wordt weergegeven in het ontwerpraster en in die rij wordt Groeperen op weergegeven in de eerste en tweede kolom.
-
Wijzig in de tweede kolom de waarde in de rij Totaal in Som. Met de functie Som worden de afzonderlijke verkoopcijfers bij elkaar opgeteld.
-
Klik op uitvoeren om de query uit te voeren en de resultaten weer te geven in de gegevensbladweergave.
-
Houd de query open voor gebruik in de volgende sectie.
Criteria gebruiken bij een totalenquery
De query die u in de vorige sectie hebt gemaakt, omvat alle records in de onderliggende tabellen. Bij het berekenen van de totalen wordt geen enkele order uitgezonderd, en de totalen worden weergegeven voor alle categorieën.
Als u bepaalde records wilt uitsluiten, kunt u criteria toevoegen aan de query. U kunt bijvoorbeeld transacties van minder dan € 100 uitsluiten, of alleen totalen voor bepaalde productcategorieën berekenen. In de stappen in dit gedeelte wordt uitgelegd hoe u de drie typen criteria kunt gebruiken:
-
Criteria waarmee bepaalde groepen worden genegeerd bij het berekenen van totalen. U berekent bijvoorbeeld alleen totalen voor de categorieën Videogames, Kunst en lijsten en Sport.
-
Criteria waarmee bepaalde totalen na het berekenen worden verborgen. U kunt bijvoorbeeld alleen de totalen weergeven die groter zijn dan € 150.000.
-
Criteria waarmee afzonderlijke records worden uitgezonderd van het totaal. U kunt bijvoorbeeld afzonderlijke verkooptransacties uitzonderen als de waarde (Prijs per eenheid * Aantal) onder de € 100 uitkomt.
In de volgende stappen wordt uitgelegd hoe u de criteria een voor een kunt toevoegen en wat dat voor gevolgen heeft voor de resultaten van de query.
Criteria toevoegen aan de query
-
Open de query uit het vorige gedeelte in de ontwerpweergave. Klik daartoe met de rechtermuisknop op het documenttabblad van de query en klik op Ontwerpweergave.
-of-
Klik in het navigatiedeelvenster met de rechtermuisknop op de query en klik op Ontwerpweergave.
-
Typ in de rij Criteria van de kolom Categorie-id =Poppen Or Sport Or Kunst en lijsten.
-
Klik op uitvoeren om de query uit te voeren en de resultaten weer te geven in de gegevensbladweergave.
-
Ga terug naar de ontwerpweergave en typ >100 in de rij Criteria van de kolom Totale verkoopwaarde.
-
Voer de query uit om de resultaten te bekijken en ga vervolgens terug naar de ontwerpweergave.
-
Voeg nu het criterium toe om afzonderlijke verkooptransacties uit te zonderen die kleiner zijn dan € 100. Hiervoor moet u nog een kolom toevoegen.
Opmerking: U kunt het derde criterium niet opgeven in de kolom Totale verkoopwaarde. Criteria die u in deze kolom opgeeft, gelden voor de totale waarde en niet voor de afzonderlijke waarden.
-
Kopieer de expressie in de tweede kolom naar de derde kolom.
-
Selecteer Waarbij in de rij Totaal voor de nieuwe kolom en typ >20 in de rij Criteria.
-
Voer de query uit om de resultaten te bekijken en sla de query vervolgens op.
Opmerking: De volgende keer dat u de query opent in de ontwerpweergave, ziet u mogelijk kleine verschillen in het ontwerpraster. In de tweede kolom wordt de expressie in de rij Veld weergegeven binnen de functie Som, en bij de waarde in de rij Totaal wordt Expressie weergegeven in plaats van Som.
Totale verkoopwaarde: Totale verkoopwaarde: Som((1-[Orderinformatie].Korting/100)*([Orderinformatie].PrijsPerEenheid*[Orde rinformatie].Aantal))
U ziet ook een vierde kolom. Deze kolom is een kopie van de tweede kolom, maar het criterium dat u hebt opgegeven in de tweede kolom, wordt weergegeven als deel van de nieuwe kolom.
-
Gegevens uit meerdere groepen optellen met behulp van een kruistabelquery
Een kruistabelquery is een speciaal type query waarvan de resultaten worden weergegeven in een raster dat lijkt op een Excel-werkblad. Met kruistabelquery's worden de waarden samengevat en vervolgens gegroepeerd op twee sets feiten: één set aan de zijkant (een set rijkoppen), en de andere aan de bovenkant (een set kolomkoppen). In deze afbeelding ziet u een gedeelte van de resultatenset voor een voorbeeld van een kruistabelquery:
Bedenk dat met een kruistabelquery niet altijd alle velden in de resultatenset worden gevuld, omdat de tabellen die u in de query gebruikt, niet altijd waarden bevatten voor elk mogelijk gegevenspunt.
Als u een kruistabelquery maakt, neemt u meestal gegevens op uit meer dan één tabel, en neemt u altijd drie typen gegevens op: de gegevens die worden gebruikt als rijkoppen, de gegevens die worden gebruikt als kolomkoppen en de waarden die u wilt optellen of op een andere manier wilt berekenen.
Bij de stappen in dit gedeelte wordt uitgegaan van de volgende tabellen:
De tabel Orders
Orderdatum |
Verzenddatum |
Verzendplaats |
Verzendkosten |
---|---|---|---|
14-11-2005 |
15-11-2005 |
Jakarta |
€ 55,00 |
14-11-2005 |
15-11-2005 |
Sydney |
€ 76,00 |
16-11-2005 |
17-11-2005 |
Sydney |
€ 87,00 |
17-11-2005 |
18-11-2005 |
Jakarta |
€ 43,00 |
17-11-2005 |
18-11-2005 |
Parijs |
€ 105,00 |
17-11-2005 |
18-11-2005 |
Stuttgart |
€ 112,00 |
18-11-2005 |
19-11-2005 |
Wenen |
€ 215,00 |
19-11-2005 |
20-11-2005 |
Miami |
€ 525,00 |
20-11-2005 |
21-11-2005 |
Wenen |
€ 198,00 |
20-11-2005 |
21-11-2005 |
Parijs |
€ 187,00 |
21-11-2005 |
22-11-2005 |
Sydney |
€ 81,00 |
23-11-2005 |
24-11-2005 |
Jakarta |
€ 92,00 |
De tabel Orderinformatie
Order-id |
Productnaam |
Product-id |
Prijs per stuk |
Hoeveelheid |
Korting |
---|---|---|---|---|---|
1 |
Bouw je eigen toetsenbord |
12 |
€ 77,95 |
9 |
5% |
1 |
Beeldje van bureaucratische luilak |
2 |
€ 78,88 |
4 |
7,5% |
2 |
Fitness voor computernerds! De dvd! |
7 |
€ 14,88 |
6 |
4% |
2 |
De Magische Computerchip |
4 |
€ 32,65 |
8 |
0 |
2 |
Computernerds en mythische wezens |
6 |
€ 78,50 |
4 |
0 |
3 |
Toegang! Het spel! |
5 |
€ 22,95 |
5 |
15% |
4 |
Actiefiguur van programmeur |
1 |
€ 12,95 |
2 |
6% |
4 |
Ultieme Vliegende Pizza |
8 |
€ 36,75 |
8 |
4% |
5 |
Extern 5.25-inch diskettestation (schaal 1:4) |
9 |
€ 65,00 |
4 |
10% |
6 |
Diagram van relationele database |
3 |
€ 22,50 |
12 |
6,5% |
7 |
Gloom |
11 |
€ 53,33 |
6 |
8% |
7 |
Diagram van relationele database |
3 |
€ 22,50 |
4 |
9% |
In de volgende stappen wordt uitgelegd hoe u een kruistabelquery kunt maken waarmee de totale verkoop per plaats wordt gegroepeerd. De query gebruikt twee expressies voor het retourneren van een opgemaakte datum en een verkooptotaal.
Een kruistabelquery maken
-
Klik op het tabblad Maken in de groep Query's op Queryontwerp.
-
Dubbelklik op de tabellen die u in uw query wilt gebruiken.
Elke tabel wordt als een venster weergegeven in het bovenste gedeelte van de ontwerpweergave.
Als u de voorbeeldtabellen gebruikt, dubbelklikt u op de tabel Orders en op de tabel Orderinformatie.
-
Dubbelklik op de velden die u in de query wilt gebruiken.
Elke veldnaam wordt weergegeven in een lege cel in de rij Veld van het ontwerpraster.
Als u de voorbeeldtabellen gebruikt, voegt u de velden Verzendplaats en verzenddatum uit de tabel Orders toe.
-
In de volgende lege cel in de rij Veld kopieert en plakt of typt u de volgende expressie: Totale verkoop: Som(CVal([Orderinformatie].[PrijsPerEenheid]*[Aantal]*(1-[Korting])/100)*100)
-
Klik op het tabblad Queryontwerp in de groep Querytype op Kruistabel.
De rij Totaal en de rij Kruistabel worden nu weergegeven in het ontwerpraster.
-
Klik op de cel in de rij Totaal in het veld Plaats en selecteer Groeperen op. Doe hetzelfde voor het veld Verzenddatum. Wijzig de waarde in de cel Totaal van het veld Totale verkoop in Expressie.
-
Stel in de rij Kruistabel de cel in het veld Plaats in op Rijkop, stel het veld Verzenddatum in op Kolomkop en stel het veld Totale verkoop in op Waarde.
-
Klik op het tabblad Queryontwerp in de groep Resultaten op Uitvoeren.
De resultaten van de query worden weergegeven in de gegevensbladweergave.
Referentietabel Statistische functies
Deze tabel bevat de namen en omschrijvingen van de statistische functies die in Access beschikbaar zijn voor de totaalrij en in query's. Access bevat meer statistische functies voor query's dan voor de totaalrij.
Functie |
Beschrijving |
Te gebrui ken met gegevenstype(n) |
---|---|---|
Gemiddelde |
Berekent de gemiddelde waarde van een kolom. De kolom moet gegevens van het type Numeriek, Valuta of Datum/tijd bevatten. De functie negeert null-waarden. |
Numeriek, Valuta, Datum/tijd |
Aantal |
Telt het aantal items in een kolom. |
Alle gegevenstypen, behalve complexe, herhalende gegevens met een scalaire waarde, zoals een kolom van lijsten met meerdere waarden. Zie het artikel Een veld met meerdere waarden maken of verwijderen voor meer informatie over lijsten met meerdere waarden. |
Maximum |
Geeft het item met de hoogste waarde als resultaat. Voor tekstgegevens is de hoogste waarde de laatste alfabetische waarde, waarbij geen onderscheid wordt gemaakt tussen hoofdletters en kleine letters. De functie negeert null-waarden. |
Numeriek, Valuta, Datum/tijd |
Minimum |
Geeft het item met de laagste waarde als resultaat. Voor tekstgegevens is de laagste waarde de eerste alfabetische waarde, waarbij geen onderscheid wordt gemaakt tussen hoofdletters en kleine letters. De functie negeert null-waarden. |
Numeriek, Valuta, Datum/tijd |
Standaarddeviatie |
Meet hoe ver waarden verspreid liggen ten opzichte van een gemiddelde waarde. Zie het artikel Kolomtotalen weergeven in een gegevensblad voor meer informatie over het gebruik van deze functie. |
Numeriek, Valuta |
Som |
Telt de items in een kolom op. Werkt alleen voor numerieke en valutagegevens. |
Numeriek, Valuta |
Variantie |
Meet de statistische variantie van alle waarden in de kolom. Deze functie kunt u alleen op numerieke gegevens en valuta toepassen. Als de tabel minder dan twee rijen bevat, wordt een null-waarde als resultaat gegeven. Zie het artikel Kolomtotalen weergeven in een gegevensblad voor meer informatie over variantiefuncties. |
Numeriek, Valuta |