Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Requêtes et SQL.
Requêtes et SQL. Tout ce qui concerne vos questions sur les requêtes et le SQL sous Access se trouve ici.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/09/2011, 15h49   #1
Nouveau Membre du Club
 
Inscription : décembre 2009
Messages : 113
Détails du profil
Informations forums :
Inscription : décembre 2009
Messages : 113
Points : 25
Points : 25
Par défaut mettre à jour champs oui/non d'une table avec update

Bonjour,

A partir de l'état d'une case (cochée / non cochée) dans un formulaire, je souhaite mettre à jour le champs d'une table :

Code :
DoCmd.RunSQL ("UPDATE matable SET case_2 ='false' WHERE num=1")
Dans "matable" le champs "case_2" est défini au format vrai/faux. Or, quand je teste comme ci-dessus, ça plante : "erreur de conversion de type" ?

Si je mets 0 à la place de false, ça marche...

Or, je voudrais mettre à la place de false, la propriété value de ma case de formulaire (case_formulaire.value).
atech est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2011, 16h01   #2
Membre habitué
 
Inscription : mars 2009
Messages : 86
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 86
Points : 100
Points : 100
Bonjour

Enlève les ' cela devrait être mieux.
__________________
PeyePo
PeyePo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2011, 16h11   #3
Nouveau Membre du Club
 
Inscription : décembre 2009
Messages : 113
Détails du profil
Informations forums :
Inscription : décembre 2009
Messages : 113
Points : 25
Points : 25
J'essaie directement avec la propriété VALUE de ma case :

Code :
1
2
case_form = Form.case.Value
DoCmd.RunSQL ("UPDATE table_cases_bassins set case_2_AG = " & case_form & " where num=1")
Dans ce cas, il y a une fenêtre qui apparait "entrez une valeur de paramètre" avec au-dessus du champs de remplissage la valeur booléenne de la case

Par contre, si j'affecte 0 à case_form, ça marche.
atech est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2011, 16h46   #4
Membre confirmé
 
Homme
Chercheur
Inscription : juin 2011
Messages : 150
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Tarn (Midi Pyrénées)

Informations professionnelles :
Activité : Chercheur
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : juin 2011
Messages : 150
Points : 231
Points : 231
Bonjour,

Essayez avec :

Code :
1
2
case_form = Form.case.Value
DoCmd.RunSQL ("UPDATE table_cases_bassins set case_2_AG=" & Cint(case_form) & " where num=1")
Bcdt
fbtsra est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2011, 20h46   #5
Membre du Club
 
Inscription : mai 2010
Messages : 36
Détails du profil
Informations personnelles :
Âge : 61
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : mai 2010
Messages : 36
Points : 45
Points : 45
Bonjour

Attention False --> 0 True --> -1 ; la valeur 1 n'existe pas pour une variable de type Oui/Non

Nourson
Nourson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2011, 21h16   #6
Expert Confirmé
 
Avatar de vodiem
 
Homme Diem VO
Vivre
Inscription : avril 2006
Messages : 2 644
Détails du profil
Informations personnelles :
Nom : Homme Diem VO
Âge : 40
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Vivre
Secteur : Conseil

Informations forums :
Inscription : avril 2006
Messages : 2 644
Points : 3 895
Points : 3 895
salut atech, PeyePo, fbtsra et Nourson,

atech ta dernière syntaxe est correct et fonctionnelle.
Citation:
Envoyé par atech
Code :
DoCmd.RunSQL ("UPDATE table_cases_bassins set case_2_AG = " & case_form & " where num=1")
pour peu que case_form soit un type boolean... pour avoir ton message d'erreur je pense que tu as du confondre le nom de l'étiquette avec le nom de la case à cocher...
vodiem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/09/2011, 08h45   #7
Nouveau Membre du Club
 
Inscription : décembre 2009
Messages : 113
Détails du profil
Informations forums :
Inscription : décembre 2009
Messages : 113
Points : 25
Points : 25
Bonjour,

Il faut bien rajouter la fonction Cint. La variable case_form prend bien les valeurs vrai ou faux mais ça ne marche pas directement. Je ne vois pas pourquoi mais ça marche bien avec ce code :

Code :
1
2
case_form = Form.case.Value
DoCmd.RunSQL ("UPDATE table_cases_bassins set case_2_AG=" & Cint(case_form) & " where num=1")
Merci à tous !
atech est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h19.


 
 
 
 
Partenaires

Hébergement Web