Bonjour,
Je dois à l'aide de listes déroulantes, pouvoir effectuer des filtres des champs d'une table, lors de son affichage.
Dans les 2 listes déroulantes, j'ai récupéré les valeurs des champs de ma table, j'ai aussi insérer un choix "cellules non vides" qui a comme valeur "%_%".
Tout cela fonctionne, mais je voudrais aussi insérer un choix "toutes" qui récupére toutes les lignes sans restriction.
La valeur "*" que j'ai mis ne fonctionne pas. Existe-t-il une valeur qui retourne toutes les lignes ?
Sinon, comment dans ma requete sql (pour l'affichage de la table) je peux dire de ne pas faire de condition (WHERE) sur ce champ lorsque il retourne le choix "Toutes".
Voici mon code:
<!--*****************************************************************************-->
<form method=post name="tri">
<p>Nom:
<select size="1" name="tri_nom" action="Annuaire.asp">
<option value="*" selected>Tous
<option value="%_%">Non vides
<%
set conn=server.createobject("ADODB.Connection")
conn.open "Annuaire"
SQL="SELECT DISTINCT Nom FROM Annuaire ORDER BY Nom"
set rs = Server.CreateObject ("ADODB.Recordset")
set rs = conn.execute(SQL)
do while not rs.eof
%>
<option value="<%=rs("Nom")%>"><%=rs("Nom")%></option>
<%
rs.movenext
loop
rs.close
set rs=nothing
conn.close
set conn=nothing
%>
</select>
<p>Prenom:
<select size="1" name="tri_prenom">
<option value="*" selected>Tous
<option value="%_%">Non vides
<%
'connexion avec la base
set conn=server.createobject("ADODB.Connection")
conn.open "Annuaire"
'Créons et exécutons la requête
SQL="SELECT DISTINCT Prenom FROM Annuaire ORDER BY Prenom"
set rs = Server.CreateObject ("ADODB.Recordset")
set rs = conn.execute(SQL)
do while not rs.eof
%>
<option value="<%=rs("Prenom")%>"><%=rs("Prenom")%></option>
<%
rs.movenext
loop
rs.close
set rs=nothing
conn.close
set conn=nothing
%>
</select>
<input type="submit" name="tri" value="Afficher">
</form>
<%
tri_nom = Request.Form ("tri_nom")
tri_prenom = Request.Form ("tri_prenom")
set conn=server.createobject("ADODB.Connection")
conn.open "Annuaire"
set rs = Server.CreateObject ("ADODB.Recordset")
SQL="SELECT * FROM Annuaire WHERE Nom LIKE '"&tri_nom&"' AND Prenom LIKE '"&tri_prenom&"' ORDER BY Nom, Prenom"
set rs = conn.execute(SQL)
do while not rs.eof
response.write ( "<tr>" & "<td><font face=Arial size=1><center>"&rs("Nom")& "<td><font face=Arial size=1><center>"&rs("Prenom")& "</tr>")
rs.movenext
loop
rs.close
set rs=nothing
conn.close
set conn=nothing
%>
</table>
<!--*********************************************************************************-->
Merci d'avance.