Avatar billede dsjk Novice
18. december 2006 - 15:20 Der er 3 kommentarer og
1 løsning

find fato for mandag/onsdag/torsdag udfra uge og år

Hej

Jeg skal i en forespørgsel/rapport finde datoen ud fra nogle data.
Jeg kender år og uge og ved om det er mandag(dage=5), onsdag(dage=3) eller torsdag(dage=2) jeg skal finde.
Har brugt:
Dato: DateSerial([omdeling].[aar];1;(7*[uge])-[Dage])

og den virker også så længe det drejer som om 2006, men kan nu se at den viser en dag for meget når det kommer til 2007.

Er der nogen der har en, måske, anden løsning på ovenstående?

Ppå fothånd tak
Avatar billede claus66 Nybegynder
19. december 2006 - 09:28 #1
Denne finder datoen for mandag i en vilkårlig uge:

Function WeekToDate(week As Integer, year As Integer) As Date
Dim newyear As Date
Dim newyearsday As Integer
    newyear = DateSerial(year, 1, 1)
    newyearsday = WeekDay(newyear, vbMonday) - 1
    If newyearsday > 3 Then newyearsday = newyearsday - 7       
    WeekToDate = newyear + (week - 1) * 7 - newyearsday
End Function
Avatar billede claus66 Nybegynder
19. december 2006 - 09:33 #2
Ændret med dage køreer det:

Function WeekToDate(week As Integer, year As Integer, dage) As Date
Dim newyear As Date
Dim newyearsday As Integer

    newyear = DateSerial(year, 1, 1)
    newyearsday = WeekDay(newyear, vbMonday) - 1
    If newyearsday > 3 Then newyearsday = newyearsday - 7
       
    WeekToDate = newyear + (week - 1) * 7 - newyearsday + (5 - dage)

End Function
Avatar billede dsjk Novice
19. december 2006 - 13:39 #3
Genialt

Takker mange gange...

God jul
Avatar billede claus66 Nybegynder
19. december 2006 - 13:40 #4
Selv 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