---
title: "BOF och EOF"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/69261-bof-och-eof"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "DiDjo"
published: "2003-02-24T18:44:47.000Z"
updated: "2003-03-06T19:00:57.000Z"
replies: 27
views: 581
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/69261-bof-och-eof"
---

# BOF och EOF

_Sida 1 av 2._

## #1 — DiDjo, 2003-02-24T18:44Z

Jag får detta meddelande.

```
ADODB.Field error '80020009' 

Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record. 

/!egna/index.asp, line 0
```

Och den visar allt fram tills denna kod så den måste vara felet!

```
<%Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("databas")
Set rs = Server.CreateObject("ADODB.Recordset")
Säkert Felet!--->Addera = "SELECT * FROM didjo"
rs.Open Addera, Connect, 3, 3 
%>
```

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

## #2 — LarsG, 2003-02-24T19:10Z

Det är inte där det är fel, lägg till en kontroll efter open

```
rs.Open Addera, Connect, 3, 3 
if not rs.eof then 
' all din kod här 
end if
```

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

## #3 — Sebbe, 2003-02-24T19:10Z

Kan du visa lite mer av koden? (Under det du har skrivit nu)

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

## #4 — DiDjo, 2003-02-24T19:15Z

Det ända jag vill göra är att få ut det som står i kolumnen medlemmar i tabellen didjo! Jag har skrivit \<%=rs("medlemmar")%\> det är det ända och sne har jag stängt rs och connect!

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

## #5 — Sebbe, 2003-02-24T19:16Z

Då är det bara att använda det som LarsG skrev. (Vilket iofs är en självklarhet ;))

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

## #6 — DiDjo, 2003-03-03T19:13Z

Hej! Ledsen att jag inte svarat! Har ny dator och var lite problem med den! Men nu fungerar allt! Så här blir felet nu:

```
error '80020009' 
Exception occurred. 

/!egna/loggain.asp, line 53
```

Här e koden:

```
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("blablabla något här... .mdb")
Set rs1 = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM didjo"
rs1.Open Addera, Connect, 3, 3 

53-->rs1("inlogg") = rs1("inlogg") +1

response.redirect("start.asp")
```

Tabelen heter Didjo och kolumnen inlogg men jag vet inte om man öppnar databasen så där!

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

## #7 — trexter, 2003-03-03T19:16Z

Du kan inte göra så med RecordSets, i alla fall inte med den uppbyggnaden du har. Om du vill ändra på ett fält i databsen gör du det lättast med ett UPDATE-statement. Vill du lägga det i en variabel, så:

var = RecSet("abc") + 1

 :)

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

## #8 — DiDjo, 2003-03-03T19:17Z

hmmm hur lägger jag in den i min kod? Tar bort rs1("inlogg") lr? Men kan man ändra databas kopplingen eller?

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

## #9 — trexter, 2003-03-03T19:20Z

Databaskopplingen har inte riktigt med saken att göra.
Om du vill plussa ett fält med ett skriver du en SQL-fråga som du sedan kör.

strSQL = "update t set f = f + 1 where -vad du vill-"
Connect.Execute strSQL,,128

 :)

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

## #10 — DiDjo, 2003-03-03T19:45Z

oki! Jag har testat dit första förslag:
var = RecSet("abc") + 1
Det fungerade inte! Den stannade kvar på noll i databasen! Jag ska prova det andra nu!

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

## #11 — solbulle, 2003-03-03T20:06Z

Är det meningen att du ska uppdatera alla poster med 1? Annars måste du ha ett vilkor i din sql-fråga, 

Addera = "SELECT \* FROM didjo where ..... "

Men kör på trexter sista förslag, med where...

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

## #12 — Cannabis_Tomten, 2003-03-03T23:14Z

> **DiDjo skrev:**
>
> Hej! Ledsen att jag inte svarat! Har ny dator och var lite problem med den! Men nu fungerar allt! Så här blir felet nu:
>
>
> ```
> error '80020009' 
> Exception occurred. 
> 
> /!egna/loggain.asp, line 53
> ```
>
> 
> Här e koden:
>
>
> ```
> Set Connect = Server.CreateObject("ADODB.Connection")
> Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("blablabla något här... .mdb")
> Set rs1 = Server.CreateObject("ADODB.Recordset")
> Addera = "SELECT * FROM didjo"
> rs1.Open Addera, Connect, 3, 3 
> 
> 53-->rs1("inlogg") = rs1("inlogg") +1
> 
> 
> response.redirect("start.asp")
> ```
>
> 
> Tabelen heter Didjo och kolumnen inlogg men jag vet inte om man öppnar databasen så där!

heter tabellen Didjo? men i koden har du skrivit didjo, stora och små bokstäver.. kanske iof inte har nån ebtydelse.. men men kanske det..

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

