Forum de discussion
Forum « Programmation ASP » (archives)
Re: problème Asp 'erreur' recherche paginée doit valider la fin du fichier (EOF)
Envoyé: 30 décembre 2004, 8h27 par Oznog
Il manque du code notament les boutons précédent/suivant. Et tu as plus d'une erreur.
1. La plus importante est le premier test de condition :
if (not RS.eof) then RS.pageSize = nbEnrParPage end if
Et tu fais juste en dessou :
nbpage = RS.pageCount !!
Si tu est à la fin du record tu aura une erreur de type "BOF ou EOF est égal à True...". C'est donc tout le bloc qui devrait être compris entre le if et le end if...
if (not RS.eof) then
RS.pageSize = nbEnrParPage
...
RS.MOVENEXT
End If
next
end if
2. Assure toi de passer la valeur "page" via les boutons et de bien assigner "nbEnrParPage". Que ces deux valeurs contiennent bien un nombre.
3. Je ne vois pas tes boutons mais le principe est simple, ou bien tu test l'affichage ou non du bouton. Ou bien tu test que la page n'est pas à l'extérieur (avant 0 ou après maximun). La connexion ne le fait pas tout seul.
4. Enfin, la dernière page ne contient pas toujours le nombre maximum d'item par page. Si tu as 10 records par page, et 55 record dasn la base, la dernière page avec ton test sur pagesize provoquera aussi l'erreur "BOF ou EOF est égal à True..."
Il faut que tu compte tes records, que le record courrant n'est pas plus grand que le nombre total de record de ta table. De toute façon, n'oublie jamais qu'on ne passe pas un recordset sans tester la fin du fichier (RS.eof). comme :
nbrMaxRecords = cInt(RS.pagesize)
nbrRecordCourrant = 0
DO UNTIL RS.eof OR nbrRecordCourrant>=nbrMaxRecords
...
nbrRecordCourrant = nbrRecordCourrant + 1
LOOP
p.s. Attention à tes sujets, l'ensemble des questions de ce forum sont des "problème ASP" et des "Erreur" !!
Ciao
Oznog
Réponses
|