---
title: "Fel vecka!"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/61362-fel-vecka"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Jesper T"
published: "2002-12-06T12:08:13.000Z"
updated: "2002-12-07T10:29:47.000Z"
replies: 19
views: 443
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/61362-fel-vecka"
---

# Fel vecka!

## #1 — Jesper T, 2002-12-06T12:08Z

\<%=DatePart("ww", #2002-12-30#, 2, 2)%\>
Ger vecka 52! Det skall ju vara vecka 53.
Måndag den 30:de december och tisdagen den 31:a är väl en egen vecka detta år?!

Permalänk: https://www.webforum.nu/p/61362

## #2 — @nders, 2002-12-06T12:11Z

\[r\]:

30/12 och 31/12 ska vara i vecka 1 väl?

Mvh,

Permalänk: https://www.webforum.nu/p/877389

## #3 — JAreMANNEN, 2002-12-06T12:13Z

Ärr ett år någonsin mer än 52 veckor???
Har aldrig hört talas om att v.53 existerar ens.. :q

Permalänk: https://www.webforum.nu/p/877392

## #4 — @nders, 2002-12-06T12:16Z

Ja, det beror på vad det är för veckodag den första januari. Det kan vara ett par decemberdagar i vecka 1, och det kan finnas en vecka 53 med ett par januaridagar i.

I Sverige är vecka 1 den första vecka med minst 4 januaridagar.

Mvh,

Permalänk: https://www.webforum.nu/p/877396

## #5 — Jesper T, 2002-12-06T12:22Z

Ja, ha. Då är det något annat fel som är trasigt då.

Permalänk: https://www.webforum.nu/p/877398

## #6 — Jesper T, 2002-12-06T12:26Z

Problemet är att 30:e och 31:a försvinner i min veckokalender.
Vecka 52 = 23-29:de december
Vecka 1 = Onsd 1:a Sön 5:e

Permalänk: https://www.webforum.nu/p/877399

## #7 — Jesper T, 2002-12-06T12:28Z

Med denna kalender:

```
weekno=38
y=2002

startdate= y & "-01-01"
Do Until DatePart("ww", startdate, 2, 2) = weekno
	startdate = DateAdd("d", 1, startdate)
Loop

Response.write "v." & weekno & "<br>"

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& Server.mappath("veckobas.mdb")

For d = startdate To DateAdd("d", 6, startdate)
	Response.write day(d) & " " & weekdayname(weekday(d)) & "<br>"
		SQL_hitta = "SELECT * FROM tabellen WHERE xdatum=#"& d &"#"
		Set Rec_hitta = Conn.execute(SQL_hitta)
			Do Until Rec_hitta.eof
				response.write Rec_hitta("ftid") & "-" & Rec_hitta("ttid") &" " & Rec_hitta("rubrik") &"<br>"
			Rec_hitta.movenext
			loop
		Set Rec_hitta = nothing
	response.write "------------------------------------<br>"
startdate = DateAdd("d", 1, startdate)
next
```

Permalänk: https://www.webforum.nu/p/877400

## #8 — Jesper T, 2002-12-06T13:52Z

Jag får lixom inte till det.

Permalänk: https://www.webforum.nu/p/877457

## #9 — Jesper T, 2002-12-06T15:16Z

Är det någon som fattar detta?
Onsdag den 1:a är ju den första dagen i vecka 1, men skall veckan börja på en måndag så ingår ju även den 30 och 31:a i denna vecka. Hur inkluderar jag dessa två dagar på bästa sätt?

Permalänk: https://www.webforum.nu/p/877534

## #10 — Jesper T, 2002-12-06T16:17Z

Finns det ingen lösning på detta?

Permalänk: https://www.webforum.nu/p/877579

## #11 — @nders, 2002-12-06T18:30Z

Borde man inte kunna börja med att kontrollera vilken veckodag det är? Pseudo:

```
if weekday(mydate) <> 1 then
   ' öh, det här är ju inte en måndag som är den 1:a?!?!?
   for i = 1 to weekday(mydate)-1
       ' här börjar vi med måndagen
       ' använd dateadd() för att dra bort lämpligt antal dagar
   next
end if
' sen kör du på med resten av din loop
```

Det kanske inte hjälper dig så mycket, men det kanske är något att tugga på?

Mvh,

Permalänk: https://www.webforum.nu/p/877648

## #12 — Jesper T, 2002-12-06T18:30Z

Det är fel, fel fel fel.....

Permalänk: https://www.webforum.nu/p/877649

## #13 — @nders, 2002-12-06T18:32Z

Är det fel, fel, fel?

Då förstår jag nog inte vad du menar.

Permalänk: https://www.webforum.nu/p/877651

## #14 — Jesper T, 2002-12-06T18:35Z

Oj, jag såg inte ditt föregående inlägg.

Permalänk: https://www.webforum.nu/p/877654

## #15 — Jesper T, 2002-12-06T19:24Z

Kan någon förklara:

> ' använd dateadd() för att dra bort lämpligt antal dagar

Permalänk: https://www.webforum.nu/p/877681

## #16 — alj, 2002-12-06T21:07Z

> **Jesper T skrev:**
>
> Kan någon förklara:
>
>
> > ' använd dateadd() för att dra bort lämpligt antal dagar

Man tar bort/lägger till dagar så att dina veckor stämmer antager jag.

Permalänk: https://www.webforum.nu/p/877754

## #17 — Jesper T, 2002-12-06T22:40Z

> Man tar bort/lägger till dagar så att dina veckor stämmer antager jag.

Ja, det kunde jag också räkna ut. Men hur tar man reda på det då?

Permalänk: https://www.webforum.nu/p/877805

## #18 — @nders, 2002-12-07T09:10Z

Jag märkte att man behöver inte krångla så mycket som jag gjorde i mitt förra inlägg. Jag har skrivit en kodrad åt dig, som ändrar veckans startdag om den är annat än måndag. Jag har inte hunnit testa den så mycket dock, det får du göra. ;)

