HELP ! Comment placer une valeur de Checkbox dans une BD ACCESS ?
sulab44
Messages postés1Date d'inscriptionsamedi 28 février 2004StatutMembreDernière intervention 7 septembre 2004
-
7 sept. 2004 à 21:25
cs_AshenShugar
Messages postés202Date d'inscriptionjeudi 24 juin 2004StatutMembreDernière intervention22 janvier 2009
-
13 sept. 2004 à 13:16
Bomjour,
J'essaye depuis 3 jours à récupérer la valeurs d'un checkbox et de la placer dans une BD ACCESS, mais j'ai toujours ceci comme erreur... J'ai essayé le placer la valeur Vrai, True, 1 et Faux, False, 0, mais rien ne marche.... Qu'est-ce que je dois faire ??
ADODB.Field erreur '800a0cb3'
L'opération demandée par l'application n'est pas prise en charge par le fournisseur.
/e-com/promotions.asp, ligne 101
et voici le code
<%'-------déclaration de la base------------------------------
DSN_BASE = "DBQ=" & Server.Mappath("Boutique.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};Driverld=25"
DIM Vrai, Faux
'promo( intCmpt, 0 Ref_prod 1 sel_prod 2 = description)
DIM promo(100, 3)
'-------création de la connection et du recordset-----------
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open DSN_BASE
'Récupérer les infos sur les produits et les placer dans une table
SQL1 = "SELECT * FROM produits ORDER BY Ref_prod"
set rsL = conn.execute(SQL1)
if not rsL.eof then
while not rsl.eof
promo(intCmpt, reference) = rsL.Fields("Ref_prod")
promo(intCmpt, selection) = rsL.Fields("sel_prod")
promo(intCmpt, description) = rsL.Fields("titre_prod")
if rsL.Fields("sel_prod").value = 0 then
'response.write(" La reponse est Faux")
Faux = 0
end if
if rsL.Fields("sel_prod").value = -1 then
'response.write(" La réponse est Vrai")
Vrai = -1
end if
rsL.movenext
intCmpt = intCmpt+1
Wend
end if
rsL.close
set rsL = nothing
%>
<%
if Request.Form("mon_champ") <>"" then %>
Vous avez choisi
<% for i=1 to Request.Form("mon_champ").count
response.write("
'Mettre tous les articles a Faux
for i = 0 to intCmpt - 1
promo(i, selection) = Faux
Next
'Mettre les articles choisis a Vrai
for i = 0 to intCmpt - 1
for j=1 to Request.Form("mon_champ").count
if Request.Form("mon_champ").item(j) = _
promo(i, reference)
promo(i, selection) = Vrai
end if
Next
Next
'Modifier la sélection de l'article dans la BD
'-------création de la connection et du recordset-----------
Set Conn2 = Server.CreateObject("ADODB.Connection")
Conn2.Open DSN_BASE
'Récupérer les infos sur les produits et les placer dans une table
SQL1 = "SELECT * FROM produits"
set modifRsL = conn.execute(SQL1)
modifRsl.MoveFirst
if not modifRsL.eof then
while not modifRsL.eof
for i = 0 to intCmpt - 1
if promo(i, reference) = modifRsl.Fields("Ref_prod") then
response.write("
..." & promo(i, selection))
modifRsl.Fields("sel_prod").value = promo(i, selection)
modifRsl.Update
end if
Next
cs_AshenShugar
Messages postés202Date d'inscriptionjeudi 24 juin 2004StatutMembreDernière intervention22 janvier 20091 13 sept. 2004 à 13:16
Je ne suis pas sûr qu'il était nécessaire de mettre tout ton code ! Néanmoins, pour ton problème, il faut que tu testes la valeur du Checkbox avec validation du formulaire et insérer toi-même ta valeur car il me semble qu'il ne prends pas de TRUE ou des FALSE mais là, je m'avance un peu trop ! Je suis qu'en VB6, le checkbox coché retourne la valeur constante vbCheck ! I doit y avoir un truc similaire,mais à toi de chrcher un peu ! Quoiqu'il en soit, il faut que tu testes la valeur avant de vouloir la rajouter !