Avatar billede hstenbaek Nybegynder
30. december 2003 - 11:26 Der er 1 kommentar og
1 løsning

Ugenummer med DatePart() returnerer 53

HJÆLP – jeg er ved at blive tosset!

Jeg arbejder pt. på at lave en kalender oversigt der skal spille sammen med nogle data der er angivet pr. ugenummer.

Jeg bruger DatePart("ww", "29-12-2003", 2, 2) til at finde aktuelle ugenummer. De to sideste parametre (.., 2 ,2)  angiver hhv. FirstDayOfWeek til vbMonday og FirstWeekOfYear til vbFirstFourDays. Hvilket så vidt jeg plejer at forstå er identisk med forholdene her i Danmark.

Problemet er så at DatePart("ww", "29-12-2003", 2, 2) returnerer 53 – min papirkalender siger at vi er i uge 1 så det er jo lidt svært at acceptere!?!

28-12-2003 returnere korrekt uge 52 ligesom 30-12-2003 korrekt returnere uge 1. Det er altså kun den 29-12-2003 som er uge 53!

Jeg har nu testet funktionen på alle mine (3) maskiner (W2K UK og W98 DK – med Office 2000 og Office 2002) – resultatet er det samme alle steder. Har jeg sovet i timen mens MS har indført ”The one day week”? Er der andre som har oplevet samme? Findes der er opdateret dato.dll som jeg har overset at få installeret?
Avatar billede eagleeye Praktikant
30. december 2003 - 11:33 #1
Det er en bug i DatePart som give et forkert uge nr.
Se den beskrevet her samt løsninger på det problem:

http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/q200/2/99.asp&NoWebContent=1
Avatar billede soda Nybegynder
30. december 2003 - 11:38 #2
Jeg har ikke læst alt hvad eagleeye har henvist til, men på et kursus i VBA for Excel fik jeg, at vide, at denne fejl kun opstår når den 1. jan er en torsdag. Lyder underligt, men vi testede dette og fejlen kom sjovt nok ved år 2004, men ikke 2003 og 2005.
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
Kurser inden for grundlæggende programmering

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