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 :)
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.