Access Query tips & trucs (1-4-2010)
Queries: alle verschillende technieken op een rijtje
Vragen beantwoord ik tegen betaling van een uurtarief van € 60,- met een minimum van 1 uur
Access Query: technieken op een rijtje (2-3-2010)
2 voorwaarden: LIKE, AND, OR, IN etc.
11 eigenschappen: unieke waarden
12 groeperen zonder groepeerkolom
13 groeperen met groepeerkolom
15 combinatie tabellen en queries
18 koppelingen willekeurige velden (ongelijk relaties)
19 samenvoegquery (union: optellen van twee tabellen)
Sorteren

voorwaarden: LIKE, AND, OR, IN etc.
We plaatsen deze delen van voorwaarden in de rij Criteria
LIKE

AND + OR

IN

meermalen hetzelfde veld
We kunnen meermalen hetzelfde veld toevoegen aan het queryraster (rij Veld), bijvoorbeeld om het invoeren van voorwaarden te vergemakkelijken of de velden in de gewenste volgorde te tonen en te sorteren

kolommen verbergen
Door simpelweg in de rij Weergeven een vakje uit te vinken, zorgen we ervoor dat een kolom niet wordt afgebeeld.

gebruik van functies
In Acces kunnen we tal van functies gebruiken om één of meer kolommen naar andere gegevens om te zetten.

veldnamen aanpassen
Een eigen veldnaam plaatsen we vooraan in de kolom van de rij Veld, gevolgd door een :

berekende velden
In de rij Veld kunnen we ook combinaties van velden plaatsen, bijvoorbeeld voor een berekening of om ze te concateneren (samenvoegen). Velden met een spatie erin moeten we voorzien van vierkante haken.

met parameter
We kunnen aan de rij Veld of aan de rij Criteria ook parameters toevoegen. We doen dat met behulp van vierkante haken [dit is een parameter] met een tekst er tussen. Voorwaarde is wel dat de tekst niet gelijk moet zijn aan de naam van een veld.

We kunnen vooraf ook het type van de parameter instellen. We klikken dan eerst op de rechter muisknop bovenin en krijgen:

We klikken vervolgens op P arameters…

topwaarden
Als we bij Topwaarden bijvoorbeeld 50 instellen, krijgen we de eerste 50 records gebaseerd op de toevallige volgorde waarin deze staan.

maximum aantal records
Bij Maximum aantal records stellen we het maximale aantal in dat de query mag geven

eigenschappen: unieke waarden
Klik in het Query raster op de rechter muisknop en kies eigenschappen

Stel unieke waarden in op ja
groeperen zonder groepeerkolom
We zetten dan wel de rij Totaal aan, maar gebruiken alleen verzamelfuncties als Som, Min etc.

groeperen met groepeerkolom
Met groepeerkolom houdt in dat we één of meer groepeerkolommen toevoegen in combinatie met verzamelfuncties.

kruistabelquery
We kiezen dan Querytype voor kruistabel. We kunnen dan maximaal drie kolommen als rijkop instellen en maximaal één als kolomkop en ook maximaal één als waarde.

combinatie tabellen en queries
We kunnen in elke Query meerdere tabellen en queries aan elkaar linken:

Zo kunnen we uiteraard ook baseren op een query en die weer op een andere query enzovoorts.
tweemaal dezelfde tabel
In de SQL vaktaal heet dit een self join: een tabel koppelen aan zichzelf
join-eigenschappen:
Selecteer twee tabellen die aan elkaar te koppelen zijn. Dubbeklik op de koppeling

De opties 1 tot en met 3 staan resp. voor INNER JOIN, LEFT OUTER JOIN en RIGHT OUTER JOIN
koppelingen willekeurige velden (ongelijk relaties)
Uiteraard hoeven we niet persé sleutelvelden en/of gelijksoortige velden aan elkaar te linken. In feite kunnen we elk veld aan elk veld van een andere tabel koppelen. Wilde link echt tot stand komen, dan moeten de velden wel van hetzelfde type zijn. Uiteraard zal zo'n link niet altijd iets opleveren.
samenvoegquery (union: optellen van twee tabellen)
Zo'n query kunnen we alleen rechtstreeks in SQL maken:
SELECT plaats, land
FROM klanten
UNION
SELECT plaats, land
FROM leveranciers
bijwerkquery
In de SQL taal hebben we het dan over UPDATE. In Access kiezen we voor een bijwerkquery:

Toevoegquery
In de SQL taal hebben we het dan over INSERT. In Access kiezen we voor een toevoegquery:

Verwijderquery
In de SQL taal hebben we het dan over DELETE. In Access kiezen we voor een verwijderquery:

Tabelmaakquery
In de SQL taal hebben we het dan over SELECT INTO. In Access kiezen we voor een tabelmaakquery

SQL
We schakelen dan helemaal over op SQL. Voorbeeld:
SELECT DISTINCT tblKlanten.plaats
FROM tblKlanten
WHERE tblKlanten.plaats IN
(
SELECT DISTINCT plaats
FROM tblHuizen
);
