Remplir une combo en fonction d'une autre

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

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.