CURSUS MS Access 2014

 

 

 

Query's

Filter

Om gegevens te selecteren uit een database kunnen we de filter functie gebruiken zoals we gezien hebben in practicum 1. Een voorbeeld van de filter functie is om alle klanten uit Loosdrecht te laten zien.

Laat alle klanten uit Loosdrecht zien, door bovenstaande instellingen te maken. Selecteer plaats, klik op filter, of op het pijltje naast plaats. Selecteer alleen Loosdrecht (klik eerst op "Alles selectereen" en dan op "Loosdrecht").

De filter functie is handig bij gebruik binnen een tabel maar kent zijn beperkingen. Zo kan een filter niet gegevens uit meerdere tabellen combineren (bv alle producten met hun leveranciers) of berekeningen maken (de prijs van het product is exclusief BTW. Hoeveel is de inclusief BTW prijs).

Query

Aan de hand van wat voorbeelden zullen we de Query functie uitleggen.
Stel we willen alleen weten de namen van de klanten uit Loosdrecht.
Ga in het lint naar het tabblad "Maken" en klik op Queryontwerp.

Klik op "Queryontwerp" in het "Maken" tabblad.

Je krijgt onderstaand scherm. Selecteer "Klant" en klik op toevoegen.

Sluit daarna het venster "Tabel weergeven".

Sleep de velden "klant" en "plaats" naar beneden achter veld. Het moet er als volgt uit zien.

Klik daarna op de knop weergave in het lint. Het resultaat is de tabel met de twee velden.

Klik daarna weer op weergave (het symbool is veranderd van tabel in ontwerp) om weer terug te gaan naar het Query "Ontwerpweergave".

Type daarna onder plaats in de rij criterium "Loosdrecht".

Klik weer op weergave om het resultaat te zien en ga dan weer naar de ontwerpquery.
Vink onder Plaats het vinkje uit en bekijk het resultaat.
Sleep daarna het telnr naar beneden en bekijk het resultaat.

Sla daarna de query op onder de naam "KlantQuery" door het tabblad te sluiten.

Reken Query

Maak een nieuwe Query aan op basis van de tabel product. (Lint maken --> Ontwerpquery --> Product).

In de tabel die we willen laten zien, moeten voorkomen de omschrijving, de prijs, en de prijs inclusief BTW.

Sleep de twee velden omschrij en prijs naar beneden en type in de derde kolom:
Prijs inclusief BTW:[prijs]*1,21, en bekijk het resultaat in de tabel weergave.

Merk op dat je een "berekend veld" toevoegt door het een naam te geven, dan een : en vervolgens de formule. Wordt in die formule een veld gebruikt, dan staat dat veld tussen rechte haken.

Wil je in de tabel ook nog mooi het Euro teken, dan rechtsklik je op "prijs inclusief BTW" kies voor eigenschappen en voer bij notatie "Euro" in.

Stel je wilt ook nog weten van welke producten de voorraad < 20 is dan stel je de query als volgt in:

Laat daarna de tabel zien.

Sla de query op onder de naam Q_ProductBTW.

Samenvoeg Query.

In de verkooporder worden gegevens van verschillende tabellen gecombineerd.

In de order zelf zijn dat de gegevens van de verkooporder zelf, de medewerker en de klant.
In het regel bestand, waarin de verschillende bestelde producten zitten, zijn dat de verkooporder_regel en het producten bestand. Bovendien moet in deze laatste een berekend veld komen te staan van het aantal producten keer de prijs.

Alleen met een query kunnen we deze gegevens samenvoegen.
We gaan in eerste instantie de Query met de naam "Q_verkooporder_medewerker_klant maken".
Daarvoor gaan we in het lint naar "Maken" en klikken op "Ontwerpquery"
We selecteren de tabellen Verkooporder, medewerker en klant en klikken op toevoegen en dan sluiten.

Nu moeten we na gaan denken welke velden opgenomen moeten worden in de verkooporder.
Dat zijn ten eerste van de verkooporder alle velden. Alle velden kun je in een keer selecteren door het * in de tabel naar beneden te slepen.
Van de klant moeten naam adres, postcode, plaats en telefoonnr naar beneden gesleept worden.
Van de medewerker moet alleen de naam naar beneden gesleept worden.

Merk op dat je van de klant en van de medewerker niet het klant of medewerkersnummer naar beneden sleept. Zou je dit wel doen, dan zou dit nummer tweemaal in de query tabel komen te staan, omdat klant en medewerkernummer ook in de verkoopordertabel staan.
Dan is er nog een regel die geldt, waarden uit de één tabel (de stamgegevens) kunnen niet veranderd worden in de bij de Query behorende tabel.

Maak bovenstaande query en sla hem op onder de naam Q_verkooporder_klant_medewerker.

De volgende Query die we gaan maken is de query Q_verkooporder_regel.
hierin moeten alle velden staan uit de Verkooporder_regelbestand, de omschrijving en de prijs uit het product bestand en het bedrag moet een berekend veld worden.

Maak bovenstaande Query en sla de query op onder de naam Q_verkooporder_regel.