---
title: "Update problem"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/154621-update-problem"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "dirigenten"
published: "2006-12-08T08:00:00.000Z"
updated: "2006-12-08T13:27:44.000Z"
replies: 8
views: 331
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/154621-update-problem"
---

# Update problem

## #1 — dirigenten, 2006-12-08T08:00Z

Försöker göra en update men måste missa något...
\-------------------------------------------------------------------
Dim MinCon,rs,SQL,idnummer
idnummer= Request.form("ID")
Set MinCon = Server.CreateObject("ADODB.Connection")
    Set rs = Server.CreateObject("ADODB.Recordset")
    MinCon.Open "Driver={Microsoft Access Driver (\*.mdb)}; DBQ=c:\\inetpub\\wwwroot\\xxxxxxxx\\db\\databasen.mdb"
    
*MinCon.Execute "Update tabellen Set kolumn = '" & Request.Form("kolumn")*   & "' WHERE ID = " & idnummer
\-------------------------------------------------------------------
Felmeddelandet:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14' 

\[Microsoft\]\[ODBC Microsoft Access Driver\] Syntax error (missing operator) in query expression 'ID ='. 

xxxxxxxx/xxxx.asp, line 17 
\------------------------------------------------------------------------
Rad 17 markerad

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

## #2 — @nders, 2006-12-08T08:04Z

Felmeddelandet tyder på att variabeln *idnummer* är tom, alltså skickas inget från formuläret i fältet *ID*.

Regel 1 om man har problem med SQL-frågor: skriv ut den färdiga SQL-frågan med response.write istället för att exekvera den, så får man se om det saknas något värde, eller om något annat ser konstigt ut.

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

## #3 — dirigenten, 2006-12-08T09:56Z

Ok. Hur går jag tillväga för att skriva ut den.
Kollat så att jag får info från formuläret med \<%=request.form("id")%\> och då upptäckte jag en liten miss   :r , men nu får jag iaf fram ett värde. Dock får jag felmeddelande iaf ,ser ut enl. nedan:
\-------------------------------------------------------------
Microsoft OLE DB Provider for ODBC Drivers error '80040e14' 

\[Microsoft\]\[ODBC Microsoft Access Driver\] Syntax error in UPDATE statement. 

/xxxxx/xxx.asp, line 17

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

## #4 — @nders, 2006-12-08T10:32Z

1) Lägg SQL-frågan i en variabel, så är det lättare och sexigare.

```
strSQL = "Update tabellen Set kolumn = '" & Request.Form("kolumn") & "' WHERE ID = " & idnummer
```

Sedan kan du välja om du vill skriva ut:

```
Response.Write strSQL 
Response.End
```

, eller exekvera:

```
MinCon.Execute strSQL
```

\- - - - - - - - 
Om vi ska kunna hjälpa dig med ditt nya felmeddelande måste vi se den färdiga SQL-frågan.

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

## #5 — voigtann1, 2006-12-08T10:33Z

som @nders skriv:
vad änder om du prova skriva ut hela SQL strängen med en response.write

kollar om ID är ett tal / räknare i din databas?

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

## #6 — dirigenten, 2006-12-08T12:03Z

Kör jag response.write StrSQL får jag:

Update rapport Set antal= '14',aktiv= 'Ja',Datum= '2006-12-08', Övrigt = 'Inget ' WHERE ID = '179

Byter jag ut response.write mot MinCon.Execute blir det felmeddelande

\-----------------------------------------------
Microsoft OLE DB Provider for ODBC Drivers error '80040e14' 

\[Microsoft\]\[ODBC Microsoft Access Driver\] Syntax error in UPDATE statement

\-----------------------------------------------
StrSQL = "Update rapport Set antal= '" & Request.Form("antal") & \_
"', aktiv= '" & Request.Form("aktiv")  & "', Datum= '" & Request.Form("Datum")& \_
"', Övrigt = '" & Request.Form("ovrigt")  & "'  WHERE ID = '" & idnummer

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

## #7 — @nders, 2006-12-08T12:07Z

Du har en apostrof precis före ditt ID-värde i SQL-frågan. Inte ska den vara där?

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

## #8 — J.N., 2006-12-08T12:55Z

HEJ!

Som @nders skriver, tillägger dessutom att du ska ha # runt datumvärden, och inte fnuttar. fält=#" & värde & "#

Jag är även skeptisk mot att kalla ett fält för 'Övrigt', men det kanske fungerar.

> **dirigenten skrev:**
>
> Byter jag ut response.write mot MinCon.Execute blir det felmeddelande

Ja, för då kör du 'strSQL', som ju är frågan, precis som du gjorde i början. Anledningen till att man gör såhär är för att se vad man håller på med!

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

## #9 — dirigenten, 2006-12-08T13:27Z

Fixat och trixat och nu verkar det fungera.
Visade sig dessutom att ett fält som hette "01-12" störde så det får heta 0112. Tack för hjälpen!

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

---

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