```
weekno=38
y=2002

startdate= y & "-01-01"
Do Until DatePart("ww", startdate, 2, 2) = weekno
	startdate = DateAdd("d", 1, startdate)
Loop

[b]if weekday(startdate, vbMonday) > 1 then  startdate = dateadd("d", -(weekday(startdate)-2), startdate)[/b]

Response.write "v." & weekno & "<br>"

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& Server.mappath("veckobas.mdb")

For d = startdate To DateAdd("d", 6, startdate)
	Response.write day(d) & " " & weekdayname(weekday(d)) & "<br>"
		SQL_hitta = "SELECT * FROM tabellen WHERE xdatum=#"& d &"#"
		Set Rec_hitta = Conn.execute(SQL_hitta)
			Do Until Rec_hitta.eof
				response.write Rec_hitta("ftid") & "-" & Rec_hitta("ttid") &" " & Rec_hitta("rubrik") &"<br>"
			Rec_hitta.movenext
			loop
		Set Rec_hitta = nothing
	response.write "------------------------------------<br>"
startdate = DateAdd("d", 1, startdate)
next
```

Mvh,

Permalänk: https://www.webforum.nu/p/877922

## #19 — Jesper T, 2002-12-07T10:15Z

**För kännedom**
Denna rad fungerade utmärkt:

```
if weekday(startdate, vbMonday) > 1 then  startdate = dateadd("d", -(weekday(startdate)-2), startdate) end if
```

Tack sn@bel

Permalänk: https://www.webforum.nu/p/877962

## #20 — @nders, 2002-12-07T10:29Z

np!

(men du behöver inte ha end if på den raden.)

mvh,

Permalänk: https://www.webforum.nu/p/877972

---

Tråden på webben: https://www.webforum.nu/amne/asp/61362-fel-vecka
