---
title: "uppdatera antalet"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/121165-uppdatera-antalet"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "cyeclone"
published: "2005-01-27T13:56:21.000Z"
updated: "2005-01-27T14:41:29.000Z"
replies: 14
views: 450
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/121165-uppdatera-antalet"
---

# uppdatera antalet

## #1 — cyeclone, 2005-01-27T13:56Z

Hejsan jag skulle nu behöva ha lite hjälp igen!
Skulle vara jätte snällt om någon kunnde hjälpa mig!

Jag vill ha det så att om man redan har en produkt med produktidet "22" i sin kundvagn och sedan lägger till en 5 stycken till produket med produktidet "22" så ska bara antalet uppdateras. Har försökt lite med denna kod.

KID = KundID
PID = ProduktID

Hoppas ni fattar nått av mig kod :)

```
<% Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath(" "&databas&" ") 

	Set RecSet = Server.CreateObject("ADODB.Recordset")
   Visa = "SELECT * FROM Kundvagn WHERE KID = " & Trim(Session("KID")) & " "
   RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic %>
<%
If Request.Form("PID") = RecSet("PID") Then
Set Connect = Server.CreateObject("ADODB.Connection")
  	Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath(" "&databas&" ")
  	Set RecSet = Server.CreateObject("ADODB.Recordset")
	lol = "Select * FROM Kundvagn WHERE KID = " & Trim(Session("KID")) & " AND WHERE PID = " & Request.Form("PID") & " "
	RecSet.Open lol, Connect, 1, 3
	
Dim antalnu, antal, antal2
	antalnu = RecSet("Antal")
	antal2 = Request.Form("Antal")
	Antal = antalnu + antal2
	
	RecSet.update
	RecSet("antal") = Antal
	RecSet.Update
	RecSet.Close

Else
%>
```

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

## #2 — cyeclone, 2005-01-27T14:02Z

Re: uppdatera antalet

EDIT:
If Request.Form("PID") = RecSet("PID") Then

Den kan ju inte fungera komm jag på, eftersom det finns ett X antal PID för just det användar ID:et...

Nån som fattar hur jag menar och har något förslag ?

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

## #3 — @nders, 2005-01-27T14:02Z

Något sånt här kanske kan funka efter det att du skrivit klart INSERT, och sånt:

```
<% 
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath(" "&databas&" ") 
Visa = "SELECT * FROM Kundvagn WHERE KID = " & Trim(Session("KID")) & " AND PID = " & Request.Form("PID")
set RecSet = Connect.Execute(Visa)

If not RecSet.EOF then
 	' produkten finns, gör update!
	strSQL = "UPDATE Kundvagn SET antal = antal + " & Request.Form("antal") & " WHERE KID = " & Trim(Session("KID")) & " AND PID = " & Request.Form("PID") & " "
	Connect.execute strSQL,,128
Else
	'produkten finns inte, gör insert!
	strSQL = "INSERT INTO Kundvagn ..............."
	Connect.execute strSQL,,128
End if

RecSet.Close
Set RecSet = nothing
Connect.Close
set Connect = nothing
%>
```

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

## #4 — @nders, 2005-01-27T14:03Z

Eller ännu hellre:

```
<% 
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath(" "&databas&" ") 

strSQL = "UPDATE Kundvagn SET antal = antal + " & Request.Form("antal") & " WHERE KID = " & Trim(Session("KID")) & " AND PID = " & Request.Form("PID") 
Connect.execute strSQL,lngRa,128

if lngRa = 0 then
	'produkten finns inte, gör insert!
	strSQL = "INSERT INTO Kundvagn ..............."
	objConn.execute strSQL,,128
End if

Connect.Close
set Connect = nothing
%>
```

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

## #5 — cyeclone, 2005-01-27T14:16Z

kollade på ditt första exempel lite,
fick felmedelandet
"Object required: 'objConn' " på denna rad:

```
objConn.execute strSQL,,128
```

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

## #6 — @nders, 2005-01-27T14:18Z

Sorry.

Se till att det används samma namn på connectionobjektet på alla ställen.

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

## #7 — cyeclone, 2005-01-27T14:19Z

aha, jag ändra till 	
set RecSet = Connect.Execute(strSQL) 
Och fick det att fungera ;)

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

## #8 — @nders, 2005-01-27T14:20Z

Var ändrade du till det?

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

## #9 — cyeclone, 2005-01-27T14:22Z

Min slutgiltiga kod:

