---
title: "Problem med arrayer"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/190518-problem-med-arrayer"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "leniz"
published: "2012-10-05T11:27:38.000Z"
updated: "2012-10-05T12:39:39.000Z"
replies: 14
views: 876
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/190518-problem-med-arrayer"
---

# Problem med arrayer

## #1 — leniz, 2012-10-05T11:27Z

Hej!
Suttit länge nu och sökt och testat men verkar inte lyckas få till detta :-(

Jag har en sträng med ord separerade med kommatecken som jag vill skapa en array av men hur jag än gör så verkar arrayen tolka det som ett ord och inte t.ex. 3 olika (separerade med kommatecken).

Kör jag en split på kommatecken och försöker lägga in det så får jag felmeddelande att det är ett ogiltigt typnamn.

strangen=strangen & "," & ""&words(i)&""
orden=split(strangen,",")
array(orden)

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

## #2 — l-boy, 2012-10-05T11:30Z

Bifoga gärna lite mer kod. Det där ser inte riktigt komplett ut.

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

## #3 — l-boy, 2012-10-05T11:31Z

Otestat. Men det fungerar väl ungefär så här?

```
strangen = "ett,två,tre"
array = split(strangen,",")

response.write array(0) -> ett
response.write array(1) -> två
response.write array(2) -> tre
```

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

## #4 — leniz, 2012-10-05T11:40Z

Tack för snabbt svar! :-)
Ja, den här sista raden används så här och det är där man får felmeddelandet om ogiltigt typnamn. Skippar jag raden med "orden=split(strangen,",")" så får jag inget felmeddelande  om ogiltigt typnamn, men då tolkas istället alla ord som ett i arrayen (den får bara ett värde istället för t.ex. 3 värden).
set x = command.Execute(sql, array(orden))

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

## #5 — l-boy, 2012-10-05T11:42Z

Hur skapar du array? Vad innehåller den i ditt exempel?

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

## #6 — leniz, 2012-10-05T11:56Z

words(i) är en for/next loop som skriver ut olika namn. Skriver jag ut "strangen" så ser det t.ex. ut så här:
Anders,Fredrik,Rickard
Jag har också testat ändra så utskriften blir så här:
'Anders','Fredrik','Rickard'

words = split(fnamn)
for i = 0 to ubound(words)
if t = "" then
strangen=""&words(i)&""
else
strangen=strangen & "," & ""&words(i)&""
end if
next

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

## #7 — voigtann1, 2012-10-05T12:09Z

om fnamn är "Anders Fredrik Rickard"

så vid en split(fnamn) så kommer den splitar på " " (mellanslag)

Ocg in det bara är så att du vill delar en sträng och sätta ihop den med "," så kan du köra en join(array, ",")
(eller köra en replace på " " och ersätt den med ",")

Hänger inte riktigt med på vad du ha för data och vad du vill ha för data när din kod har körts.

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

## #8 — noshornin, 2012-10-05T12:11Z

```
 
Array(strangen)
```

Är allt du behöver skriva om strangen innehåller ord i formatet "ett,två,tre"...

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

## #9 — leniz, 2012-10-05T12:16Z

Ja, fnamn kan vara så som du skriver som exempel.

Det jag vill med den är att varje ord ska skickas in i array(orden) så att det blir lika många i antal som motsvarande ? som jag har i min sql sats, vilket alltså är ett per ord som finns i den där strängen fnamn.
Men den vill som sagt bara tolka det jag har i "orden" som ett värde och inte flera i min sista rad: set x = command.Execute(sql, array(orden))

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

## #10 — leniz, 2012-10-05T12:21Z

noshornin, ja det tycker jag med men då tolkar den det som ett ord och inte 3 ord :-(

Har jag 3 st värden (?) i min sql sats och skickar iväg som du skriver med array(strangen) så får jag felmeddelande "Det har inte angetts något värde för en eller flera nödvändiga parametrar."
Byter jag ut set x = command.Execute(sql, array(orden)) och istället skriver in orden manuellt i koden så att jag alltså skriver så här:
set x = command.Execute(sql, array(fredri,anders,rickard)) så fungerar det som det ska.
Så det jag inte förstår är varför den tolkar min "orden" som ju innehåller precis samma sak som ett ord, men inte när jag skriver in det manuellt.

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

## #11 — voigtann1, 2012-10-05T12:22Z

```
orden= split("Fredrik Anders Calle") ' Array("Fredrik", "Anders", "Calle")
```

```
set x = command.Execute(sql, orden)
```

om orden är en array (vilket den bli om du kör split) är det ända du behöver göra i så fall...

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

## #12 — leniz, 2012-10-05T12:33Z

Tack Voigtann men det blir tyvärr samma felmeddelande om jag tar bort split och använder 
set x = command.Execute(sql, orden)
D.v.s. "Det har inte angetts något värde för en eller flera nödvändiga parametrar."

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

## #13 — leniz, 2012-10-05T12:35Z

Ursäkta, jag som läste fel. Split skulle ju inte bort. Nu fungerar det! Stort tack! :-)

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

## #14 — voigtann1, 2012-10-05T12:36Z

vad är command för objekt?

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

## #15 — leniz, 2012-10-05T12:39Z

server.createobject("ADODB.command")

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/190518-problem-med-arrayer
