---
title: "access hjälp?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/43661-access-hjälp/page2"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "cupy"
published: "2002-05-14T03:00:00.000Z"
updated: "2002-05-18T12:20:53.000Z"
replies: 41
views: 1046
page: 2
pages: 3
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/43661-access-hjälp"
---

# access hjälp?

_Sida 2 av 3._

## #21 — cupy, 2002-05-16T12:48Z

Exakt vad behöver du?

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

## #22 — toha, 2002-05-16T12:59Z

Ursäkta mig, var lite snurrig i kolan...

Testa den här koden:

```
<FORM name="Land" action="j.asp" method="get">
<select name="sok" onchange="submit();"> 
	<option value=non >-------------------------</option> 
	<option value=Norge>Norge</option> 
	<option value=Danmark>Danmark</option> 
	<option value=Sverige>Sverige</option> 
	<option value=Tyskland>Tyskland</option> 
	<option value=italia>Italia</option> 
	<option value=Holland>Holland</option> 
</select>
</form> 

<%

Dim strSok

strSok =	Request.QueryString("sok")

intPage = Request("page") 
If isNumeric(intPage) = False Or intPage < 1 Then 
	intPage = 1 
End If 

Set rs = Server.CreateObject("ADODB.RecordSet") 
strSQL = "Select * From Tabell WHERE Land LIKE '%" & strSok & "%' ORDER BY id DESC" 
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("databas.mdb") 
rs.Open strSQL, strDSN, 1 

If Not (rs.BOF Or rs.EOF) Then 
	rs.PageSize = 10 
	rs.AbsolutePage = intPage 
	intRecCount = rs.PageSize 
	intPageCount = rs.PageCount 
	Response.Write "<p><b>Side " & intPage & " af " & intPageCount & "</b></p>" 
	Do While Not rs.EOF And intRecCount > 0
%> 
		<!-- HÄR SKRIVER JAG UT TEXTEN I TABELLEN SOM JAG HÄMTADE MED SQL SATSEN --> 
<%
		intRecCount = intRecCount - 1 
		rs.MoveNext 
	Loop 
End If 
rs.Close 
Set rs = Nothing 

Response.Write "<p>Gå til sida " 
For intNum = 1 To intPageCount 
	Response.Write "<a href='j.asp?page=" & intNum & "&sok=" & Server.URLEncode(strSok) & "'>" & intNum & "</a> " 
Next 

Response.Write "<p>" 
If Clng(intPage) > 1 Then 
	Response.Write "<a href='j.asp?page=" & intPage - 1 & "&sok=" & Server.URLEncode(strSok) & "'>&lt;&lt;</a>" 
Else 
	Response.Write "&lt;&lt;" 
End If 

If Clng(intPage) < Clng(intPageCount) Then 
	Response.Write "<a href='j.asp?page=" & intPage + 1 & "&sok=" & Server.URLEncode(strSok) & ">&gt;&gt;</a> " 
Else 
	Response.Write "&gt;&gt;" 
End If 

%>
```

 

Har ändrat formen till "GET".
Ändrat page-länkarna så de inkluderar sökvillkoret ("sok").
OBS! Tog bort utrenderingen av tabellen i Do..Loop.

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

## #23 — toha, 2002-05-16T13:03Z

För övrigt så behöver du inte använda dig av "inteRecCount"-variabeln. Om du sätter PageSize:n till något så blir recordset:et Eof när det når slutet på sidan. Dvs din Do..Loop skulle då se ut som följer:

```
If Not (rs.BOF Or rs.EOF) Then 
	rs.PageSize = 10 
	rs.AbsolutePage = intPage 
	intPageCount = rs.PageCount 
	Response.Write "<p><b>Side " & intPage & " af " & rs.PageCount & "</b></p>" 
	Do Until rs.Eof
%> 
		<!-- HÄR SKRIVER JAG UT TEXTEN I TABELLEN SOM JAG HÄMTADE MED SQL SATSEN --> 
<%
		rs.MoveNext 
	Loop 
End If
```

Tänkte bara du vill veta... :)

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

## #24 — cupy, 2002-05-16T13:38Z

Tyvärr det hjälpte inte t.o.m blev sämre fast jag får inte fel meddelande, allting funkar fast inte som den skulle. 
Nu hämter inte nånting från db utan visar hela tiden sammaresultat och den andra tips du gav mig gör att paging försvinner, den listar ut allt och kan inte begränsa till t ex att lista10 eller 20 stycken

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

