leeftijdscategorie

Status
Niet open voor verdere reacties.
De PHP tag is slechts de code die is gebruikt om de tekst leesbaarder te maken. Het is exact dezelfde SQL kortom als die van pletter, en is dus op zijn minst net zo goed (ik vind: beter) als die van pletter :). Of vertrouw je alleen voorbeeldcode die niet is opgemaakt in code tags? :d
 
Dan zou dit je query moeten zijn:
PHP:
SELECT gezNaam, Geboortedatum, Year(Date())-Year([Geboortedatum])+(Format(Date(),"mmdd")<Format([Geboortedatum],"mmdd")) AS Leeftijd, IIf([Leeftijd]>12,"Volwassen",IIf([Leeftijd]<7,"Peuter","Kind")) AS Cat 
FROM FROM tblGezin INNER JOIN Contactpersonen ON tblGezin.gezID = Contactpersonen.Gezin
GROUP BY gezNaam, Year(Date())-Year([Geboortedatum])+(Format(Date(),"mmdd")<Format([Geboortedatum],"mmdd")), IIf([Leeftijd]>12,"Volwassen",IIf([Leeftijd]<7,"Peuter","Kind"));
 
Nogmaals mijn dank voor alle oplossingen.
Ik ben een beginneling, en het is niet dat ik de ene oplossing boven de andere verkies.
Ben nog maar pas met Acces begonnen, dus alles is nieuw voor mij .
Ik probeer alles uit, maar als je op mijn leeftijd ( 58 ) aan acces begint zonder enige ervaring , enkel wat basis in Exel , dan is dit alles toch niet zo eenvoudig.
Ik zal nooit een professionele database ontwikkelen, dat besef ik ook wel, maar ik doe mijn best en vind er veel plezier in als iets me lukt, en dat is voor mij de hoofdzaak.

mvg Wim
 
Niet onbelangrijk :). En wij proberen uiteraard de meest handige oplossingen aan te reiken :).
 
Opletten Wim, want als je de code
Code:
 SELECT gezNaam, Geboortedatum, Year(Date())-Year([Geboortedatum])+(Format(Date(),"mmdd")<Format([Geboortedatum],"mmdd")) AS Leeftijd, IIf([Leeftijd]>12,"Volwassen",IIf([Leeftijd]<7,"Peuter","Kind")) AS
gebruikt dan gebruik je het veld [Leeftijd] in dezelfde select clause als waar het gecreëerd wordt. Aangezien de complete select statement in één keer uitgevoerd wordt bestaat het veld [Leeftijd] nog niet op het moment dat je het probeert te gebruiken, dus krijg je een foutmelding. Je kan berekende velden alleen in de ORDER BY clause gebruiken omdat de select pas voor de ORDER BY uitgevoerd wordt en dan pas bestaat.

Order van uitvoeren van een select statement:

eerst de FROM
dan de WHERE
dan GROUP BY en HAVING
dan de SELECT
en als laatste de ORDER BY
 
Je kan berekende velden alleen in de ORDER BY clause gebruiken omdat de select pas voor de ORDER BY uitgevoerd wordt en dan pas bestaat.

Dat snap ik niet, want hij werkt echt wel:
PHP:
SELECT Gebdatum, Year(Date())-Year([Gebdatum])+(Format(Date(),"mmdd")<Format([Gebdatum],"mmdd")) AS Leeftijd, IIf([leeftijd]>12,"Volwassen",IIf([leeftijd]<7,"Peuter","Kind")) AS Cat FROM tblPersonen
 
En met Group By:
PHP:
SELECT Gebdatum, Year(Date())-Year([Gebdatum])+(Format(Date(),"mmdd")<Format([Gebdatum],"mmdd")) AS Leeftijd, IIf([leeftijd]>12,"Volwassen",IIf([leeftijd]<7,"Peuter","Kind")) AS Cat FROM tblPersonen GROUP BY Gebdatum;
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan