---
title: "Array"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/80653-array"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "pellsäter"
published: "2003-06-26T11:11:08.000Z"
updated: "2003-06-27T11:55:19.000Z"
replies: 20
views: 540
page: 1
pages: 2
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/80653-array"
---

# Array

_Sida 1 av 2._

## #1 — pellsäter, 2003-06-26T11:11Z

Jag får inte i smaker och storlekar i min DB
Jag har i sidan innan ett textfält där man skriver in olika smakid och storleksid för en produkt och detta ska in i den tabell som heter rblRel..... 

```
<%
tblsmak = Split(Request.form("tblsmak"),",") 

For x = 0 To UBound(tblsmak) 
Response.Write tblsmak(x) 
Next

tblstorlek = Split(Request.form("tblstorlek"),",") 

For x1 = 0 To UBound(tblstorlek) 
Response.Write tblstorlek(x1) 
Next

%>

<%
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "DSN=xxx"
sql2 = "Insert Into tblrel (smakid,storleksid,prodid) Values (" & Trim(tblsmak(x)) & "," & Trim(tblStorlek(x1)) & "," & prodid & ")"
conn.Execute(sql2)
conn.close
%>
```

Detta felet får jag

Microsoft VBScript runtime error '800a0009' 

Subscript out of range: 'x' 

/admin/admin_lagg_till_ok.asp, line 63

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

## #2 — Vide, 2003-06-26T11:17Z

```
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "DSN=xxx"
for x = 0 to ubound(tblsmak)
sql2 = "Insert Into tblrel (smakid,storleksid,prodid) Values (" & Trim(tblsmak(x)) & "," & Trim(tblStorlek(x)) & "," & prodid & ")"
conn.Execute(sql2)
next
conn.close
```

Förutsatt att det är lika många element i båda arrayerna.

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

## #3 — pellsäter, 2003-06-26T11:26Z

nej det kan var olika många smaker och olika många storlekar

 och var får du in storlekarna?

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

## #4 — Vide, 2003-06-26T12:25Z

Hur kan du då ha dom på samma post?
Om det är olika antal så skulle jag ha två olika tabeller.

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

## #5 — pellsäter, 2003-06-26T12:32Z

va?
Jag har en tabell med storlekar det är väl 6st oliak sedan en med smaker det är 12st.... men sedan har jag en tabell som bara innehåller relationer och det är i den jag vill ha in detta

så här ser DB ut

PRODUKTER
prodID
vara
smak (JA)

TBLSMAKER
smakID
smak

TBLSTORLEKAR
storleksID
storlek

TBLREL
prodID
smakID
storleksID

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

## #6 — Vide, 2003-06-26T13:22Z

Okej, så kommer varje produkt att ha ett smakID och ett storleksID?

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

## #7 — pellsäter, 2003-06-26T13:36Z

inte nödvändigtvis... men jag gjorde om det nu så jag har en relataionstabell för smakerna och en för storlekarna

s

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

## #8 — pellsäter, 2003-06-26T14:04Z

Lyckades få in både smaker och storlekar men när jag vill kunna ta bort en smak från en produkt så funkar det inte med denna update. nån som ser varför

```
<%
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "DSN=xxx"
sql1 = "Select prodid from produkter where item = '"& item &"' and prodnummer = "& prodnummer
Set rs = Server.CreateObject("ADODB.Recordset")
rs.open sql1, conn
response.write prodid
%> <%
pprodid = rs("prodid")
%> <%
rs.close
conn.close%>

<%
tblsmak = Split(Request.form("tblsmak"),",") 
response.write tblsmak
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "xxx"
for x = 0 to ubound(tblsmak)
sql2 = "Update tblrel (smakid) Values (" & Trim(tblsmak(x)) & ") where prodid = "&pprodid
conn.Execute(sql2)
next
conn.close
%>
```

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

## #9 — pellsäter, 2003-06-26T14:34Z

