Pagination de page ?

dji - 7 déc. 2001 à 12:14
 pat - 10 déc. 2001 à 18:47
bonjour, j'ai un problème au niveau de la pagination: je n'arrive pas à passer au page suivant qui va afficher le reste de mes enregistrements

Voici le code de ma page ( ma page se nomme "consult.asp"):


<html>
<head><title>consultation des portes ouvertes</title>
<meta name="dji" content="note-pad">


<%Vcod=Request("dept")%>
<%vcod2=Request("typo")%>
<%
Select Case Request.QueryString("Direction")
Case ""
Session("currentpage") = 1
Case "Next"
Session("currentpage") = Session("currentpage") + 1
Case "Prev"
Session("currentpage") = Session("currentpage") - 1
End Select
Const adOpenKeyset = 1
%>
<%
set conntemp=server.createobject("adodb.connection")
conntemp.open "DSN=RENNES1"
dim sql sql sql & "SELECT PO_DESC,PO_DERNIER,ETA_LOC,ETA_lib,DEPT_COD,ETTYP_COD FROM PO_DESC,ETAB WHERE PO_DESC.ETA_COD ETAB.ETA_COD AND (DEPT_COD)" sqlsql & "'" & Vcod & "' AND (ETTYP_COD)" sqlsql & "'" & Vcod2 & "' "
sql= sql & "order by ETA_LOC,ETA_LIB"
set rstemp=server.createobject("adodb.recordset")
rstemp.pagesize= 10
rstemp.open sql, conntemp, adOpenKeyset
rstemp.absolutepage = CLng(Session("CurrentPage"))

%>

Département :, <%=rstemp.fields("DEPT_COD").Value%>,

nature de l'établissement :, <%=rstemp.fields("ettyp_cod").value%>,
<

</table >

<%rstemp.movefirst %>
<%dim i
i=0%>
<center><table width='95%' cellpadding=\"0\" cellspacing=0 border=0>

<%for i= 1 to rstemp.pagesize%>
----
[consult.asp?Direction=Prev Enregistrements précédents]
<% End If %>

<%If CLng(Session("CurrentPage")) < rstemp.Pagecount Then %>
</table></center>

[consult.asp?Direction=Next Enregistrements suivants]
<% End If %>

<%
rstemp.close
conntemp.close
set rstemp=nothing
set conntemp=nothing
%>

</html>




en réponse au click du lien "enregistrements suivants" j'obtiens la page suivante:




ADODB.Recordset erreur '800a0bcd'

BOF ou EOF est égal à True ou l'enregistrement actuel a été supprimé. L'opération demandée nécessite un enregistrement actuel.

/consult/consult.asp, ligne 30




je ne sais pas comment résoudre ce problème
Merci de m'aider
dji.

1 réponse

Après un aperçu rapide, je vois que ta requête nécessite d'avoir "dept" et "typo". Hors dans ton appel à "next" ou "prev" tu ne passes plus l'information. En conséquence il me semble que ta requête ne pourra s'exécuter correctement lors d'un deuxième appel. tu as donc un problème de rstemp.eof (non testé) avant d'affecter le resultat de ton champ DEPT_CODE pour département. En passant l'information dans le HREF tu devrais régler ton problème.
0
Rejoignez-nous