PB liste deroulante avec DISTINCT

Signaler
Messages postés
32
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
28 mars 2006
-
Messages postés
32
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
28 mars 2006
-
Bonjour

J'ai un probleme avec une liste deroulante. Sans la ligne suivante:


RsTable.Open = "SELECT DISTINCT * FROM Plantes ORDER BY Indication ASC"

elle fonctionne.
Si quelqu'un pouvait m'aider....

D'avance merci

Voici le code:


<form name="deroulant">


<select NAME="liste" SIZE=1 onchange="go()">


<%


'--- Ouverture du recordset sur les éléments de la table plantes


Set rs = conn.Execute("SELECT * FROM Plantes ORDER BY Indication DESC")


RsTable.Open = "SELECT DISTINCT * FROM Plantes ORDER BY Indication ASC"


rs.movefirst


Do While Not rs.EOF


%>


<OPTION VALUE="voir liste plante indication.asp?indication=<%= rs("ref_Pla") %>"><%= rs("Indication") %></OPTION>


<%


rs.MoveNext


Loop


%>

15 réponses

Messages postés
1642
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
3
Salut



Il ne faut pas mettre de = sur cette ligne!!



RsTable.Open "SELECT DISTINCT * FROM Plantes ORDER BY Indication ASC"




Nurgle
C'est une grande folie que de vouloir être sage tout seul !
Messages postés
32
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
28 mars 2006

Merci

Mais ne fonctionne toujours pas.
Rien ne s'affiche dans ma liste deroulante....
Messages postés
1642
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
3
essaye ça :



RsTable.Open "SELECT DISTINCT * FROM Plantes ORDER BY Indication ASC", 3, 3

Nurgle
C'est une grande folie que de vouloir être sage tout seul !
Messages postés
32
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
28 mars 2006

Meme chose liste vide?????
Messages postés
1642
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
3
j'avais pas vu ça , il y a un problème :



Set rs = conn.Execute("SELECT * FROM Plantes ORDER BY Indication DESC")

à koi sert cette ligne ?? c'est ton RsTable qui va remplir la liste !!



essaye ça :




<form name="deroulant">

<select NAME="liste" SIZE=1 onchange="go()">

<%

Set RsTable = Server.CreateObjet("ADODB.RecordSet")

RsTable.Open = "SELECT DISTINCT * FROM Plantes ORDER BY Indication ASC", 3, 3




RsTable.movefirst



Do While Not RsTable.EOF


%>

<OPTION VALUE="voir liste plante indication.asp?indication=<%= RsTable("ref_Pla") %>"><%=RsTable("Indication") %></OPTION>

<%

RsTable.MoveNext

Loop

%>







Nurgle
C'est une grande folie que de vouloir être sage tout seul !
Messages postés
1642
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
3
désolé il y a une faute :



c'est pas :

RsTable.Open = "SELECT DISTINCT * FROM Plantes ORDER BY Indication ASC", 3, 3

c'est :

RsTable.Open = "SELECT DISTINCT * FROM Plantes ORDER BY Indication ASC", conn, 3, 3


Nurgle
C'est une grande folie que de vouloir être sage tout seul !
Messages postés
32
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
28 mars 2006

Salut

J'ai testé, apparait un message d'erreur:

Erreur de compilation Microsoft VBScript error '800a0401'
Fin d'instruction ......................
......................line 72

RsTable.Open = "SELECT DISTINCT * FROM Plantes ORDER BY Indication ASC",conn, 3, 3
-----------------------------------------------------------------------^
Messages postés
1642
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
3
ah ***** , j'ai fait la même erreur que toi !!

il n'y a pas de égal ( = ) !



RsTable.Open "SELECT DISTINCT * FROM Plantes ORDER BY Indication ASC",conn, 3, 3



Nurgle
Il est plus aisé d'être sage pour les autres que pour soi-même !
Messages postés
32
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
28 mars 2006

Salut

Rien ne saffiche dans la liste deroulante,
Je n'y comprends rien....................
Messages postés
32
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
28 mars 2006

J'ai testé ma liste deroulante sans la ligne :
RsTable.Open "SELECT DISTINCT * FROM Plantes ORDER BY Indication ASC",conn, 3, 3

Elle ne fonctionne pas.....
Messages postés
32
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
28 mars 2006

salut
Apres plusieurs essais:

Ce code fonctionne :

<%'-----ouverture de la base, de la connection, création du recordset


DSN_BASE = "DBQ=" & Server.Mappath("/fpdb/herboristerie.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};DriverId=25"


Set Conn = Server.CreateObject("ADODB.Connection")


Conn.Open DSN_BASE


Set rs = Server.CreateObject("ADODB.Recordset")


rs.Open "SELECT DISTINCT Indication FROM Plantes" , Conn%>


<FORM Method="POST" Action="page.asp">


<select name="liste" size="1">


<%'---boucle ASP pour récupérer toutes les valeurs du champ


rs.MoveFirst


do while not rs.eof%>


<option><%=rs("Indication")%></option>


<%rs.MoveNext


loop%>


</select>


</FORM>


<%'--------fermetures-------


rs.Close


Set rs=Nothing


Conn.Close


Set Conn=Nothing%>

Mais si je remplace: <option><%=rs("Indication")%></option> par <OPTION VALUE="voir liste plante indication.asp?indication=<%= rs("Ref_Pla") %>"><%= rs("Indication") %></OPTION>
le code ne fonctionne Plus
POURQUOI????:
Messages postés
1642
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
3
tu est bien sûr qu'il y a un champ "Ref_Pla" ?



fait (avant la boucle), un <% Response.Write rs("Ref_Pla") %> , juste pour voir !


Nurgle
Il est plus aisé d'être sage pour les autres que pour soi-même !
Messages postés
32
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
28 mars 2006

Rien ne s'affiche...
Messages postés
1642
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
3
rien ne s'affiche quand tu fais <% Response.Write rs("Ref_Pla") %> ??



Donc c'est un problème avec ta base de données !!

vérifie qu'il y a bien un champ Ref_Pla et qu'il contient quelque chose !

Nurgle
Il est plus aisé d'être sage pour les autres que pour soi-même !
Messages postés
32
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
28 mars 2006

Le champ Ref_Pla existe bien dans ma table access
format :N° auto et cle primaire de ma base