ändarade SQL-satsen till

sql2 = "Update tblrel Set smakid = " & Trim(tblsmak(x)) & " where prodid = "&pprodid

men det ändras inte ändå

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

## #10 — pellsäter, 2003-06-27T06:50Z

ingen som nån idé varför?

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

## #11 — Lukaspojken, 2003-06-27T08:03Z

Vad får du ut för svar om du bara skriver ut, response.write UBound(tblsmak)

Kanske ska du kolla om tblsmak är en array först innan du loopar IF isArray(tblsmak) THEN
 For....

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

## #12 — pellsäter, 2003-06-27T08:15Z

jag får -1

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

## #13 — Lukaspojken, 2003-06-27T08:21Z

Då är tblsmak ingen array...därför måste du köra IF isArray(tblsmak) THEN

I annat fall får du leva med felmeddelandet :)

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

## #14 — pellsäter, 2003-06-27T08:24Z

La in denna kod men det uppdaterar inte db ändå??

```
<%
tblsmak = Split(Request.form("tblsmak"),",") 
response.write ubound(tblsmak)
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "DSN=xxxx"
IF isArray(tblsmak) THEN 
for x = 0 to ubound(tblsmak)
sql2 = "Update tblrel Set smakid = " & Trim(tblsmak(x)) & " where prodid = '"&pprodid&"'"

conn.Execute(sql2)
next

conn.close
end if

%>
```

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

## #15 — Vide, 2003-06-27T08:27Z

Vart för du prodid ifrån och är det verkligen ett textfält?

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

## #16 — pellsäter, 2003-06-27T08:41Z

PProdid får jag från en annan koppling till produktdb.... nej det är ignet texxtfält men jag provade att skriva

where prodid = "&pprodid

och det gör ingen skillnad men det ska väl stå som det ovan här väl?

och skriver jag ut pprodid så stämmer det

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

## #17 — Lukaspojken, 2003-06-27T10:27Z

Vad får du för värde om du skriver

response.write Request.form("tblsmak")

samt

response.write prodid

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

## #18 — pellsäter, 2003-06-27T11:10Z

jag får ingenting... och jag fattar inte varför.. i sidan innan har jag detta

\<input type="text" name="tblSmak" size="3" class="thisform"\>

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

## #19 — pellsäter, 2003-06-27T11:13Z

hittade felet.... jag hade inte lagt över rätt version av sidan.. men nu blir problemet att om jag har haft 5 olika smaker tidigare och jag bara ska ha en smak så ersätter den alla de tidigare 5 med den nya smaken 5 ggr

tex. 
tidigare har produkten haft jordgubb och choklad som smak
Nu ska den bara ha jordgubb då läggs jordgubb i 2 ggr

eller

tidigare har produkten haft jordgubb som smak och nu ska den ha choklad, jorgubb och vanilj.. då läggs bara vanilj in 

RelID	ProdID	SmakID
106	199	99
107	199	99
108	199	99
109	199	99

så här blir deti tblRel om jag lägger in smakid 99 och produkten tidare haft 4 smaker... lägger jag in 99 vill jag bara ha med den en gång ju....

och lägger jag in smakid 1,2,3 så vill jag bara ha dessa tre med i DB

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

## #20 — Lukaspojken, 2003-06-27T11:38Z

Detta beror troligtvis på Where-satsen där du bara använt prodid.

Ett sätt du skulle kunna lösa detta på är att du först kör

```
IF isArray(tblsmak) THEN 
sql2 = "Delete tblrel Where prodid = " & prodid
conn.Execute(sql2)

for x = 0 to ubound(tblsmak)
sql2 = "INSERT INTO tblrel (smakid, prodid) Values (" & Trim(tblsmak(x)) & ", prodid)
conn.Execute(sql2)

next
End if
```

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/80653-array  
Nästa sida: https://www.webforum.nu/amne/asp/80653-array/page2.md
