---
title: "Paging problem"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/61409-paging-problem"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Gimbo"
published: "2002-12-06T18:23:04.000Z"
updated: "2002-12-20T18:15:25.000Z"
replies: 17
views: 381
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/61409-paging-problem"
---

# Paging problem

## #1 — Gimbo, 2002-12-06T18:23Z

Hejsan!

Håller på och skriver ut poster från databasen då jag tänkte använda mej av paging...
Men har ett problem, paging scriptet skriver inte ut antalet sidor som den delat in posterna på, och min forward länk dyker upp men när jag klickar på den visas inte fortsätningen av posterna så här ser koden ut:

```
anslutning till databas och min sql kod här
.
.

Set RS = Conn.Execute(sql)
		
		Const perSida = 4 
		If Request.QueryString("page") = "" then 
		page = 1 
		Else 
		page = Request.QueryString("page") 
		End If 

		RS.CursorLocation = 3
		RS.CacheSize = perSida
		
		if (RS.eof or RS.BOF) then
		response.write " No match found"
		end if

%>

<%
RS.MoveFirst 
RS.PageSize = perSida

TotalPages = RS.PageCount 
RS.AbsolutePage = page 

Count = 0 
Do While Not RS.EOF And Count < RS.PageSize 
%>
      <tr>
      <td width="81" bgcolor="#CFD4E1"><%=RS("ID") %></td>
      <td width="76" bgcolor="#CFD4E1"><%
                              if (RS.Fields("country") = "US") Then
%>
        <a target="blank" href="<%=locateLink %>"><% Response.Write RS.Fields("country")%> <img border="0" src="/images/map.gif"> </a>
        <%
  else 
Response.Write RS.Fields("country")
end if
 %>
</td>

      <td width="123" bgcolor="#CFD4E1"><%=RS("address1") %></td>

      <%
	Count = Count + 1 
	RS.movenext
	'Loop
	Loop

%>

      </tr>   
       <% 
          If TotalPages <> 1 Then
          If (Int(page)) <> 1 Then
          %>
        <a href="infor.asp?page=<%=(Int(page)-1)%>" onfocus="this.blur()"><b>« Bakåt</b></a>
          <%Else%>
          
          <%End If%>
          <%
          For Pages = 1 To TotalPages 
          %> 
          <%If (Int(Pages)) = (Int(page)) Then%><b><font color="#000000"><%=Pages%></font></b> <%Else%><a href="display.asp?page=<%=Pages%>" onfocus="this.blur()"><b><%=Pages%></b></a> <%End If%><%Next%> 
          <%End If%> 

          <%
          If (Int(page)) <> (Int(TotalPages)) AND Count > 0 Then
          %>
          <a href="display.asp?page=<%=(Int(page)+1)%>" onfocus="this.blur()"><b>Forward »</b></a>
          <%Else%>
          
 <% END IF %>
```

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

## #2 — LarsG, 2002-12-06T18:39Z

Om du byter

```
 If (Int(page)) <> (Int(TotalPages)) AND Count > 0 Then
```

till

```
If  page < TotalPages Then
```

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

## #3 — Gimbo, 2002-12-06T18:46Z

nope samma problem, alltså forward länken dyker upp men den ska ju räkna ut hur många sidor alla poster kommer att delas in på och skriva ut antelet sidor, men det gör den inte...

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

## #4 — LarsG, 2002-12-06T18:57Z

Jag läste lite för fort. 
Om du flyttar om koden i början lite då så att cursorlocation sätts innan du gör execute.

```
		
Const perSida = 4 
If Request.QueryString("page") = "" then 
		page = 1 
Else 
		page = Request.QueryString("page") 
End If 

RS.CursorLocation = 3
RS.CacheSize = perSida
		
Set RS = Conn.Execute(sql)
if (RS.eof or RS.BOF) then
		response.write " No match found"
                response.end
end if
```

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

## #5 — Gimbo, 2002-12-06T19:06Z

