Avatar billede dm013 Nybegynder
29. december 2003 - 11:44 Der er 3 kommentarer og
1 løsning

Finde datoen ud fra år/uge

Kan jeg udfra År og Uge finde Datoen for mandag i den pågældende uge.

sådan at forstå et hvis jeg sender parametrene 2003 og 52 så returneres 22-12-2003
29. december 2003 - 11:50 #1
læg denne funktion i et modul:
Public Function FindDato(År As Integer, Uge As Byte, Dag As Byte) As Date
  FindDato = DateSerial(År, 1, Uge * 7 + Choose(DatePart("w", DateSerial(År, 1, 1), vbMonday, vbFirstFourDays), Dag - 7, Dag - 8, Dag - 9, Dag - 10, Dag - 11, Dag - 7, Dag - 6))
End Function

Herefter kan du finde en given ugedag ved f.eks. at skrive:
FindDato(2004, 2, 1)

2004 er selvfølgelig året
2 er ugenr
1 er ugedag (mandag)

Herefter returneres 5-1-2004

Funktionen kan bruges overalt. F.eks. i forespørgsler eller i VBA-kode
Avatar billede dm013 Nybegynder
29. december 2003 - 13:04 #2
Hej Thomas,

Det var lige hvad jeg stod og manglede, men du har den vel ikke til SQL også?
29. december 2003 - 13:09 #3
mener du til SQL server? Så NEJ.

Men hvis du bare vil bruge den i en SQL-sætning i Access, så kan du sagtens benytte selve udregningen direkte i en forespørgsel:

DateSerial(År, 1, Uge * 7 + Choose(DatePart("w", DateSerial(År, 1, 1), vbMonday, vbFirstFourDays), Dag - 7, Dag - 8, Dag - 9, Dag - 10, Dag - 11, Dag - 7, Dag - 6))

År, uge og dag skal blot være kendte felter i forespørgslen.
Avatar billede dm013 Nybegynder
29. december 2003 - 13:12 #4
jeg har fået det til at virke i min front-end...
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