---
title: "Array-problem"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/13287-array-problem"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Skarre"
published: "2001-12-20T04:59:00.000Z"
updated: "2001-12-20T07:40:00.000Z"
replies: 1
views: 150
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/13287-array-problem"
---

# Array-problem

## #1 — Skarre, 2001-12-20T04:59Z

Jag tänkte använda nedanstående kod till att lägga in tre alternativ (till en fråga i en annan tabell) i en tabell.

```
arrAlt = Split(Request.Form("Alternative"), ",")
arrCorrect = Split(Request.Form("Correct"), ",")

For i = 0 To UBound(arrAlt)
objConn.Execute("INSERT INTO tblAlternatives (QID, Correct, Alternative) VALUES (" & intIdent & ", " & CBool(arrCorrect(i)) & ", '" & arrAlt(i) & "')")
Next
```

**Request.Form("Alternative")** är tre textboxar som innehåller själva texten för alternativen, och **Request.Form("Correct")** är tre radioknappar som anger vilket av alternativen som är det rätta. Problemet i loopen är att den blir "Out of range" eftersom den i sin andra iteration försöker den hämta arrCorrect(1) som inte finns eftersom det inte följer med något värde om en radioknapp är tom och arrCorrect således endast innehåller ett index.

Hur ska jag lösa detta?

Tacksam för hjälp!

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

## #2 — Vide, 2001-12-20T07:40Z

En liten if-sats borde väl räcka:

```
arrAlt = Split(Request.Form("Alternative"), ",")
arrCorrect = Split(Request.Form("Correct"), ",")
For i = 0 To UBound(arrAlt)
[b]if ubound( arrCorrect ) < i then exit for[/b]
objConn.Execute("INSERT INTO tblAlternatives (QID, Correct, Alternative) VALUES (" & intIdent & ", " & CBool(arrCorrect(i)) & ", '" & arrAlt(i) & "')")
Next
```

Detta är ju om dom alltid skall vara lika till antalet, annars får du lägga värdet av arrCorrect i en variabel:

```
arrAlt = Split(Request.Form("Alternative"), ",")
arrCorrect = Split(Request.Form("Correct"), ",")
For i = 0 To UBound(arrAlt)
[b]if ubound( arrCorrect ) >= i then
varCorrect = arrCorrect(i))
else
varCorrect = ""
end if[/b]
objConn.Execute("INSERT INTO tblAlternatives (QID, Correct, Alternative) VALUES (" & intIdent & ", " & CBool(varCorrect) & ", '" & arrAlt(i) & "')")
Next
```

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/13287-array-problem