## #13 — Gimbo, 2003-03-03T23:24Z

sätt in on error resume next så slipper du problemet med BOF och EOF :)

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

## #14 — crisse6, 2003-03-04T02:39Z

Men nu vill vi losa problemet Gimbo! :)

Haller med solbulle och trexter, kor en san update...

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

## #15 — pirajan, 2003-03-04T12:41Z

Kör en enkel SQL-sats som trexter föreslår:
\<%
SQL = "Update tabell Set inlogg = inlogg + 1 Where ..."
Connect.Execute(SQL)
%\>

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

## #16 — Engine^, 2003-03-04T13:05Z

```
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Provider = "Microsoft.Jet.OleDB.4.0" [blue]'<--- bättre![/blue]
Connect.DataSource = Server.MapPath("/[i]sökväg[/i]/[i]dindatabas[/i].mdb")
Connect.Open

Set rs1 = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM didjo"

Set rs1 = Connect.Execute Addera, , 1 

If Not rs1.EOF Then
   [blue]'Uppdatera alla rader i kolumnen inlogg...[/blue]
   Connect.Execute "UPDATE didjo SET inlogg = inlogg + 1;", , 128
End If

Response.Redirect("start.asp")
```

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

## #17 — DiDjo, 2003-03-06T16:42Z

fick detta fel då!

```
Microsoft VBScript compilation error '800a0401' 

Expected end of statement 

/!egna/loggain.asp, line 55 

Set rs1 = Conn.Execute Addera, , 1
-----------------------^
```

 Men jag får inte felet med BOF or EOF längre även om man inte tar med if satsen!

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

## #18 — DiDjo, 2003-03-06T16:46Z

> **pirajan skrev:**
>
> Kör en enkel SQL-sats som trexter föreslår:
> \<%
> SQL = "Update tabell Set inlogg = inlogg + 1 Where ..."
> Connect.Execute(SQL)
> %\>

Jo men jag har ingen ID i den tabellen och inget att jämföra med! Det jag vill är att kunna se hur många medlemmar som har reggat sig och hur många inloggningar som har hänt! Finns bara två kolumner som heter "inlogg" och "med"

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

## #19 — DiDjo, 2003-03-06T17:04Z

Jag skickar med hela koden! Så ser ni vad jag vill göra!

```
<%
namn 	= Request.Form("anv")
losen 	= Request.Form("los")
humor 	= Request.Form("humor")

if Len(losen) <1 OR Len(namn) <1 then
session("felet") = "Du måste skriva in både användarnamn och lösenord"
Response.Redirect("index.asp")
end if

Set connection = server.createObject("adodb.connection")
connection.open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("/db/en databas")";"
SQL = "SELECT * FROM anv WHERE anv = '"&namn&"' AND Losen = '"&losen&"' "
set RS = Connection.Execute(SQL)

IF NOT RS.EOF then
session("inloggad") = "ja"
Session("fel") = ""
session("anv") = rs("anv")
session("user") = rs("anv")
session("vaktare") = rs("vaktare")
if rs("tid")&"" = "" then
session("tid")=0
else
session("tid")=rs("tid")
end if

Response.Cookies("didjocom")("anv") = rs("anv")
Response.Cookies("didjocom").Expires = "December 10, 2010"

Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("/db/en databas")
Set rs = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM anv WHERE anv = '"&namn&"' AND Losen = '"&losen&"' "
rs.Open Addera, Connect, 3, 3 

rs("online") = "1"
rs("inlogg")= rs("inlogg") +1
rs("senaste")= now
rs("loggain")= now
rs("humor")= Request.Form("humor")

rs.update

set Connect = Server.CreateObject("ADODB.Connection")
Connect.Provider = "Microsoft.Jet.OleDB.4.0" 
Connect.DataSource = Server.MapPath("/db/en databas")
Connect.Open

Set rs1 = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM didjo"

Set rs1 = Connect.Execute Addera, , 1 

   Connect.Execute "UPDATE didjo SET inloggn = inloggn + 1;", , 128

Response.Redirect("start.asp")

Else
Session("fel") = "Du skrev fel lösenord eller användarnamn!"
Response.Redirect("index.asp")
end if

RS.close
rs1.close
Connection.Close
connect.Close
%>
```

Döpte om inlogg till inloggn eftersom jag hade en annan i en annan tabell som hette lika! Men samma fel iaf

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

## #20 — solbulle, 2003-03-06T17:39Z

Tycker spontant att det där ser lite skumt ut. Först öppnar du databasen... sen öppnar du databasen... ?
Saknar du inte denna rad i den första öppningen:

Set rs = Server.CreateObject("ADODB.Recordset")

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/69261-bof-och-eof  
Nästa sida: https://www.webforum.nu/amne/asp/69261-bof-och-eof/page2.md
