Hulp query citeria

Status
Niet open voor verdere reacties.

Bsrkberend

Gebruiker
Lid geworden
21 dec 2014
Berichten
17
Hoi,

Kan er iemand mij aub helpen met een query? De vraag is "Welke fietsen zijn nog nooit verkocht?". Kan iemand mijn kort, en in Jip en Janneke taal uitleggen hoe ik dit tevoorschijn kan toveren?

Alvast bedankt!



query.png
 
Ik ben Jip en Janneke al jaren geleden uit het oog verloren, maar ik doe een poging :). Je query begint redelijk, maar niet helemaal bruikbaar nog. Wat jij wil zien, is een lijst van artikelen die nog niet verkocht zijn. Dat betekent dat je uit moet gaan van de tabel [Artikelen], want je wilt in beginsel alle artikelen kunnen zien. Op dit moment zie je in je query alleen artikelen die minstens één record in Orders hebben, maar dus niet de niet eerder bestelde artikelen. Om die te zien, moet je de relatie tussen [Artikelen] en [Orders] aanpassen. Dat gaat simpel: dubbelklik op de lijn tussen [Artikelen] en [Orders] en verander de joineigenschap van 1 naar 2 of 3. Welke je moet hebben, is een kwestie van lezen, want dat kan verschillen. Kies de variant die aangeeft dat je alle records uit Artikelen wilt zien, dan heb je de goede te pakken.
Als je de query dan uitvoert, zie je (met het huidige enkele veld in de query) alle artikelen. Sowieso zie je nog teveel records, want elk artikel zie je net zo vaak als dat er records zijn in [Orders], en dat zal je bedoeling niet zijn. Dat voorkom je door de knop <Totalen> aan te zetten. Nu groepeer je op [Artikelnaam], en dat is al beter!

Je ziet nog steeds niet wat je wilt, want de verkochte artikelen wil je niet zien. Daartoe moet je de query nog filteren. Zet bijvoorbeeld het veld [Ordernr] ook in de tabel, en verander de functie van <Group By> naar <Aantal>. Nu zie je in de uitvoer van de query elk artikel, en daarachter een veld met daarin het aantal keer dat het besteld is. Artikelen die nog nooit besteld zijn, hebben geen record, en dus ook geen aantal. Het veld is dan leeg. En dat is precies waarop je nu kunt filteren. Ga dus weer terug naar het ontwerp van de query, en zet in het veld met de functie <Aantal> in de regel Criteria de 'formule': Is Null. En dat geeft je het gewenste resultaat.
 
De joineigenschap staat nu op 2. Ik krijg de melding;query2.png Waaraan kan dat liggen?
 
Je hebt de tabel Order niet nodig. Ik noemde hierboven inderdaad wel die tabel, maar dat was omdat ik me liet afleiden door het plaatje, waar die naast Artikel staat. Maar je hebt dus alleen OrderRegels nodig.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan