Avatar billede hugopedersen Nybegynder
19. februar 2004 - 11:20 Der er 2 kommentarer og
2 løsninger

Uge numre igen igen

Jeg har lige et sjovt spørgsmål angående ugenumre
Jeg bruger funktionen Format(datDato, "ww", vbMonday, vbFirstFourDays) til at finde ugenumre med.
Hvis man tester med 28-12-2003 får som forventet uge 52
Hvis man tester med 29-12-2003 får man mod forventning uge 53
Hvis man tester med 30-12-2003 får man som forventet uge 1

Hvad i alverden er det lige der går galt her ?
Avatar billede Spotgun Seniormester
19. februar 2004 - 11:49 #1
Avatar billede amerikaner Nybegynder
19. februar 2004 - 15:09 #2
Yea it's a good one...here is what I use

'*******************************************************
' Translates the date passed into a week number
'*******************************************************
Function WEEK_NUM(p_Date As String)
On Error Resume Next
    If Not IsDate(p_Date) Then Exit Function
           
    'This is difference between the sent date and the first date of
    ' the first week in the year
    ' (plus one since the first week is 1 and not 0)
    WEEK_NUM = Fix((CDate(p_Date) - CDate(FIRST_UGE(p_Date))) / 7) + 1

End Function
'*******************************************************
' This tells you what day the first week in the year starts on
'*******************************************************
Function FIRST_UGE(p_Date As String)
On Error Resume Next
   
    Dim fYear As Integer
    Dim f_WeekDay As Integer
   
    'What day of the week was the first day of the passed year
    fYear = Year(p_Date)
    f_WeekDay = WeekDay("1-1-" & fYear, vbMonday)
    If 7 - f_WeekDay >= 3 Then
        'week 1 starts before the first
        FIRST_UGE = CVDate("1-1-" & fYear) - (f_WeekDay - 1)
    Else
        'week 1 starts after the first
        FIRST_UGE = CVDate("1-1-" & fYear) + (8 - f_WeekDay)
    End If
   
End Function

So you would only type WEEK_NUM(datDato) to get the week number.  Yes it's bizzare but heh...Det virke!
Avatar billede hugopedersen Nybegynder
23. maj 2004 - 16:16 #3
amerikaner> kunne du ikke lige skrive svar så jeg kan lukke denne.
Avatar billede amerikaner Nybegynder
23. maj 2004 - 23:16 #4
Gjort...på forhand, tak
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester