HELP ! Comment placer une valeur de Checkbox dans une BD ACCESS ?

Signaler
Messages postés
1
Date d'inscription
samedi 28 février 2004
Statut
Membre
Dernière intervention
7 septembre 2004
-
Messages postés
202
Date d'inscription
jeudi 24 juin 2004
Statut
Membre
Dernière intervention
22 janvier 2009
-
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)

DIM intCmpt, i

intCmpt = 0
reference = 0
selection = 1
description = 2

response.write("

Recup les infos dans la BD

")
%>

<%

'-------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("

-------

Vous _
avez choisi " & Request.Form("mon_champ").item(i))
response.write " "
Next

'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

modifRsL.movenext
Wend
end if

modifRsL.close
set modifRsL = nothing

%>


<% end if %>

<HTML>
<HEAD>
<TITLE></TITLE>
<META NAME="Generator" CONTENT="TextPad 4.0">
<META NAME="Author" CONTENT="?">
<META NAME="Keywords" CONTENT="?">
<META NAME="Description" CONTENT="?">
<META HTTP-EQUIV="Page-Enter" Content="RevealTrans (Duration=3, Transition=26)">
</HEAD>

<CENTER> Liste des articles en promotion ce mois-ci </CENTER>

<!-- Afficher la liste des checkbox -->
<FORM method ="POST" name= "mon_form">

<TABLE ALIGN="left" BORDER=1 CELLSPACING=0
CELLPADDING=0 WIDTH="100%">
----

Description |
Numéro |
En promotion |

<% for i = 0 to intCmpt - 1 %>
----, <% response.write( promo(i, description) ) %></TD>
<% response.write( promo(i, reference) ) %>,
<CENTER>

CHECKED
<% else %>
UNCHECHED
<% end if %>
value="<%=promo(i, reference)%>">
</CENTER>,

<% Next %>

</TD>
</TR>
</TABLE

<CENTER>

</CENTER>

</FORM>

</HTML>
<!-- ---------------------------- -->

voila!!

Merci

Sulab44

1 réponse

Messages postés
202
Date d'inscription
jeudi 24 juin 2004
Statut
Membre
Dernière intervention
22 janvier 2009
1
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 !