---
title: "Loop hänger sig"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/77549-loop-hänger-sig"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "martinpartin"
published: "2003-05-20T10:37:18.000Z"
updated: "2003-05-20T13:10:06.000Z"
replies: 15
views: 390
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/77549-loop-hänger-sig"
---

# Loop hänger sig

## #1 — martinpartin, 2003-05-20T10:37Z

Problem:

Min server hänger sig när jag kör denna kod:

t.ex. så är str_startdate = 2003-05-13 samt str_endate = 2003-05-30

Jag är säkert ute o cycklar. 

nån som har nån idé ?

```
Dim str_startdate, str_enddate, str_count

str_enddate = Request.Form("enddate")

str_count = 0

str_startdate = DateAdd("d", str_count, ""& Request.Form("startdate") &"")

Do Until str_startdate = str_enddate

Response.Write(""& str_count &"<BR>")

str_count = str_count + 1
Loop
```

 

Mvh
Martin

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

## #2 — @nders, 2003-05-20T10:42Z

Du ändrar ju aldrig startdate inne i loopen, så värdet ändras ju aldrig. Sen undrar jag vad du har alla blankrader till? De försvårar läsning av koden. Sen kan det vara najs att indentera koden också, så man vet vad som hör till vad.Och varför lägger du till en tom sträng före och efter **Request.Form("startdate")**?

```
Dim str_startdate, str_enddate, str_count
str_enddate = Request.Form("enddate")
str_count = 0

Do Until str_startdate = str_enddate
     str_startdate = DateAdd("d", str_count, CDate(Request.Form("startdate")))
     Response.Write(""& str_count &"<BR>")
     str_count = str_count + 1
Loop
```

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

## #3 — Engine^, 2003-05-20T10:46Z

Fel ordning på saker och ting...

```
Dim str_startdate, str_enddate, str_count

str_count = 0
str_enddate = Request.Form("enddate")
str_startdate = Request.Form("startdate")

Do Until str_startdate = str_enddate
  Response.Write(""& str_count &"<BR>")

  DateAdd("d", 1, str_startdate)
  str_count = str_count + 1
Loop
```

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

## #4 — martinpartin, 2003-05-20T10:46Z

Tjusigt  ;) 

Ska tänka på det nästa gång. Tack för tipsen och ett snabbt svar.

Mvh
Martin

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

## #5 — martinpartin, 2003-05-20T10:49Z

Engine ?

```
DateAdd("d", 1, str_startdate)
```

 

Där 1:an e ska str_count stå va ?

Mvh
Martin

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

## #6 — Engine^, 2003-05-20T10:55Z

Nja, då blir felräkning... str_startdate ökas först med 1, sedan 2, 3 och så vidare.

str_count  str_startdate
1 : 2003-05-15
2 : 2003-05-17
3 : 2003-05-20
.
.
.

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

## #7 — martinpartin, 2003-05-20T11:02Z

OK, fattar det nu.. tänkte lite annurlunda bara. Nu får jag detta otrevliga meddelande när jag kör med din kod

**Microsoft VBScript compilation (0x800A0414)** 

på denna rad:

```
 DateAdd("d", 1, str_startdate)
```

 

Mvh
Martin :)

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

## #8 — Engine^, 2003-05-20T11:11Z

Cannot use parentheses when calling a Sub...

Lösningen till det är nog att ta bort paranteserna från DateAdd. Alltså: *DateAdd "d", 1, str_startdate*

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

## #9 — martinpartin, 2003-05-20T11:24Z

Fungerar inte loopen hänger sig igen...

?

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

## #10 — @nders, 2003-05-20T11:27Z

> **Engine^ skrev:**
>
> Cannot use parentheses when calling a Sub...
> 
> Lösningen till det är nog att ta bort paranteserna från DateAdd. Alltså: *DateAdd "d", 1, str_startdate*

Man kan inte bara bara skriva så. DateAdd() är en funktion som returnerar ett värde, därför måste man också ta emot det.

```
dteEttDatum = DateAdd ("d", 1, str_startdate)
```

Hur ser din kod ut nu?

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

## #11 — martinpartin, 2003-05-20T11:30Z

Som Engine´s:

```
Dim str_startdate, str_enddate, str_count

str_count = 0
str_enddate = Request.Form("enddate")
str_startdate = Request.Form("startdate")

Do Until str_startdate = str_enddate
  Response.Write(""& str_count &"<BR>")

  DateAdd("d", 1, str_startdate)
  str_count = str_count + 1
Loop
```

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

## #12 — Engine^, 2003-05-20T12:09Z

Ajaj... tur att det en snabelanders för felkorrigering ;)

```
Dim str_startdate, str_enddate, str_count

str_count = 0
str_enddate = Request.Form("enddate")
str_startdate = Request.Form("startdate")

Do Until str_startdate = str_enddate
  Response.Write(""& str_count &"<BR>")

  [b]str_startdate = DateAdd("d", 1, str_startdate)[/b]
  str_count = str_count + 1
Loop
```

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

## #13 — martinpartin, 2003-05-20T12:25Z

helt stört:

```

Dim str_startdate, str_enddate, str_count

str_startdate = 2003-05-25
str_enddate = 2003-05-29

str_count = 0

Do Until str_startdate = str_enddate
  Response.Write(""& str_count &"<BR>")

  str_startdate = DateAdd("d", 1, str_startdate)
  str_count = str_count + 1
Loop
```

 

Denna kod hänger loopen också..

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

## #14 — Engine^, 2003-05-20T12:44Z

Måste du inte innesluta datum med # i VBScript?

Som du skrev tror jag det tolkas som 2003 - 5 - 25 = 1973, således tolkas ditt stoppdatum som ett datum tidigare än ditt startdatum. Loopen kommer inte fram på ett bra tag med andra ord.

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

## #15 — @nders, 2003-05-20T12:52Z

> **Engine^ skrev:**
>
> Måste du inte innesluta datum med # i VBScript?
> 
> Som du skrev tror jag det tolkas som 2003 - 5 - 25 = 1973, således tolkas ditt stoppdatum som ett datum tidigare än ditt startdatum. Loopen kommer inte fram på ett bra tag med andra ord.

Det är korrekt. Man kan använda antingen # runt datum, eller Cdate("2003-05-23"), för att det ska hanteras som datumtyp, men absolut inte utan någonting runt.

Mvh

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

## #16 — martinpartin, 2003-05-20T13:10Z

Allt fungerar nu med följande kod:

```

Dim str_startdate, str_enddate, str_count

str_startdate = Cdate("2003-05-23")
str_enddate = Cdate("2003-05-28")
str_count = 0

Do Until str_startdate = str_enddate
  Response.Write(""& str_count &"<BR>")

  str_startdate = DateAdd("d", 1, str_startdate)
  str_count = str_count + 1
Loop
```

 

Tack för all hjälp !  :) 

Mvh
Martin

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/77549-loop-hänger-sig
