Remplir une combo en fonction d'une autre

Soyez le premier à donner votre avis sur cette source.

Snippet vu 16 611 fois - Téléchargée 31 fois

Contenu du snippet

Un petit source pour pouvoir remplir une combobox en fonction de la valeur de la première, dans le cadre d'une base de donnée access ! L'exemple est illustré avec des salles qui contiennent des ordis :) Voila !

Source / Exemple :


<%
	set cnx=Server.createObject("ADODB.connection")
	cnx.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\Test\bdd.mdb"
%>
<html>
<body>
<form method="POST" name="FormAjout" action="reponseaj.asp">
<table border="0" width="500" height="120">
<%
'on récupére toutes les salles
sql ="SELECT * FROM SALLE ORDER BY SalleCode"
Set req= cnx.execute(sql)
NumSalle = Request.Form("Cache")
%>
	<tr>
	<td align="right"> Salle : </td>
	<td>
	<SELECT onchange="Salle()" Name="CmbSalle">
		<Option Value="Rien">Choisir Salle</option>
		<%
  	              'TQ non fin RS
   		      do while not req.eof
    	              Response.write "<OPTION Value="
      	              ' récup premier champ
	               Response.write req(0)
	               if NumSalle=Req(0) then
                       response.write " SELECTED "
        	       end if
      	      	       Response.write ">"
      		       Response.write req(0)
      		       Response.write "</option>"
      		       Response.write vbcrlf
      		       req.MoveNext
   		loop
   req.Close	%>
</select>
</td></TR>
<%
If NumSalle <> "" then
sql ="SELECT * FROM ORDI WHERE OrdiSalleCode ='" & NumSalle &  "' ORDER BY OrdiCode"
Set req = cnx.execute(sql) %>
	<TR>
	<td align="right"> Ordi : </td>
	<td>
	<SELECT Name="CmbOrdi">
	     <%
  	     'TQ non fin RS
   		do while not req.eof
      		       Response.write "<OPTION Value="
      		       ' récup premier champ
	  	       Response.write req(0)
      		       Response.write ">"
      		       Response.write req(0)
      		       Response.write "</option>"
      		       Response.write vbcrlf
                req.MoveNext
   		loop
		req.Close
		%>
</select></td></TR>
</FORM>
<%end if %>
</table>
</form>
<script language="javascript">
function Salle()
{	
	Salle = document.FormAjout.CmbSalle.value;
	document.general.cache.value = Salle;
	document.general.submit();
}
</script>
<FORM method="POST" name="general" action="cmb.asp">
<input type="hidden" name="cache">
</form>
</body>
<%cnx.close%>
</html>

Conclusion :


Soyez cool c'est mon premier code posté :) !
Je pense que d'autre sources font pareil, et le mien est loin d'être parfait !Je suis ouvert à tous commentaires :)

A voir également

Ajouter un commentaire

Commentaires

ikram311
Messages postés
17
Date d'inscription
mardi 21 septembre 2004
Statut
Membre
Dernière intervention
4 octobre 2005
-
est ce que tu peux spécifier les fichiers "cmb.asp" et "reponseaj.asp"?
j'ai besoin de ce code
grizzli2
Messages postés
1
Date d'inscription
mercredi 15 juin 2005
Statut
Membre
Dernière intervention
25 juin 2005
-
Je suis dans le même cas que IKRAM311. Peux tu éventuellement faire parvenir le fichier exemple. Cela me permettra de mieux comprendre le processus. Merci.
audi_83
Messages postés
1
Date d'inscription
mercredi 24 janvier 2007
Statut
Membre
Dernière intervention
31 janvier 2007
-
Merci pour ton code il ma était très utile, et il est simple à comprendre.
cs_williams59
Messages postés
15
Date d'inscription
jeudi 6 novembre 2003
Statut
Membre
Dernière intervention
23 décembre 2007
-
Bjr à tous,

Merci pour ce code très sympa. Juste une chose : comment récupérer la value des deux combo et afficher soit le résultat en texte soit pour l'utiliser pour remplir une BD.

Merci par avance

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.