Bonjour a tous. Aider moi pour ce bug :
Le fichier "deplacement.asp" sert à afficher une liste d'enregistrements d'une table d'une base access dans l'ordre ou l'ordre inverse à partir de n'importe quel enregistrement de la table TousFilms de la base cinema2000.mdb.
J'ai controlé : 1-les fautes d'orthographes, majuscules également. 2- L' acces à la base.. etc..
Aucun message d'erreur apparait. Pourtant ça bug :
Le pointeur se positionne toujours à l'enregistrement n°11. Malgré les méthodes employés : movefirst, move .... Il considère toujours que IDTitre=11 est le 1er enregistrement de cette table alors que c'est le 1. Mais le pire est que j'ai testé le fichier exemple du livre "Initiation à ASP3" de www.wrox.fr, et le résultat est le meme :"Il croit que le premier enreg est le n°11.
J'ai alors conclu qu'il s'agissait d'une erreur dans la base (exemple telechargé sur le meme site).... Mais ou est l'erreur? Access bug???
Voici les fichiers et saisis d'écran :
deplacement.asp
<%
Option Explicit
Dim strConnexion
%>
<!-- #include file="SourceDonnees.asp" -->
<!-- METADATA TYPE="typelib"
FILE="C:\Program Files\Fichiers Communs\System\ado\msado15.dll" -->
<HTML>
<HEAD>
<title>Travail avec Recordset</title>
</HEAD>
<BODY>
<%
Dim chxEnregistrement, strDirection, strChaineSortie, intCompteur, intNbrEnregistrements
If Request.Form("ChxEnregistrement") <> "" Then
chxEnregistrement = Request.Form("ChxEnregistrement")
strDirection = Request.Form("Dir")
Else
chxEnregistrement = 1
strDirection = "ordre"
End If
Dim objRS
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open "TousFilms", strConnexion, adOpenStatic, adLockReadOnly, adCmdTable
intNbrEnregistrements = objRS.RecordCount
objRS.Move chxEnregistrement-1
strChaineSortie = "<TABLE BORDER=1>" & _
"<TR><TD WIDTH=""30%""><B>Réalisateur</B></TD>" & _
"<TD><B>Film<B></TD></TR>"
If strDirection = "ordre" Then
While Not objRS.EOF
strChaineSortie = strChaineSortie & "<TR>" & _
"<TD> " & objRS("IDTitre") & ": " & objRS("Realisateur") & "</TD>" & _
"<TD>" & objRS("Titre") & "</TD>" & _
"</TR>"
objRS.MoveNext
Wend
objRS.MoveFirst
For intCompteur = 1 To chxEnregistrement-1
strChaineSortie = strChaineSortie & "<TR>" & _
"<TD> " & objRS("IDTitre") & ": " & objRS("Realisateur") & "</TD>" & _
"<TD>" & objRS("Titre") & "</TD>" & _
"</TR>"
objRS.MoveNext
Next
Else
While Not objRS.BOF
strChaineSortie = strChaineSortie & "<TR>" & _
"<TD> " & objRS("IDTitre") & ": " & objRS("Realisateur") & "</TD>" & _
"<TD>" & objRS("Titre") & "</TD>" & _
"</TR>"
objRS.MovePrevious
Wend
objRS.MoveLast
For intCompteur = intNbrEnregistrements To chxEnregistrement+1 Step -1
strChaineSortie = strChaineSortie & "<TR>" & _
"<TD> " & objRS("IDTitre") & ": " & objRS("Realisateur") & "</TD>" & _
"<TD>" & objRS("Titre") & "</TD>" & _
"</TR>"
objRS.MovePrevious
Next
End If
strChaineSortie = strChaineSortie & "</TABLE>"
objRS.Close
Set objRS = Nothing
Response.Write strChaineSortie
%>
<BR><HR>
<FORM ACTION="Deplacement.asp" METHOD="POST">
<H2>Formater la liste !</H2>
Où voulez vous faire démarrer cette liste? Enregistrement
<SELECT SIZE=1 NAME="ChxEnregistrement">
<%
For intCompteur=1 To intNbrEnregistrements
Response.Write "<OPTION VALUE=" & intCompteur & ">" & intCompteur & "</OPTION>"
Next
%>
</SELECT><BR><BR>
Vous désirez afficher les enregistrements
<INPUT TYPE="RADIO" NAME="Dir" VALUE="ordre" CHECKED><B>Dans l'ordre</B></INPUT>
ou <INPUT TYPE="RADIO" NAME="Dir" VALUE="inverse"> <B>En ordre inversé</B></INPUT>
(sélection)?
<INPUT TYPE="SUBMIT" VALUE="Voir la liste"></INPUT>
</FORM>
</BODY>
</HTML>
_________________________________________________________________
dans le navigateur avec enreg 1 selectionné :
Réalisateur Film
11: C'est arrive près de chez vous (1992)
12: Franco Zeffirelli Hamlet (1990)
13: David Fincher Seven (1995)
14: Mel Gibson Braveheart (1995)
15: Quentin Tarantino Pulp Fiction (1994)
16: Robert Zemeckis Forrest Gump (1994) (AA) (D:GG) (GuldbaggeN)
17: Steven Spielberg Jurassic Park (1993)
18: Luc Besson Nikita (1990)
19: Roman Polanski Lunes de Fiel (1992)
20: Jonathan Demme Philadelphia (1993)
2: Alain Resnais On connaît la chanson
1: François Truffaut Jules et Jim
3: Cédric Klapisch Un air de famille
4: Gérard Krawczyk Taxi 2
5: Patrice Leconte La veuve de Saint-Pierre
6: Luc Besson Le cinquième élément
7: Robert Guédiguian Marius et Jeannette
8: Alexandre Arcady Là-bas mon pays
9: les frères Dardenne Rosetta
10: Bernard Rapp Une affaire de goût
21: Francis Coppola Dracula (1993)
Formater la liste !
Où voulez vous faire démarrer cette liste? Enregistrement 1-2-3-4-5-6-7-8-9-10-11-12-13-14-15-16-17-18-19-20-21 'dans une liste deroulante
Vous désirez afficher les enregistrements Dans l'ordre ou En ordre inversé (sélection)? 'dans une liste deroulante
_________________________________________________________________
L'erreur est toujours la meme quelque soit l'enreg selectionner dans la zone de liste du formulaire : il y a toujours 10 positions differentes entre l'enreg selectionne et celui affiché??????
aidez moi svp. merci.