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)

1 Sorteren

2 voorwaarden: LIKE, AND, OR, IN etc.

3 meermalen hetzelfde veld

4 kolommen verbergen

5 gebruik van functies

6 veldnamen aanpassen

7 berekende velden

8 met parameter

9 topwaarden

10 maximum aantal records

11 eigenschappen: unieke waarden

12 groeperen zonder groepeerkolom

13 groeperen met groepeerkolom

14 kruistabelquery

15 combinatie tabellen en queries

16 tweemaal dezelfde tabel

17 join-eigenschappen:

18 koppelingen willekeurige velden (ongelijk relaties)

19 samenvoegquery (union: optellen van twee tabellen)

20 bijwerkquery

21 Toevoegquery

22 Verwijderquery

23 Tabelmaakquery

24 SQL

 

•  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

);