query lukt niet

Status
Niet open voor verdere reacties.

gethez

Gebruiker
Lid geworden
9 mrt 2007
Berichten
438
een opgave die in mijn cursus staat lukt mij maar niet:

ik zal ze even schetsen:
het gaat om een standaard database waarin klantengegevens zitten (o.a. met hun geboortedatum)

en de opgave gaat als volgt:
geef de klantennaam + de geboortedatum voor alle klanten die volgende maand verjaren.

de query gaat als volgt:

in de eerste kolom :
- klantennaam uit de tabel klanten
- X bij show

de tweede kolom :
- geboortedatum uit de tabel klanten
- X bij show

en bij de derde kolom moet ik de expression builder gebruiken... (voor zowel het veld als voor de criteria) :
- bij veld : month ([klanten]! [geboortedatum])
- bij criteria : month(now()) + 1
- geen X bij show

de eerste en tweede kolom kan ik ingeven en weergeven zonder probleem, en als ik bij de derde kolom het veld month/klanten/geboortedatum invoeg geeft hij me eerst nog mooi alle maanden : 2 voor februari en 6 voor juni , maar vanaf dat ik de criteria ingeef, krijg ik blanco records in mijn resultaat (en dit voor alle kolommen...)

terwijl als je logisch nadenkt de query toch goed in mekaar zit;
het geeft de maand weer, en als criteria neem je de huidige maand +1 .....

waar zit ik fout?????????
 
Laatst bewerkt:
Heb je wel gecontroleerd of er records zijn in maand 13? Ik denk dat ik het antwoord wel weet...

@Laurens:elke query is SQL... ;)
 
En toch is dat wat je vraagt met: month(now()) + 1

Month(Date())=12
12+1=......
 
En dat is dus waarom je huidige criterium niet werkt...
Omdat het om een cursusvraag gaat, zal ik niet gelijk het antwoord geven, maar je eerst in de goede richting duwen. Je hebt een IIF functie nodig.
 
En dat is dus waarom je huidige criterium niet werkt...
Omdat het om een cursusvraag gaat, zal ik niet gelijk het antwoord geven, maar je eerst in de goede richting duwen. Je hebt een IIF functie nodig.

ahn, dan mag je jouw oplossing altijd eens geven..., want het antwoord is month :) ,die query in mijn eerste bericht is de oplossing...

maar ik zie nu waar ik fout ben geweest... je kan niet 12+1 doen , want de 13 de maand bestaat niet... je moet waarschijnlijk -11 doen... aangezien ze niet de leeftijd vragen , maar enkel met de verjaardag kan je dit doen...
maar voor alle andere maanden klopt die now +1 wel...

maar geef jouw oplossing eens plz... die kan ook kloppen...
 
Laatst bewerkt:
ahn, dan mag je jouw oplossing altijd eens geven..., want het antwoord is month ,die query in mijn eerste bericht is de oplossing...
???
Als je de verjaardagen van de volgende maand wilt weten, dan zul je als criterium altijd [Huidige Maand+1] moeten hebben als voorwaarde (=criterium). Met alleen Month kom je nooit goed uit....
En dit gaat ook voor 11 maanden goed, alleen nou net niet in december. De oplossing is dus simpel:
(Als Maand=12, Dan Maand 1, Anders Maand +1)
Oftewel: een IFF, die er als volgt uitziet:

Code:
IIF(Month(Date())=12;1;Month(Date())+1)
En dat is, volgens mij, de enige juiste aanpak...
(heb ik de oplossing toch verraden...)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan