Merci de votre réponse.
Je vais essayer déclaircir mieux la situation en donnant un exemple court du code :
Je voudrai afficher la liste des produits dont le critère Prix choisi par lutilisateur.
Dans la page html jai un code qui ressemble au suivant :
<form name="form1" method="post" action="afficher.asp">
<p>Paix : <input name="txtPrix" type="text" id="txtPrix">
</p>
<p>
<input type="submit" name="Submit" value="Submit">
</p>
</form>
Dans ma page afficher.asp où je voudrais faire la pagination en fonction du prix entré par lutilisateur.
Admettant je voudrais afficher un maximum de 10 résultat par page dont le code est le suivant :
Str = "SELECT*FROMtblProduit WHEREPrix < & Request.Form(txtPrix)
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open str, objConn,3,3
if not objRS.eof then ' il ya des enregistrements
'------ on initialise le nombre d'élements par page
objRS.PageSize = 10
'-------Traitement de la variable page
if request("page") = "" Then ' si le parametre page est vide
Page = 1'on commence à la page 1
else
if isnumeric(request("page")) then '--
page = cdbl(request("page")) '--prendre la partie entiere
if page > objRS.pagecount then '--Si la variable est > au nbre de page
Response.Write "Une erreur s'est produite : a variable est > au nbre de page"
objRS.close
set objRS = nothing
objConn.close
Set objConn= nothing
response.Flush '--on arrete l'execution
response.End
end If
Else'--Le parametre page n'est pas num
Response.Write "Une erreur s'est produite : Le parametre page n'est pas num"
objRS.close
set objRS = nothing
objConn.close
Set objConn= nothing
response.Flush '--on arrete l'execution
response.End
End If
End If
objRS.absolutepage= page
Response.Write " Vous êtes sur la page " & page& " sur " & objRS.pagecount & " au total.</div>"
for i=1 To objRS.pagesize'-- de 1 jusqu'à la valeur de NbElementParPage
'=======Affichage des éléments trouvés ===============
objRS.MoveNext
if objRS.eof Then
exit For
end if
Next
'-- Affichage des lien précedent et suivant
'--- Lien Précédent
If page>1 Then '---Si on est pas sur la 1er page
Ref = "?Page=" & page-1
Response.Write "<a href=" & ref& ">Précédent</a> "
End If
'--- Lien Suivant
If page < objRS.pagecount Then '---Si on est pas sur le dérnier enregstrement
Ref = "?Page=" & page+1
Response.Write "<a href=" & ref& ">SUIVANT</a> "
End If
Else
Response.Write"Pas denregistrement"
End If
Admettant jai 14 résultats qui correspondent à mon critère de sélection sur leprix.
Le problème est le suivant : dans la 1 er page il saffiche les dix premiers résultats.
Mais quand je click sur SUIVANT, jai le messagePas denregistrement
Alors que si je met une constante dans ma requete comme :
"SELECT*FROMtblProduit WHEREPrix < 200
Les deux pages saffichent correctement, la 1ère page de 10 résultats et la 2ème page de 4 résultats.
Cest pour cela que je conclu quil y a un problème avec lobjet RecordSet.
Merci encore pour votre aide.