den vill fortfarande inte LarsG :(

glömde nämna felmeddelandet efter att jag gjorde som du sist sa.

```
Microsoft VBScript runtime error '800a01a8' 
Object required: 'RS'
```

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

## #6 — LarsG, 2002-12-06T19:25Z

Ja visst ja

Du måste använda 

```
set rs = server.createobject("adodb.recordset")
```

och

```
rs.open sql,conn
```

istället för conn.execute

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

## #7 — Gimbo, 2002-12-06T19:28Z

ohhhh... nu rfår jag detta felmeddelande:

```
ADODB.Recordset error '800a0e79' 
Operation is not allowed when the object is open.
```

på denna rad:

```
RS.CursorLocation = 3
```

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

## #8 — LarsG, 2002-12-06T19:36Z

Den raden måste ligga innan rs.open

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

## #9 — Gimbo, 2002-12-06T19:46Z

nur ser det ut så här:

```
		Set Conn = Server.CreateObject("ADODB.Connection")
		Set RS = Server.CreateObject("ADODB.Recordset")
       Conn.Open "......"
                
       
       Const perSida = 4 
		If Request.QueryString("page") = "" then 
		page = 1 
		Else 
		page = Request.QueryString("page") 
		End If 

		RS.CursorLocation = 3
		RS.CacheSize = perSida

		RS.Open sql,conn
		
		sql=....
```

och jag får felmeddelandet:

```
Item cannot be found in the collection corresponding to the requested name or ordinal.
```

får fel på denna rad:

```
TotalPages = RS.PageCount 
RS.AbsolutePage = page
```

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

## #10 — LarsG, 2002-12-06T19:57Z

Hmm

Stämmer detta?

```
RS.Open sql,conn
		
		sql=....
```

Dom raderna borde väl ligga i omvänd ordning.

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

## #11 — Gimbo, 2002-12-07T13:15Z

mmm men det fungerar fortfarande inte...

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

## #12 — NyedalDesign, 2002-12-07T13:47Z

varför kör du 3st Conn.Open "ProdInfo" ??

Sql-satsen måste ligga innan du öppnar den med 
RecordSet..

hur ser koden ut nu då?

den säger att fältet inte går att hitta i databasen..

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

## #13 — Gimbo, 2002-12-07T14:10Z

så här ser det ut nu :

```
Set Conn = Server.CreateObject("ADODB.Connection")
Set RS = Server.CreateObject("ADODB.Recordset")
Conn.Open ".........."

       
Const perSida = 4 
If Request.QueryString("page") = "" then 
page = 1 
Else 
page = Request.QueryString("page") 
End If 
RS.CursorLocation = 3
RS.CacheSize = perSida
		
sql="...."
RS.Open sql,conn
```

och jag får detta felmeddelande:

```
Microsoft VBScript runtime error '800a005b' 
Object variable not set: 'RS'
```

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

## #14 — LarsG, 2002-12-07T19:43Z

Hur ser hela koden ut och på vilken rad får du felet?

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

## #15 — Gimbo, 2002-12-07T21:26Z

hela koden...

```
Set Conn = Server.CreateObject("ADODB.Connection")
Set RS = Server.CreateObject("ADODB.Recordset")
Conn.Open "....","....","...."
' RS.Open sql,conn          
       
Const perSida = 4 
If Request.QueryString("page") = "" then 
page = 1 
Else 
page = Request.QueryString("page") 
End If 
RS.CursorLocation = 3
RS.CacheSize = perSida
'RS.Open sql,conn
sql="...." 
			
'Response.Write sql
 RS.Open sql,conn          
'Set RS = Conn.Execute(sql)
if (RS.eof or RS.BOF) then
response.write " No match found"
end if

%>

<%
RS.MoveFirst 
RS.PageSize = perSida

TotalPages = RS.PageCount 
RS.AbsolutePage = page 

Count = 0 
Do While Not RS.EOF And Count < RS.PageSize 
%>
<tr>
<td width="81" bgcolor="#CFD4E1"><%=RS("Id")%> </td>
<td width="76" bgcolor="#CFD4E1"><%
 if (RS.Fields("country") = "SWE") Then
%>
 <a target="blank" href="swe.html"><% Response.Write RS.Fields("country")%> <img border="0" src="/images/map.gif"> </a>
<%
else 
Response.Write RS.Fields("country")
 end if
%>
</td>

      <td width="123" bgcolor="#CFD4E1"><%=RS("address1") %></td>

      <%
Count = Count + 1 
RS.movenext
'Loop
Loop
RS.Close
RS = nothing
Conn.Close
Conn = nothing
%>

      </tr>   
       <% 
      If TotalPages <> 1 Then
      If (Int(page)) <> 1 Then
          %>
        <a href="display.asp?page=<%=(Int(page)-1)%>" onfocus="this.blur()"><b>« Bakåt</b></a>
          <%Else%>
          
          <%End If%>
          <%
          For Pages = 1 To TotalPages 
          %> 
          <%If (Int(Pages)) = (Int(page)) Then%>
          <b><font color="#000000"><%=Pages%></font></b> 
          <%Else%>
          <a href="display.asp?page=<%=Pages%>" onfocus="this.blur()"><b><%=Pages%></b></a> 
          <%End If%>
          <%Next%> 
          <%End If%> 

          <%
          'If  page > TotalPages Then
          If (Int(page)) <> (Int(TotalPages)) AND Count > 0 Then
          %>
          <a href="display.asp?page=<%=(Int(page)+1)%>" onfocus="this.blur()"><b>Forward »</b></a>
          <%Else%>
          
 <% END IF %>
```

 nu får jag inget felmeddelande längre pagingen verkar fungera, dvs den skriver ut antalet sidor och framåt knappen dyker upp MEN, på sidan två, tre, fyra osv så skriver den inte ut ngt, den skriver bara ut på första sidan, vad kan felet bero på?

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

## #16 — solbulle, 2002-12-07T21:45Z

Hur ser din sql ut? Får du med dig hela den i länkningen i din paging?
(Tänkte alltså om den var uppbyggd mha querystring)

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

## #17 — Gimbo, 2002-12-07T22:19Z

har en helt vanlig sql, fast där jag i where kör en if satts

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

## #18 — Gimbo, 2002-12-20T18:15Z

kan problemet ligga i att det är en ms sql databas vi använder, och att cursor inte stödjer det eller ngt sånt?

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

---

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