09. januar 2002 - 14:57 Der er 11 kommentarer og
1 løsning

Find dato ud fra ugenr

Min hjerne er lige gået i stå :o(

Jeg har selv lavet det før, men lige nu kan jeg ikke tænke, så I får lov at gøre det for mig.

Jeg skal bruge en funktion, som retunere dato på den fredag, som findes i en given uge.

Public Function FindDato(År as Integer, Uge as Byte) as date
  FindDato = ???
End function

Funktionen skal kunne kaldes således:
FindDato(2002, 3)
for at finde fredagen i uge 3, år 2002

pfh tak :o)
/Thomas
Avatar billede terry Ekspert
09. januar 2002 - 15:09 #1
I think I have a function somewhere Thomas, but at the moment I am not at my own PC. Will get back as soon as possible. I have actually given it as an answer somewhere so oyou could save your 62 points. It will need altering slightly as it returns the monday in the week. It also takes into account weeks which exist twice in the same year.
09. januar 2002 - 15:14 #2
\"weeks which exist twice in the same year\"??? You mean like weeks with 2 thursdays?
Avatar billede terry Ekspert
09. januar 2002 - 15:23 #3
There are some years which have (FOR EXAMPLE) the end of week 53 of the previous year and week 53 of the current year. So in effect the year contains week 53. Now if it was a monday then it is unlikely that two mondays of the \"same\" week are actually in the year but because you are interested in a Friday it is more than likely the case.

Anyway I will get back Thomas, busy (believe it or not) at the moment :o)
Avatar billede proaccess Nybegynder
09. januar 2002 - 15:25 #4
Public Function FindDato(År As Integer, Uge As Byte) As Date
  FindDato = DateSerial(År, 1, Uge * 7 + Choose(DatePart(\"w\", DateSerial(År, 1, 1), vbMonday, vbFirstFourDays), -2, -3, -4, -5, -6, 0, 1))
End Function

Hvordan den lige håndterer Terry\'s 2 torsdage ved jeg ikke lige på stående fod...
09. januar 2002 - 15:27 #5
Terry->Busy?? It\'s time to get a new job then....

Proaccess, det var netop dig, jeg regnede med ville komme med et godt svar :o)
Prøver det lige af.....

Avatar billede terry Ekspert
09. januar 2002 - 15:28 #6
Not me Thomas?
09. januar 2002 - 15:38 #7
Jo, Terry. Jeg var ikke i tvivl om at du ville komme med et svar, men i de 15 minutter, der gik fra du skrev at du ville vende tilbage senere, tænkte jeg, at hvis Proaccess sad derude og fulgte med, så ville han straks udtænke (eller grave det frem fra sine gemmer) en løsning. Denne type opgave er en typisk opgave, som han \'gider\' svare på.
Jeg var ikke i tvivl om at du (og så mange andre) ville kunne løse opgaven også.
Jeg har som sagt selv løst den tidligere, men jeg husker løsningen som væsentlig mere simpel og uden en choose-funktion. Men jeg husker nok forkert eller også var det noget andet, jeg lavede dengang ;o)

ProAccess->Umiddelbart virker det med de stikprøver jeg har foretaget. Hvis det viser sig, at den regner forkert blot én gang, så sender jeg dig bare et erstatningskrav i millionklassen, ikk\'? :o)
Avatar billede proaccess Nybegynder
09. januar 2002 - 15:40 #8
Jeg har ALDRIG sagt at jeg er ufejlbarlig...  Men vi håber det bedste, og TAK for de fine ord...
Avatar billede terry Ekspert
09. januar 2002 - 15:49 #9
Look at week 52 in 2000!
09. januar 2002 - 15:54 #10
Du har ret - der er 2 uge 52\'ere i år 2000.

Fredagen går lige fri, men havde det været lørdag eller søndag, vi søgte, så var der opstået et problem.

Det må jeg vist hellere lige vende med kunden....
09. januar 2002 - 15:57 #11
Hvem har forøvrigt også fundet på at der skulle være 365/366 dage på et år???
Ingen af tallene går jo op i 7. Der burde kun have været 364 dage på et år. Eller kun 5 dage på en uge (og ikke noget skudår).

Er det mon for sent at ændre? Og hvor retter man henvendelse?
Avatar billede terry Ekspert
09. januar 2002 - 15:58 #12
:o)

DS/EN 28601.
\' Monday is always the first day of the week.
\' Week 1 is the first week of the year containing at least four days and will always contain
\' the first Thirsday of the year.
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