```
<% 
	Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath(" "&databas&" ") 
	Visa = "SELECT * FROM Kundvagn WHERE KID = " & Trim(Session("KID")) & " AND PID = " & Request.Form("PID")
	set RecSet = Connect.Execute(Visa)

If not RecSet.EOF then
 	' produkten finns, gör update!
	strSQL = "UPDATE Kundvagn SET antal = antal + " & Request.Form("antal") & " WHERE KID = " & Trim(Session("KID")) & " AND PID = " & Request.Form("PID") & " "
	set RecSet = Connect.Execute(strSQL)
	
		session("kundmess") = "Du har uppdaterat din kundvagn med "& Request.Form("antal") &" st "& Request.Form("ProduktNamn") &"."
		response.Redirect "index.asp?page=kundvagn"
Else
	Set Connect = Server.CreateObject("ADODB.Connection")
  		Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath(" "&databas&" ")
  		Set RecSet = Server.CreateObject("ADODB.Recordset")
		lol = "Select * FROM Kundvagn"
		RecSet.Open lol, Connect, 1, 3
	
		RecSet.addnew
		Recset("PID") = Request.Form("PID")
		Recset("ProduktNamn") = Request.Form("ProduktNamn")
		Recset("KID") = Request.Form("KID")
		Recset("Pris") = Request.Form("Pris")
		Recset("antal") = Request.Form("antal")
		RecSet("Datum") = Date()
		RecSet.Update
		RecSet.Close

	session("kundmess") = "Du har lagt till "& Request.Form("antal") &" st "& Request.Form("ProduktNamn") &" i din kundvagn."
	response.Redirect "index.asp?page=kundvagn"
	
End if
%>
```

Ser du var jag ändrade det ?
Tack för hjälpen!

Mvh,
Rickard Bjerkenius

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

## #10 — @nders, 2005-01-27T14:24Z

Ja, jag ser, men jag förstår inte varför!

Du ska inte skapa ett recordset när du inte vill ha data tillbaka. Byt tillbaks, se bara till att du har "rätt" namn på connectionobjektet!

Sedan:

\*) Skapa inte ett nytt connection-objekt när du ska lägga in data. Du har ju redan ett!

\*) Dags att lära sig UPDATE och INSERT kanske?

Mvh

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

## #11 — cyeclone, 2005-01-27T14:27Z

så ska ändra denna rad:
set RecSet = Connect.Execute(strSQL)
Till:
Connect.execute strSQL,,128
?

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

## #12 — @nders, 2005-01-27T14:27Z

Ja

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

## #13 — cyeclone, 2005-01-27T14:30Z

okej!
Det fungerade fin fint! Tack så mycket för hjälpen @nders!

\<% 
	Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "driver={Microsoft Access Driver (\*.mdb)}; DBQ=" & Server.MapPath(" "&databas&" ") 
	Visa = "SELECT \* FROM Kundvagn WHERE KID = " & Trim(Session("KID")) & " AND PID = " & Request.Form("PID")
	set RecSet = Connect.Execute(Visa)

If not RecSet.EOF then
 	' produkten finns, gör update!
	strSQL = "UPDATE Kundvagn SET antal = antal + " & Request.Form("antal") & " WHERE KID = " & Trim(Session("KID")) & " AND PID = " & Request.Form("PID") & " "
	Connect.execute strSQL,,128

	
		session("kundmess") = "Du har uppdaterat din kundvagn med "& Request.Form("antal") &" st "& Request.Form("ProduktNamn") &"."
		response.Redirect "index.asp?page=kundvagn"
Else
' produkten finns inte, skapa en ny

	Set Connect = Server.CreateObject("ADODB.Connection")
  		Connect.Open "driver={Microsoft Access Driver (\*.mdb)};dbq=" & Server.MapPath(" "&databas&" ")
  		Set RecSet = Server.CreateObject("ADODB.Recordset")
		lol = "Select \* FROM Kundvagn"
		RecSet.Open lol, Connect, 1, 3
	
		RecSet.addnew
		Recset("PID") = Request.Form("PID")
		Recset("ProduktNamn") = Request.Form("ProduktNamn")
		Recset("KID") = Request.Form("KID")
		Recset("Pris") = Request.Form("Pris")
		Recset("antal") = Request.Form("antal")
		RecSet("Datum") = Date()
		RecSet.Update
		RecSet.Close

	session("kundmess") = "Du har lagt till "& Request.Form("antal") &" st "& Request.Form("ProduktNamn") &" i din kundvagn."
	response.Redirect "index.asp?page=kundvagn"
	
End if
%\>

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

## #14 — @nders, 2005-01-27T14:35Z

Du noterade mina tillägg i [detta inlägg](http://www.webforum.nu/showthread.php?s=&postid=992108#post992108)?

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

## #15 — cyeclone, 2005-01-27T14:41Z

ja, förlåt... :( 
får väll ta och ändra lite då.... :P

Är ganska ny inom asp, kanske bara kodat 6 månader :(

Men tack för tipset, jag fattar iaf vad du menar! tro jag :P

Ha det bra!

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/121165-uppdatera-antalet
