---
title: "problem med uppdatering"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/6824-problem-med-uppdatering"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "erka"
published: "2000-10-04T15:25:00.000Z"
updated: "2000-10-08T18:14:00.000Z"
replies: 38
views: 619
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/6824-problem-med-uppdatering"
---

# problem med uppdatering

_Sida 1 av 2._

## #1 — erka, 2000-10-04T15:25Z

Hejsan!

jag tänkte att jag skulle ha 10 st säkra kort i en databas som bara ska ändras en gång i månaden. Då tänkte jag att de funkar med update.

jag har 2 fält i tabellen, de är namn (text) samt id(tal)

jag plockar ut dem med en text box med start värdet namn samt en liten textbox revid med numret (1-10) sedan en loop på det för att få fram alla tio. 

Jag ska ju bara ändra namnet inte nummret men kom inte på någe annat sätt att få det med.

I alla fall är update koden

```
SQLStmt = "UPDATE LISTAN SET namn='"&request.form("namn")&"' WHERE Id="& request.form("id")
```

nu får jag felmedelandet

Microsoft OLE DB Provider for ODBC Drivers fel '80040e14' 

\[Microsoft\]\[Drivrutin för ODBC Microsoft Access\] Syntaxfel (komma) i frågeuttrycket 'Id=1, 2, 3, 4, 5, 6, 7, 8, 9, 10'. 

/match_klar/admin/andravideo_app.asp, rad 13 

någon som vet..

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

## #2 — @nders, 2000-10-04T15:57Z

om du menar att du vill uppdatera namn på alla id'n mellan 1 och 10 till exempel, så får man använda operatorn in.

```
SQLStmt = "UPDATE LISTAN SET namn='"&request.form("namn")&"' WHERE Id in ("& request.form("id") & ")"
```

hoppas jag inte missförstod dig...

mvh

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

## #3 — erka, 2000-10-05T14:02Z

Nja du förstod min nog lite rätt i alla fall. Tack för hjälpen hitills.

Men nu skriver han in de i alla namn fält i databasen. Om jag skriver på 1:an tex Ugly Cayote och på 2:an Ninja Mission Då fyller han i dem i alla fält.

Nu är koden

```
<%Dim Connect, conntemp, DSNtemp

Set Connect=server.CreateObject("adodb.connection")
DSNtemp="DRIVER={Microsoft Access Driver (*.mdb)}; "
DSNtemp=dsntemp & "DBQ=" & server.mappath("../db/video.mdb")
Connect.Open DSNtemp

SQLStmt = "UPDATE LISTAN SET namn='"&request.form("namn")&"' WHERE Id in ("& request.form("id") & ")"

SET SQLStmt = Connect.Execute(SQLStmt)

Connect.close
set Connect=nothing

%>
```

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

## #4 — erka, 2000-10-05T16:17Z

Kan man göra så ? eller vad är det som jag gör så konstigt eftersom det borde fungera..

jag vill helt enkelt skriva över 10 poster fast id:t ska vara samma..
Olika innehåll i de tio olika posterna..

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

## #5 — erka, 2000-10-05T17:32Z

Nu har jag denna kod

```
SQL = "UPDATE LISTAN SET namn = '" & namnet & "' where id in ("& idet & ") "
```

idet är request.form(id2) och namnet är request.form(namn2)

Men den skriver över alla kollumer och skriver all information i varje enskild kolumm..

Grrrrr..

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

## #6 — jispir, 2000-10-05T17:46Z

du har glömt = tecknet efter where id
nu i den senaste koden!

Är det slarv fel eller?

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

## #7 — erka, 2000-10-05T17:50Z

```
SQL = "UPDATE LISTAN SET namn = '" & namnet & "' where id = in ("& idet & ")"
```

ger felmedelandet

```
Microsoft OLE DB Provider for ODBC Drivers fel '80040e14' 

[Microsoft][Drivrutin för ODBC Microsoft Access] Syntaxfel (operator saknas) i frågeuttrycket 'id = in (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)'. 

/match_klar/admin/andravideo_app.asp, rad 14
```

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

## #8 — @nders, 2000-10-05T18:04Z

du får inte ha både = och in.

skall du ha kommaseparerade värden skall du köra endast in.

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

## #9 — erka, 2000-10-05T18:22Z

SQL = "UPDATE LISTAN SET namn = '" & namnet & "' where id = ("& idet & ")"

fungerar ju inte heller..

hmmm...ingen som kan hjälpa mig med lite kod kanske...

har prövat alla möjliga men inget fungerar

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

## #10 — erka, 2000-10-05T22:04Z

Anders , exakt vad gör IN ?

måste jag använda det när jag ska uppdatera 10 olika rader på samma gång och har kvar varje rads specifika id ?

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

## #11 — erka, 2000-10-05T22:21Z

