Weeknummers

Status
Niet open voor verdere reacties.

sacha

Gebruiker
Lid geworden
27 nov 2001
Berichten
248
Ik heb een tabel waarin oa datums worden ingevoerd. Nu wil ik een query maken waarin ik wil zien wat erin een bepaalde week is ingevoerd.
Dus alles wat er in week 45 is ingevoerd bijvoorbeeld.
Ik ben al aan het stoeien geweest met "ww" maar ik krijg het niet voor elkaar. Weet iemand een oplossing?
 
Hoi Sacha
Ik heb een voorbeeld bestand bijgevoegd.
Deze bevat een tabel "Test" waarin een naam en een datum staan gedefinieerd.
Er is een query "qry_Weekdatum" dat de Naam, datum en het weeknummer laat zien.
De query qry_Weekgevraagd vraagt om een weeknummer. Na uitvoeren worden alleen die weken getoond die aan de opgegeven weeknummer voldoen.

Veel succes
 

Bijlagen

  • weektest.zip
    13,3 KB · Weergaven: 62
Dank je wel Silkom, maar het klopt niet helemaal. Hij geeft namelijk de verkeerde week weer. Als je bijvoorbeeld 23-11-2005 erbij zet, dan zegt ie dat het week 48 is terwijl het week 47 moet zijn. Er moet ergens nog iets afgetrokken worden..........??
 
In principe is de formule goed.
Helaas gaat MsAccess verkeerd om met de weekbepaling. 1 januari 2005 (zaterdag) is week 1 terwijl dit week 53 van het vorige jaar is; 2 januari 2005 (zondag) is week 2 terwijl dit week 1 moet zijn.
Deze fout is ook te zien in de agenda van Microsft Outlook als je de weeknummers weergeeft.

Je kunt dus voor het gemak één van het weeknummer aftrekken.
 
Ja, dat had ik gezien in Outlook. Is er niet een truc om dit te omzeilen? Zodat wel de juiste week wordt weergegeven?
 
=Weeknummer(NU ( ) ) + (weekdag(1-1-2005)> 4;-1;0) ervan uitgaande dat donderdag dag 5 is in de week.
 
Wat dacht je hiervan:
Public Function WeekNr(dDatum As Variant) As Integer

Dim iWeekNummer As Integer

If CStr(Format(dDatum, "DD:MM:JJ")) = "" Then
Exit Function
End If

iWeekNummer = Format(dDatum, "ww", vbMonday, vbFirstFourDays)
If iWeekNummer > 52 Then
If Format(dDatum + 7, "ww", vbMonday, vbFirstFourDays) = 2 Then
iWeekNummer = 1
End If
End If

WeekNr = iWeekNummer

End Function

Zet in je query: Weeknummer: WeekNr([datumveld])
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan