Använder följande paging på min länksida, och det fungerar hur bra som helst. Detta verkar vara en klurigfråga ju.. ställde samma fråga på Aspsidan, och inte heller där verkar någon kunna hjälpa mig =(. Det kanske inte går att göra så helt enkelt? Nån som vet? HJÄLP!!! JAg tror du kan lösa det så här: Nu fungerar första sidan, men när man skall gå vidare blir det galet. Den sidan finns inte!! Om du läser andreas exempel så har han inte tagit med någon referens till nån sida, utan den får du bygga själv. Response.Write "Next page" Lite grundläggande om URI: Hmm... tror inte det är det som är felet (säger jag som är nybörjare!!!) Tanke fel av mig. Min kod förutsatte stigande datum ordning. Med andra ord minsta värdet först.  Jag förstår inte varför du föreslår att tabort Server.URLEncode()? Detta måste ha varit ett hastigt genomtänkt förslag. Då jag vet att du är en mycket bra programmerare. ;o) Nu verkar det fungera... eller i alla fall nästan. Som sagt var: På varje sida skall det visas alla poster från två dagar, och det gör det nu också. Problemet nu är att länken till nästa sida blir på det sissta datumet på sidan innan.  <code> Nu fungerar det ännu sämre! Länken bli precis som förrut, men sidan man kommer till har ett felmeddelande: Opps... Slarvfel av mig...Paging
    
    
<code>
<!-- #include virtual="adovbs.inc" -->
<% 
file = Server.MapPath("../databas.mdb") 
Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& file 
Set RecSet = Server.CreateObject("ADODB.Recordset") 
SQL = "SELECT *  FROM linkz where visa=True and (not (kategori=33)) and (not (kategori=34)) and  datum<=Date() ORDER BY Datum desc, ID Desc"
RecSet.Open SQL, Connect, adOpenStatic, adLockOptimistic 
RecSet.pagesize = 10 
sida = Request.QueryString("sida") 
     
If sida = "" then sida = 1 
if RecSet.EOF then 
Response.write "Det finns inga poster att hämta i databasen" 
Else 
RecSet.AbsolutePage = sida 
If sida = 1 then 
Response.write "Äldre ->" 
ElseIf (Int(totalPages)) = (Int(sida)) then 
Response.write "<- Nyare" 
			
Else 
Response.write "<- Nyare" 
Response.write "Äldre ->" 
End If 
response.write"<font size=5><b>Senaste länkarna</b></font><br>"
response.write "<br>" 
Do until RecSet.EOF or fldcounter = RecSet.pagesize 
fldcounter = fldcounter + 1 
Set RecSet2 = Server.CreateObject("ADODB.Recordset")
sql = "SELECT * FROM kat WHERE id = "& Recset("kategori") &" "
RecSet2.Open SQL, Conn%>
<%strLink=RecSet("link")%>
<%If strLink<>"" Then%>
<!-- #include file="lankarna.asp"-->
<%
set recset2=nothing
RecSet.MoveNext 
Loop 
End If 
End If%>
</code>
I ett tidigare inlägg fick jag hjälp med att fixa så att det visas de senaste två dagarnas inlägg med hjälp av följande sql-sats:
<code>
SQL = "SELECT linkz.*" & vbCrLf & _
             "FROM linkz" & vbCrLf & _
             "WHERE linkz.Visa AND NOT linkz.kategori IN (33, 34) and linkz.datum IN (SELECT TOP 2 linkz.datum" & vbCrLf & _
             "    FROM linkz where datum<=date()" & vbCrLf & _
             "    GROUP BY linkz.datum  ORDER BY linkz.datum DESC)" & vbCrLf & _
             "ORDER BY linkz.datum DESC, linkz.id DESC"
</code>
Kan man på något sätt, och i så fall hur, bygga in den i pagingen så att det visas 2 dagar per sida? Hoppas ni förstår och att någon kan hjälpa mig!Sv: Paging
    
    Sv:  Paging
    
    
<code>
    MyDate = Trim(Request.QueryString("date"))
    If IsDate(MyDate) Then
        MyDate = CDate(MyDate)
        If MyDate > Date() Then
            MyDate = Date()
        End If
    Else
        MyDate = Date()
    End If
    strSQL = "SELECT linkz.*" & vbCrLf & _
             "FROM linkz" & vbCrLf & _
             "WHERE linkz.Visa AND NOT linkz.kategori IN (33, 34) and linkz.datum IN (SELECT TOP 2 linkz.datum" & vbCrLf & _
             "    FROM linkz where datum<=#" & MyDate & "#" & vbCrLf & _
             "    GROUP BY linkz.datum  ORDER BY linkz.datum DESC)" & vbCrLf & _
             "ORDER BY linkz.datum DESC, linkz.id DESC"
    rs.Open strSQL, con
    If rs.EOF Then
        Response.Write "Inga mer poster"
    Else
        Response.Write "Next page"
        Do
            'osv...
            rs.MoveNext
        Loop Until rs.EOF
    End If
    rs.Close
</code>Sv:   Paging
    
    Sv:    Paging
    
    Sv:     Paging
    
    
Genom att utelämna adressen till en sida utgår den från aktuellsida. Den kommer lägga på frågesträngen. 
Det är bara att testa själv:
<code>
<html>
<head>
<title>Ny sida 1</title>
</head>
<body>
A
B
C
</body>
</html>
</code>
Du slipper då hålla reda på sidans namn och/eller sökväg. Sv:      Paging
    
    
Men jag har etstat med följande: 
        Response.Write "Next page"
 
och av det bildas då länken linkz.asp?do=sida&date=2004%2D06%2D01 altså med dagens datum. När jag provade att i min webläsare ändra datumet manuellt så kom jag till sidan med det datumet. Kanske har jag missupfattat allt nu, men... Hoppas ni förstår vad jag menar. Annars kanske ni kan kolla http://www.dopyworld.com/nya/linkz.asp?do=sida där jag lagt ut en testsida.Sv:       Paging
    
    
Jag har korrigerrat det i följande exempel:
<code>
Dim MyDate
Dim LastDate
    MyDate = Trim(Request.QueryString("date"))
    If IsDate(MyDate) Then
        MyDate = CDate(MyDate)
        If MyDate > Date() Then
            MyDate = Date()
        End If
    Else
        MyDate = Date()
    End If
    strSQL = "SELECT linkz.*" & vbCrLf & _
             "FROM linkz" & vbCrLf & _
             "WHERE linkz.Visa AND NOT linkz.kategori IN (33, 34) and linkz.datum IN (SELECT TOP 2 linkz.datum" & vbCrLf & _
             "    FROM linkz where datum<=#" & MyDate & "#" & vbCrLf & _
             "    GROUP BY linkz.datum  ORDER BY linkz.datum DESC)" & vbCrLf & _
             "ORDER BY linkz.datum DESC, linkz.id DESC"
    rs.Open strSQL, con
    If rs.EOF Then
        Response.Write "Inga mer poster"
    Else
        Do
            'osv...
            LastDate = rs("Date") 'Ny rad
            rs.MoveNext
        Loop Until rs.EOF
        Response.Write "Next page"
    End If
    rs.Close
</code>
Detta bör få koden att fungera. ;o)Sv:        Paging
    
    
Om du har en bakomliggande anledning vill jag gärna att du berätar den.Sv:         Paging
    
    
Tillexempel sida 1:
2004-06-02
Länk1
Länk2
2004-05-30
Länk1
Länk2
Länk3
Nästa sida (Länken går då alltså till sidan med datumen 2004-05-30, vilket innebär att sidan kommer börja med det datumet.
2004-05-30
Länk1
Länk2
Länk3
2004-05-29
Länk1
Och så vidare. Hoppas ni förstår. Har provat ändra massa men får ingen ordning på det. Kolla in http://www.dopyworld.com/nya/linkz.asp?do=sida så förstår ni säkert vad jag menar.Sv:          Paging
    
    
Function SQLDate(Value)
   If IsDate(Value) Then
       SQLDate = "#" & Year(Value) & "-" & Right("0" & Month(Value), 2) & "-" & Right("0" & Day(Value), 2) & "#"
   Else
       SQLDate = "Null"
   End If
End Function
Dim rs
Dim con
Dim strSQL
Dim MyDate
Dim LastDate
    Set con = Server.CreateObject("ADODB.Connection")
    con.Open ""
    strSQL = "SELECT linkz.*" & vbCrLf & _
             "FROM linkz" & vbCrLf & _
             "WHERE linkz.Visa AND NOT linkz.kategori IN (33, 34) and linkz.datum IN (SELECT TOP 2 linkz.datum" & vbCrLf & _
             "    FROM linkz" & vbCrLf & _
             "    WHERE datum<=Date()" & vbCrLf & _
             "    GROUP BY linkz.datum" & vbCrLf & _
             "    ORDER BY linkz.datum DESC)" & vbCrLf & _
             "ORDER BY linkz.datum DESC, linkz.id DESC"
    MyDate = Trim(Request.QueryString("date"))
    If IsDate(MyDate) Then
        MyDate = CDate(MyDate)
        If MyDate < Date() Then
            strSQL = "SELECT linkz.*" & vbCrLf & _
                     "FROM linkz" & vbCrLf & _
                     "WHERE linkz.Visa AND NOT linkz.kategori IN (33, 34) and linkz.datum IN (SELECT TOP 2 linkz.datum" & vbCrLf & _
                     "    FROM linkz" & vbCrLf & _
                     "    WHERE datum<#" & SQLDate(MyDate) & "#" & vbCrLf & _
                     "    GROUP BY linkz.datum" & vbCrLf & _
                     "    ORDER BY linkz.datum DESC)" & vbCrLf & _
                     "ORDER BY linkz.datum DESC, linkz.id DESC"
        End If
    End If
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open strSQL, con
    If rs.EOF Then
        Response.Write "Inga mer poster"
    Else
        Do
            'osv...
            LastDate = rs("Date")
            rs.MoveNext
        Loop Until rs.EOF
        Response.Write "Next page"
    End If
    rs.Close
    Set rs = Nothing
    con.Close
    Set con = Nothing
</code>Sv:           Paging
    
    
Microsoft OLE DB Provider for ODBC Drivers error '80040e14' 
[Microsoft][ODBC Microsoft Access Driver] Syntax error. in query expression 'linkz.Visa AND NOT linkz.kategori IN (33, 34) and linkz.datum IN (SELECT TOP 2 linkz.datum FROM linkz WHERE datum<##2004-05-30## GROUP BY linkz.datum ORDER BY linkz.datum DESC)'. 
På raden     
rs.Open strSQL, conSv:            Paging
    
    
SQLDate() funktionen lägger till egna #-tecken. Så plocka bort #-tecken från SQL stasen.
<code>
            strSQL = "SELECT linkz.*" & vbCrLf & _
                     "FROM linkz" & vbCrLf & _
                     "WHERE linkz.Visa AND NOT linkz.kategori IN (33, 34) and linkz.datum IN (SELECT TOP 2 linkz.datum" & vbCrLf & _
                     "    FROM linkz" & vbCrLf & _
                     "    WHERE datum<" & SQLDate(MyDate) & vbCrLf & _
                     "    GROUP BY linkz.datum" & vbCrLf & _
                     "    ORDER BY linkz.datum DESC)" & vbCrLf & _
                     "ORDER BY linkz.datum DESC, linkz.id DESC"
</code>
Jag tycker detta felet är lättlöst. Vilket tyder på att du inte satt dig in i hur koden fungerar och/eller inte försökt lösa det själv.
Om du villa programmera så skall du du främst försöka lösa dina problem på egen hand.
Om du har försökt göra det så är du förlåten. Annars så får du en bock i kanten... ;o)