Kan problemet ligga i att på första sidan där jag loopar upp tio stycken rader med en textbox för id och en textbox för titeln(namn) på varje rad, har textboxarna namnen id2 och namn2. De blir ju samma namn på alla textboxar.

men egentligen borde det inte vara något problem med det...eller?

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

## #12 — jispir, 2000-10-05T22:50Z

sorry erka att jag virrade till dig ännu mer såg inte att det var IN ni körde med. \*skäms\* :r

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

## #13 — erka, 2000-10-05T23:52Z

Har ju kommit på vad det är för fel..Dumma mig, men det gör inget för nu uppstod ett annat problem..

Det var det att alla textboxar fick samma namn genom loopningen på första sidan där man skriver in de nya namnen.
Om jag response.writar sql:en får jag ju

```
UPDATE listan SET namn = 'NINJA, SHIT, CRACK, BUT, AMERICAN, SVERIGE, SKIT, MIMM, HEHEH, DISS' WHERE id= '1, 2, 3, 4, 5, 6, 7, 8, 9, 10'
```

 oroa er inte över de konstiga namnen, jag skrev bara lite svammel

Jag måste ju splitta upp alla värden med en array och sedan loppa den och köra en update

Men hur fan gör man ???

MyArray=split(namn2, ",") så splittar jag den eller hur ? men sen då ? mycket tacksam, mycket..

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

## #14 — emission, 2000-10-06T00:14Z

```
namnarr=split(request.form("namn"),",")
idarr=split(request.form("id"),",")

for i=0 to ubound(namnarr)
SQLStmt="UPDATE LISTAN SET namn='" & namnarr(i) &"' WHERE Id=" & idarr(i)
Connect.Execute SQLStmt
next
```

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

## #15 — erka, 2000-10-06T00:27Z

Tack så mycket..bara en liten sak till, jag får det inte att fungera..

antar att koden ska se ut så här..

```
<%Dim conntemp, DSNtemp,objconn, connect, namnarr,idarr

Set Connect=server.CreateObject("adodb.connection")
DSNtemp="DRIVER={Microsoft Access Driver (*.mdb)}; "
DSNtemp=dsntemp & "DBQ=" & server.mappath("../db/video.mdb")
Connect.Open DSNtemp

namnarr=split(request.form("namn2"),",")
idarr=split(request.form("id2"),",")
for i=0 to ubound(namnarr)
SQLStmt="UPDATE LISTAN SET namn='" & namnarr(i) &"' WHERE Id='" & idarr(i) 
Connect.Execute(SQLStmt)
next

%>
```

båda fälten är text i databasen, får ändå felmedelandet

```
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Drivrutin för ODBC Microsoft Access] Syntaxfel i sträng i frågeuttrycket 'Id='1'.
```

tack du store

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

## #16 — PatrikB, 2000-10-06T06:12Z

Hello,

prova denna kod:

```
<%Dim conntemp, DSNtemp,objconn, connect, namnarr,idarr
Set Connect=server.CreateObject("adodb.connection")
DSNtemp="DRIVER={Microsoft Access Driver (*.mdb)}; "
DSNtemp=dsntemp & "DBQ=" & server.mappath("../db/video.mdb")
Connect.Open DSNtemp

namnarr=split(request.form("namn2"),",")
idarr=split(request.form("id2"),",")
for i=0 to ubound(namnarr)
SQLStmt="UPDATE LISTAN SET namn='" & namnarr(i) &"' WHERE Id='" & idarr(i) & "'" 
Connect.Execute(SQLStmt)
next
%>
```

cya,
PatrikB

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

## #17 — erka, 2000-10-06T13:17Z

Brimba, körde din kod helt och hållet. Fick ETT medelande jag ALDRIG fått innan, vad betyder..

```
Feltyp:
Körningsfel i Microsoft VBScript (0x800A0009)
Felaktigt matrisindex: 'i'
/match_klar/admin/andravideo_app.asp, line 9
```

hjälp, jag sjunker..tack för hjälpten hitills, ni är klippor

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

## #18 — erka, 2000-10-06T13:39Z

menar ju patrikb !...=)

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

## #19 — erka, 2000-10-06T13:43Z

Emission: Jag får ju felmedelandet 

```
Syntaxfel i sträng i frågeuttrycket 'Id= '1'.
```

 med din kod.

Är det inte så att han söker efter ett med värdet 'värde', varför har du inte sluttaggar i din kod..

här då

```
WHERE Id= '" & idarr(i)
```

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

## #20 — @nders, 2000-10-06T13:47Z

patriks kod kommer tyvärr sunka ur om det inte skickas en kommaseparerad lista. skickas endast ett värde så blir det ju ingen array av det hela.

man får då köra en ifsats runt som kollar av om det finns kommatecken i variabeln du får. 

skickar du en kommaseparerad lista?

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/6824-problem-med-uppdatering  
Nästa sida: https://www.webforum.nu/amne/asp/6824-problem-med-uppdatering/page2.md