## #25 — toha, 2002-05-16T14:49Z

Sorry. Hade bestämt för mig att det fungerade så. Ber tusen gånger om ursäkt! Får man väl jämföra recordsetets page.

```
...
Do Until rs.Eof Or rs.AbsolutePage <> intPage
...
Loop
```

Testa även att byta ut de kodrader som hämtar sidonumret.

```
intPage = Request.QueryString("page")
If Len(intPage) = 0 Then 
	intPage = 1 
End If
```

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

## #26 — cupy, 2002-05-16T15:04Z

nej , det hjälpte inte heller...

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

## #27 — toha, 2002-05-16T15:18Z

Svårt att felsöka när man inte sitter vid skärmen och ser resultatet. :(

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

## #28 — cupy, 2002-05-16T15:57Z

Ja jag vet o tack för hjälp

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

## #29 — cupy, 2002-05-16T20:03Z

Ja jag vet o tack för hjälp
Tack för alla andra oxå som ville hjälpa till men som jag ser det går inte eller ingen vet hur det går till så jag tänkte om någon har kanske en pager som skulle fungera ihopp med min script så...
this is it:

\<FORM name=Land action = sammasida.asp method=post\> 
\<select name="sok" onchange="submit();"\> 
\<font face="verdana, Helvetica" size=2\> 
\<option value=non \>-------------------------\</option\> 
\<option value= Norge\>Norge\</option\> 
\<option value= Danmark\>Danmark\</option\> 
\<option value= Sverige\>Sverige\</option\> 
\<option value= Tyskland\>Tyskland\</option\> 
\<option value= italia\>Italia\</option\> 
\<option value=Holland\>Holland\</option\> 
\</select\>\</form\> 

\<table\>\<tr\> 
\<td\>\<%= FormatDateTime(Rs("datum"),2)%\>\<td\> \<a href="visa3.asp?id=\<%=TRIM(Server.HTMLEncode(Rs("ID"))) %\>"\> \<% =TRIM(Server.HTMLEncode(Rs("fnamn")))%\> \</a\> \</td\> 
\<td\> \<% =TRIM(Server.HTMLEncode(Rs("Land")))%\>\</td\> 
\</tr\> 
\</table\> 

Kan någon sätta den här i en pager som funkar?

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

## #30 — cupy, 2002-05-18T10:16Z

Ingen som vet hur gör man det?

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

## #31 — @nders, 2002-05-18T10:28Z

Svarar väl förmodligen inte på frågan, men ditt formulär saknar infernaliskt många citationstecken, och värdena i selectboxen är inte korrekta då de inleds med ett mellanslag. 

Grunden i att få någonting sånt här att fungera är ju att datat från formuläret är korrekt. 

Skit in, skit ut, som man brukar säga. ;)

```
<FORM name="Land" action ="sammasida.asp" method="post"> 
<select name="sok" onchange="submit();"> 
<font face="verdana, Helvetica" size=2> 
<option value="non" >-------------------------</option> 
<option value="Norge">Norge</option> 
<option value="Danmark">Danmark</option> 
<option value="Sverige">Sverige</option> 
<option value="Tyskland">Tyskland</option> 
<option value="italia">Italia</option> 
<option value="Holland">Holland</option> 
</select></form>
```

Mvh,

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

## #32 — cupy, 2002-05-18T10:49Z

Visst anders jag håller med dig men problemet är att allting funkar så länge jag klickar på sidan 2 eller näxt och då listar inte ut längre som den skulle utan hämtar allt från db, listar ut alla inlägg. Helt enkelt den hinner inte med i svängen när man klickar näxt ... så felet ligger i paging script ellerhur?

MVH /Cupy

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

## #33 — @nders, 2002-05-18T10:54Z

Hur ser sid-länkarna / nextlänken ut när den kommer till läsaren? Finns all information med där?

Kör du nu med metoden GET i formuläret?

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

## #34 — cupy, 2002-05-18T11:24Z

Det står allt på första sidan längst upp om du menar det
......ja det finns med all info

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

## #35 — @nders, 2002-05-18T11:34Z

Jag har ändrat till metoden get (igen ;) ) och lagt till sökordet (landet) i sidlänkarna.

Prova detta:

