05. januar 2005 - 13:47Der er
7 kommentarer og 1 løsning
Hvilken dato har søndagen i uge 34, 2004?
Det er selvfølgelig nemt at slå op i en kalender. Jeg ønsker imidlertid et simpelt VB-kald, som -givet år, uge og ugedag- kan give mig datoen uden at jeg behøver at regne det ud udfra 1.januar, ugeregler o.lign. Kan nogen hjælpe?
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
Undskyld det tog lidt tid, men din rutine virker; jeg skal blot vænne mig til, at den også "virker" på "FindDato(2005, 53, 7)" selvom der kun er 52 uger i 2005. At lørdag og søndag i uge 53, år 2004 ligger i 2005 har jo ikke noget med dette at gøre, men det skal jeg -ligesom det offentlige- også lige vænne mig til.
Tak under alle omstændigheder - jeg synes, at dit svar tangerer til "genialt".
jeg har ikke prøvet med uge 57, men hvis det virker, er det fordi Access' egen DateSerial accepterer uge 57...
Men under alle omstændigheder er det jo altid en god ide at lægge lidt fejlhåndtering ind.
Synes godt om
Ny brugerNybegynder
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.