bakchlada
Messages postés37Date d'inscriptiondimanche 8 mai 2005StatutMembreDernière intervention24 janvier 2006
-
19 mai 2005 à 17:31
bakchlada
Messages postés37Date d'inscriptiondimanche 8 mai 2005StatutMembreDernière intervention24 janvier 2006
-
20 mai 2005 à 00:29
Bijour ,
j'ai un probleme avec des combo box (des listes deroulantes si vous voulez ) , ces combo box sont remplis directement par une base de donnée access .
je vais vous donner un aperçu de mon probleme :
imaginez que vous avaez une table A dans laquelle on a id_A comme clé primaire , puis id_B , ce dernier champ est tout simplement la clé primaire de la table B ! ,
la table B contient id_B comme clé primaire , puis info_B .
pendant l'ajout d'un enregistrement dans la table A , l'utilisateur choisit dans une liste les infos de la table B (info_B) dont il voit clairement le contenu , cependant dans l'enregistrement du formulaire dans la BDD c'est l'id_B qui est enregistré dans la table A et non info_B
mon probleme s'effectue pendant la modification , quand je modifie cette enregistrement , c'est info_B qui est enregistré dans la table A a la place de id_B , c'est a dire qu'on a dans le champ id_B : info_B
voila je sais bien que c'est compliqué , mais je vous serez tres reconaissant si vous pouvez m'aider !!
Nicolas_kojack
Messages postés136Date d'inscriptionvendredi 19 novembre 2004StatutMembreDernière intervention25 mai 2012 19 mai 2005 à 23:35
<%
'la chaine de connection à ta base
Set rsB = CreateObject("adodb.recordset")
'Tu sélectionnes tous les champs de la table B
SqlB = "Select * from B"
Set rsB.open SQLB conn, 3, 3
%>
ta liste déroulante avec les champ de B :
<form action="tapagedenregistrement.asp" method="POST">
<select name="lenomdetonchamp">
<% 'Tu fais une boucle pour afficher les informations mais envoyer juste l'id
if rsB.recordcount > 0 then
rsB.movefirst
do while not rsB.eof
%>
<option value="<%=rsB("id_B")%>"><%=rsB("info_B")%></option>
<% rsB.movenext
loop
else
end if
%>
</select>
</form>
La page qui récuperes les infos :
<%
'Tu récupères la valeur de ton champ
lenomdetonchamp = request.form("lenomdetonchamp")
'Chaine de connection avec la base de données
Set rsA = CreateObject("adodb.recordset")
'Tu séctionnes tout les champs de ta table A pour enregistrer dedans
SqlA = "Select * from A"
Set rsA.open SQLA conn, 3, 3
'Nouvel enregistrement dans la table A
rsA.addnew
'Enregistrement dans le champ voulu
'avec la valeur envoyée par le formulaire
rsA("lenomduchampdanstatable") = lenomdetonchamp
'Tu mets a jour la table
rsA.update
'Tu rediriges sinon l'enregistrement n'auras pas été bien pris en compte et tu vas avoir des pbs
rsA.redirect "unepagederedirection.extension"
%>
bakchlada
Messages postés37Date d'inscriptiondimanche 8 mai 2005StatutMembreDernière intervention24 janvier 2006 20 mai 2005 à 00:29
merci nicolas ,
ahh au faite , pour que des gens ne tombent pas dans le meme piege que moi , il faudra faire <option selected value="<%=rsB("id_B")%>"> <%=rsB("info_B")%></option> pour donner la premiere valeur a la combo box .........bof c'est peut etre pas tres important .......... mais on sait jamais ça peut toujours servir !