---
title: "+ 1 i databas (räknare)"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/62477-1-i-databas-räknare"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Lazerzubb"
published: "2002-12-17T20:59:23.000Z"
updated: "2002-12-19T23:03:03.000Z"
replies: 10
views: 311
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/62477-1-i-databas-räknare"
---

# + 1 i databas (räknare)

## #1 — Lazerzubb, 2002-12-17T20:59Z

Behöver bara lite hjälp har.

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

	Set RecSet = Server.CreateObject("ADODB.Recordset")
   Addera = "SELECT * FROM info"

   RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic

	RecSet.AddNew

	RecSet("aid") = Request.QueryString("aid")
	RecSet("site") = Request.QueryString("site")

	RecSet.Update
	RecSet.Close
	Connect.Close %>
```

aid, är en specific id (i access), jag skulle behöva en script typ:

If aid exists then +1 on number (update någonting)
If not then 1

Enkel räknare alltså, om det redan finns en kolumn för specifika id'et plusa 1 i "raknare" (Namnet på fältet i access)

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

## #2 — LarsG, 2002-12-17T21:10Z

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

Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM info where aid " & _
Request.QueryString("aid") 

RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
if recset.eof then
	RecSet.AddNew
	RecSet("site") = Request.QueryString("site")
        Recset("raknare") = 1
else
        Recset("raknare") = clng(recset("raknare")) + 1
end if
RecSet.Update
RecSet.Close
Connect.Close 
%>
```

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

## #3 — theland, 2002-12-17T21:51Z

objConn.Execute "UPDATE Table SET Col2 = Col2+1 WHERE Col1 = 1"

Att använda SQL-frågor istället för att skriva till ett recordset är bättre rent  prestandamässigt ;-)

/TobiasT
<http://webbhotell.theland.se> \- varför betala mer än nödvändigt?

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

## #4 — Lazerzubb, 2002-12-19T20:12Z

Skapade en ny databas istället.
Men den skriver inte till ett nytt "aid" för varje nytt ID i QueryStringen, utan fortsätter bara + på det första aid.

```
<html>
<%	Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=track.mdb"

Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM track2"

RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
if recset.eof then
	RecSet.AddNew
	RecSet("aid") = Request.QueryString("id")
        Recset("raknare") = 1
else
        Recset("raknare") = clng(recset("raknare")) + 1
end if
RecSet.Update
RecSet.Close
Connect.Close 
%>

</HTML>
```

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

## #5 — solbulle, 2002-12-19T20:39Z

Vad var det för fel på LarsGs script?

Du måste i din sql-fråga ställa villkoret "where aid" osv, som LarsG gjort.

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

## #6 — Lazerzubb, 2002-12-19T20:45Z

ADODB.Recordset error '800a0bb9' 

Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another. 

/raknare.asp, line 9 

Problemet, är att jag inte har AID, det hämtas från QueryStringen (?ID=), sedan dumpade jag "Site"

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

## #7 — solbulle, 2002-12-19T20:52Z

```
Addera = "SELECT * FROM info where aid " & _
Request.QueryString("ID")
```

Eller missar jag något?

Annars kan iofs felmeddelandet tyda på att du behandlar tal som text eller vice versa.

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

## #8 — Lazerzubb, 2002-12-19T20:56Z

Bytta namn på databasen, och fälten är "number".

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

Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM track2 where aid " & _
Request.QueryString("id") 

RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
if recset.eof then
	RecSet.AddNew
	RecSet("aid") = Request.QueryString("id")
        Recset("raknare") = 1
else
        Recset("raknare") = clng(recset("raknare")) + 1
end if
RecSet.Update
RecSet.Close
Connect.Close 
%>
```

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

## #9 — LarsG, 2002-12-19T21:08Z

\<%	

```
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=track2.mdb"

Set RecSet = Server.CreateObject("ADODB.Recordset")
if  Request.QueryString("id") <> "" then
   Addera = "SELECT * FROM track2 where aid = " & _
   Request.QueryString("id") 
else
   Addera = "SELECT * FROM track2 where 1=2"
end if
RecSet.Open Addera, Connect, 3,3
if recset.eof then
	RecSet.AddNew
	RecSet("aid") = Request.QueryString("id")
        Recset("raknare") = 1
else
        Recset("raknare") = clng(recset("raknare")) + 1
end if
RecSet.Update
RecSet.Close
Connect.Close 
%>
```

Jag hade missat ett = i min första post. En orsak till meddelandet kan vara att adLockOptimistic etc inte är definierade, därför bytte jag dom.

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

## #10 — Lazerzubb, 2002-12-19T21:10Z

;) you know it, Tack.

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

## #11 — solbulle, 2002-12-19T23:03Z

Herre min skapare! Å inte såg jag det heller, men man kan ju inte tvivla på LarsG, ;)  eller?  :birp

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/62477-1-i-databas-räknare
