Toon posts:

probleem met rekenen met datum in Access 2003

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo allemaal,

Ik heb het volgende probleem. Ik heb een tabel gedefinieerd in Access met daarin een attribuut geschatte_einddatum. Ik bepaal via de functie max(geschatte_einddatum) de hoogste geschatte_einddatum en nu wil ik graag kijken of deze datum kleiner is als de huidige datum. ik probeer dit te doen via een volgend SQL query:

code:
1
2
3
4
select naam_project, max(geschatte_einddatum) as max
from activiteit
where max < ( now());
group by naam_project;


Dit levert me echter niet het gewente resultaat op, ik heb het ook geprobeerd met de datediff functie (werd veel over gesproken toen ik de search van GOT gebruikte), maar ook dat leverde niet het gewenste resultaat. Is er iemand die mij kan uitleggen hoe dat ik dit het beste kan oplossen?

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Het probleem zit denk ik eerder in je sql dan in de tijdspanne.

- 'as Max' is niet goed. Gebruik nooit gereserveerde woorden als veldnamen, aliassen etc.
- de where voorwaarde wordt uitgevoerd vóór de group by. 'Max' bestaat dan nog niet. Je wilt eerst group by doen en dan de resultaten zien. Dan gebruik je ipv where 'having'.

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


Verwijderd

Topicstarter
Thnx voor de reply, dan wordt het dus bv:

code:
1
2
3
4
select naam_project, max(geschatte_einddatum) as einddat
from activiteit
having (einddat < ( now()))
group by naam_project;


alleen begint access dan te mekkeren over een syntaxfout in het having component.. dat is toch zo goed?

Verwijderd

Topicstarter
Ik heb nu dus de volgende query:

code:
1
2
3
select naam_project, max(geschatte_einddatum) as einddatum_project
from activiteit
group by naam_project;


die levert me het volgende resultaat op:

code:
1
2
3
4
5
naam_project             einddatum_project

eerste project             1-11-2005
tweede project            13-10-2005
derde project               12-10-2005


Nu wil ik dus weten welke projecten een einddatum hebben die kleiner is als de huidige datum (dus de projecten 2 en 3. Wat moet ik nu toevoegen aan mijn query om deze vergelijking te realiseren?

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

having komt ná Group By. Maar waarom gebruik je niet gewoon het query ontwerp raster van access? Dan vul je gewoon now() in bij criterium en klaar is klaar. Of je drukt eens een keer op F1. Staan helemaal uitgewerkte voorbeelden in ;)

offtopic:
Wil je, als je post in ene topic waarin je zelf de laatste poster bent, de editknop gebruiken? Dit komt over als kicken, en dat is niet de bedoeling

[ Voor 26% gewijzigd door Lustucru op 22-10-2005 15:28 ]

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


Verwijderd

Topicstarter
het is me uiteindelijk met het ontwerpraster gelukt, tnx voor het meedenken!
Pagina: 1