```
<FORM name="Land" action ="j.asp" method="get"> 
<select name="sok" onchange="submit();"> 
<font face="verdana, Helvetica" size=2> 
<option value="non">-------------------------</option> 
<option value="Norge">Norge</option> 
<option value="Danmark">Danmark</option> 
<option value="Sverige">Sverige</option> 
<option value="Tyskland">Tyskland</option> 
<option value="italia">Italia</option> 
<option value="Holland">Holland</option> 
</select></form> 
<% intPage = Request("page") 
sok = Request.Querystring("sok")
If isNumeric(intPage) = False Or intPage < 1 Then 
intPage = 1 
End If 
Set rs = Server.CreateObject("ADODB.RecordSet") 
strSQL = "Select * From Tabell WHERE Land LIKE '%" & sok & "%' ORDER BY id DESC" 
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("databas.mdb") 
rs.Open strSQL, strDSN, 1 
If Not (rs.BOF Or rs.EOF) Then 
rs.PageSize = 10 
rs.AbsolutePage = intPage 
intRecCount = rs.PageSize 
intPageCount = rs.PageCount 
Response.Write "<p><b>Side " & intPage & " af " & intPageCount & "</b></p>" 
Do While Not rs.EOF And intRecCount > 0 %> 
<!-- HÄR SKRIVER JAG UT TEXTEN I TABELLEN SOM JAG HÄMTADE MED SQL SATSEN --> 
<table><tr> 
<td><%= FormatDateTime(Rs("datum"),2)%><td> <a href="visa3.asp?id=<%=TRIM(Server.HTMLEncode(Rs("ID"))) %>"> <% =TRIM(Server.HTMLEncode(Rs("fnamn")))%> </a> </td> 
<td> <% =TRIM(Server.HTMLEncode(Rs("Land")))%></td> 
</tr> 
</table> 
</table> 
<!-- Tabell slut --> 
<% intRecCount = intRecCount - 1 
rs.MoveNext 
Loop 
End If 
rs.Close 
Set rs = Nothing 
Response.Write "<p>Gå til sida " 
For intNum = 1 To intPageCount 
Response.Write "<a href=""j.asp?page=" & intNum & "&sok=" & Server.URLEncode(sok) & """>" & intNum & "</a> " 
Next 

Response.Write "<p>" 
If Clng(intPage) > 1 Then 
Response.Write "<a href=""j.asp?page=" & intPage - 1 & "&sok=" & Server.URLEncode(sok) & """>&lt;&lt;</a>" 
Else 
Response.Write "&lt;&lt;" 
End If 

Response.Write " " 

If Clng(intPage) < Clng(intPageCount) Then 
Response.Write "<a href=""j.asp?page=" & intPage + 1 & "&sok=" & Server.URLEncode(sok) & """>&gt;&gt;</a> " 
Else 
Response.Write "&gt;&gt;" 
End If 
%>
```

Mvh,

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

## #36 — cupy, 2002-05-18T11:46Z

Det blev error

Error Type:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E21)
ODBC driver does not support the requested properties.
/asp/n4/zzzz/real/re/test/j.asp, line 38

\---\>rs.Open strSQL, strDSN, 1

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

## #37 — @nders, 2002-05-18T11:52Z

Prova att byta

```
rs.Open strSQL, strDSN, 1
```

till

```
set objConn = Server.CreateObject("ADODB.Connection")
objConn.open strDSN
rs.Open strSQL, objConn, 3, 3
```

Mvh,

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

## #38 — cupy, 2002-05-18T11:59Z

det blev följande
Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
\[Microsoft\]\[ODBC Microsoft Access Driver\] Too few parameters. Expected 1.
/asp/n4/zzzz/real/re/test/j.asp, line 40

\--\>rs.Open strSQL, objConn, 3, 3

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

## #39 — @nders, 2002-05-18T12:01Z

Stämmer SQL-frågan då?
Heter tabellen Tabell, finns där fält som heter Land och id?

Dubbelkolla! :)

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

## #40 — cupy, 2002-05-18T12:12Z

Jag gjorede en miss, 
SÅLÄNGEFUNKAR ALLT!!!!! Perfekt!
10000 Tack Anders!
Jag tycker att du borde få ett Nobelpris!

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/43661-access-hjälp/page2  
Föregående sida: https://www.webforum.nu/amne/asp/43661-access-hjälp.md  
Nästa sida: https://www.webforum.nu/amne/asp/43661-access-hjälp/page3.md
