Bonjour à tous,
j'ai un petit problème concernant les listes déroulantes modifiables en ASP.
(désolé d'avance pour la charabia qui va suivre

)
Je veux faire en sorte que je puisse insérer de nouveaux éléments dans ma base de données et que la liste déroulante correspondant à ces éléments se mette à jour automatiquement.Comme cela, on peut rajouter de nouveaux éléments à une liste.
En fait, j'ai déjà crée un script qui fonctionne plus ou moins correctement. Le problème c'est que lorsque j'ai plusieurs champs vides dans la base, ils sont également insérés dans la liste déroulante. Pas très pratique.
J'ai mis un "select DISTINCT ..." pour éviter qu'il ne mette deux fois les mêmes eléments, mais ça ne fonctionne pas.
Voici mon script qui permet d'insérer des éléments dans la base et d'afficher les listes avec les éventuels nouveaux enregistrements:
<head>
<%
Const adOpenForwardOnly=0
Const adLockOptimistic=3
Const adLockPessimistic=2
Const adLockReadOnly=1
Const adCmdTable=2
Dim Conn,Rs
Set Conn=Server.CreateObject("ADODB.Connection")
Set Rs=Server.CreateObject("ADODB.Recordset")
Conn.ConnectionString="PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=d:\...\chimique.mdb"
Conn.Open
SQL="select DISTINCT * from environnement"
Rs.open SQL,Conn
%>
<form name="environnement" method="post" action="environnement_recup.asp">
...
<select size="1" name="autre">
<% Rs.MoveFirst
do while not Rs.EOF %>
<option value="<% =Rs("autre") %>"><% =Rs("autre") %></option>
<% Rs.MoveNext
loop %>
</select> <input type="button" value="OK" onclick="liste(environnement)"> <input type="text" name="autretxt" size="48" value="">
...
<%
Rs.Close
Set Rs=Nothing
Conn.Close
Set Conn=Nothing
%>
Ce script doit permettre d'afficher la liste avec tous ses éléments et de pouvoir en ajouter d'autres en les tapant dans la zone de texte si ce qu'on veut mettre n'est pas dans la liste. la liste est censée se mettre à jour au prochain enregistrement.
De plus, lorsque je veux afficher toutes les informations de l'enregistrement pour les modifier, j'aimerais afficher la liste déroulante contenant tous les éléments mais egalement la valeur correspondant à l'enregistrement dans le champs texte comme ceci:
response.write "<select size='1' name='autre'>"
SQL="select DISTINCT autre from environnement"
Rs.open SQL,Conn
Rs.MoveFirst
do while not Rs.EOF
response.write "<option value='"&Rs("autre") &"'>"&Rs("autre")&"</option>"
Rs.MoveNext
loop
response.write "</select> <input type='button' value='OK' onclick='environnement(securite)'>"
response.write " <input type='text' name='autretxt' size='48' value='"& Rs("autre") &"'>
Mais là il refuse d'afficher la valeur de Rs("autre") dans le champs texte.
Je ne sais vraiment pas comment faire. Je crois que j'ai tout essayé:)
Pourriez-vous m'aider à trouver une solution?
Merci d'avance.

* - Angeline 67 - *