[Access] Jaartal niet meenemen bij query

Pagina: 1
Acties:

  • Wom
  • Registratie: Januari 2002
  • Laatst online: 00:02
Ik heb een query welke kijkt of een bepaalde datum in een ingevoerde periode valt. Het is echter zo dat in de database de datums in dd-mm-yyyy notatie worden weggeschreven en ik hier verder geen invloed op heb. Maar wanneer ik een periode in 2005 heb wordt deze niet weergegeven, terwijl die in 2004 wel worden weergegeven.

De gebruiker voert alleen de dag en maand in van de periode waar de datums tussen vallen, maar blijkbaar wordt automatisch een jaartal toegevoegd omdat het veld in de database van de dd-mm-yyyy notatie is.

De gebruiker voert enkel de dag en maand in omdat dit periodieke keuringen zijn die elk jaar op dezelfde dag terugkomen. Het zou dus zo moeten zijn dat hij het jaar als * ziet oid.

Ik heb het al geprobeerd met invoermaskers en ook al gekeken naar de notatie, maar daar kan ik niks vinden wat lijkt te werken. Wie heeft een idee ?

  • ATS
  • Registratie: September 2001
  • Laatst online: 12-02 13:46

ATS

Als iets geen datum is, waarom sla je het dan op als een datum?
Maargoed: je kan van een datum de dag en de maand achterhalen (daar zijn datumfuncties voor, zie Access help). Dan kan het toch niet zo moeilijk zijn om te achterhalen of een datum in een bepaalde periode valt?

My opinions may have changed, but not the fact that I am right. -- Ashleigh Brilliant


  • Wom
  • Registratie: Januari 2002
  • Laatst online: 00:02
ATS schreef op 19 april 2004 @ 08:41:
Als iets geen datum is, waarom sla je het dan op als een datum?
Daar heb ik geen invloed op, ik werk via een ODBC koppeling om de database te benaderen, maar deze wordt ook gebruikt door een commercieel pakket. De gebruiker voert een datum in, maar deze wordt automatisch voorzien van een jaartal binnen het programma. Daar kan ik verder niks aan veranderen (anders had ik geen probleem gehad).

Het is dus 23-04-2004, terwijl ik alleen op 23-04 wil zoeken.
ATS schreef op 19 april 2004 @ 08:41:
Maargoed: je kan van een datum de dag en de maand achterhalen (daar zijn datumfuncties voor, zie Access help). Dan kan het toch niet zo moeilijk zijn om te achterhalen of een datum in een bepaalde periode valt?
Dat gaat nu ook goed, maar probleem is dat wanneer een bepaalde periode in het volgende jaar valt deze niet weergegeven wordt. Men voert dus een dag en maand in, en hij moet elke gebeurtenis die er tussen valt laten zien, ongeacht het jaar wanneer deze plaats vind. Maar omdat er automatisch een jaar aan toegevoegd wordt (waarschijnlijk vanuit de systeemdatum) krijg ik alleen die te zien die vallen in het huidige jaar. En ik wil dus ook de periodes zien van de komende jaren.

Men voert eenmaal de onderhoudsdata in in het commerciële pakket, en deze schrijft deze data weg inclusief jaartal van invoeren. Nu wil ik dus dat er niet naar het jaartal gekeken wordt wanneer ik de query uitvoer.

[ Voor 4% gewijzigd door Wom op 19-04-2004 08:51 ]


  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Het is een accessquery op een via odbc gekoppelde tabel en het veld is een datum? De eenvoudigste oplossing is dan een where voorwaard met datepart:
code:
1
 (datepart("y",[datum]) BETWEEN datepart("y";[begin]) AND datepart("y";[begin])

Alleen gaat dit mis met schrikkeljaren. Dus zul je maanden en dagen moeten vergelijken:
code:
1
2
3
(maand<maand1 and maand<maand2) or 
(maand=maand1 and dag>=dag1) or 
(maand=maand2 and dag<=dag2)

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


  • Wom
  • Registratie: Januari 2002
  • Laatst online: 00:02
Dat zou wel eens een oplossing kunnen zijn, ik ga er mee aan de slag :)

  • Witte
  • Registratie: Februari 2000
  • Laatst online: 29-01 15:02
Ik zou een functie maken die uit een datum een string teruggeeft die er als volgt uitziet: mmdd. dit kan je met format(datum;mm)&format(dd) bereiken.

Houdoe


  • Wom
  • Registratie: Januari 2002
  • Laatst online: 00:02
Witte schreef op 20 april 2004 @ 00:39:
Ik zou een functie maken die uit een datum een string teruggeeft die er als volgt uitziet: mmdd. dit kan je met format(datum;mm)&format(dd) bereiken.
Bedankt voor de suggestie, maar het is inmiddels gelukt met de oplossing van Niesje. En wat betreft schrikkeljaren, daar heb ik geen last van omdat ik de jaren juist wil weglaten. :) Bedankt voor de hulp.
Pagina: 1