IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

Mise à jour d'un champ Oui/Non


Sujet :

Access

  1. #1
    Membre régulier Avatar de mouloudéen
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    186
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Mai 2005
    Messages : 186
    Points : 81
    Points
    81
    Par défaut Mise à jour d'un champ Oui/Non
    Bonjours tout le monde,

    Au travail j’ai conçu une petite application avec Access 2003, tout marche bien sauf une chose.
    Le problème se pose lors de la Mise à jour des champs de Type Oui/Non.

    Pour que vous puissiez voir mieux le problème j’ai réduit mon application à une application très basique.

    L’application et constituée de :

    - une table appelée ‘MaTable’ composée d’un seul champ de type ‘Oui/Non’. Ce champ est appelé ‘MonChamp’. Supposons qu la table contient un seul enregistrement dont le champ MonChamp est à false (non).
    -Un formulaire (‘MonFormulaire’) Contenant une case à cocher (‘MaCaseACocher’) et trois boutons : bouton ‘MAJ’, bouton ‘Cocher’ et bouton ‘Decocher’.

    -Dans l’événement ‘sur clic’ du bouton ‘ Cocher’ j’ai le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.MaCaseACocher.Value = True
    - Dans l’événement ‘sur clic’ du bouton ‘ Decocher’ j’ai le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.MaCaseACocher.Value = False
    - Dans l’événement ‘sur clic’ du bouton ‘ Maj j’ai le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
      Dim DB As DAO.Database, rst As DAO.Recordset, fld As DAO.Field
     
      Set DB = CurrentDb
     
        Me.MaCaseACocher.SetFocus
        MaCaseACocher_Click
        Me.Requery
        Me.MaCaseACocher.Requery
        DB.Execute "Update MaTable Set MonChamp = '" & Me.MaCaseACocher.Value & "' "
     
    DB.Close
    On lance le formulaire, on clique sur le bouton Cocher ensuite sur le bouton MAJ le champ MonChamp de notre enregistrement doit être à True (oui).
    On ferme le forulaire et on consultre notre table. Notre champ contient toujours la valeur false !!!.


    On refait le même travail mais cette fois on n’utilise pas le Bouton cocher mais on coche directement sur la case à cocher. Dans ce cas la MAJ se fait comme il se doit !!!

    j'aimerai que quelq'un parmi vous m'aide pour savoir où est le problème.

    merci d'vance pour votre aide (je m'excuse pour mon Français)

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 419
    Points : 508
    Points
    508
    Par défaut
    Salut

    utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Me.MaCaseACocher = -1
    Me.MaCaseACocher = 0
    pour cocher/décocher
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    docmd.runsql "Update Matable SET monChamp = " & Me.MaCaseACocher
    pour valider
    Je suppose que tu sais ce qu tu fais sinon je ne vois pas l'utilité d'en passer par ce système


    Edit : je ma gourré dans le code

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 25
    Points : 23
    Points
    23
    Par défaut
    bonjour,

    il me semble que pour les champs de type oui/non les deux valeur possible sont vrai/faux

    tu peux donc déclarer une variable temporaire qui prend la valeur Vrai si MaCaseACocher est à true ou qui prend la valeur Faux si MaCaseACocher est à false. Sa devrait donner un truc dans le genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    function maj_champ()
     
    dim tmp as string
    dim sql as string
     
    if Me.MaCaseACocher = True then tmp = "Vrai"
    if Me.MaCaseACocher = False then tmp = "Faux"
     
    sql = "Update MaTable Set MonChamp = '" & tmp & "';" 
     docmd.runsql(sql)

  4. #4
    Membre régulier Avatar de mouloudéen
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    186
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Mai 2005
    Messages : 186
    Points : 81
    Points
    81
    Par défaut
    Merci beaucoup boubignole & stan21

    j'ai pu régler le problème par le code suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
      Dim DB As DAO.Database, rst As DAO.Recordset, fld As DAO.Field 
     
      Set DB = CurrentDb 
     
      DB.Execute "Update MaTable Set MonChamp = " & CInt(Me.MaCaseACocher.Value) & " " 
     
      DB.Close


    pour valider
    Je suppose que tu sais ce qu tu fais sinon je ne vois pas l'utilité d'en passer par ce système
    effectivent les instructions ci-dessous ne sert à rien j'ai juste oublier de les effacées avant de poster mon message, je faisais des tests

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Me.MaCaseACocher.SetFocus 
        MaCaseACocher_Click 
        Me.Requery 
        Me.MaCaseACocher.Requery

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2003] Requête mise a jour de champ Oui/Non
    Par wedge3112 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 28/10/2012, 19h06
  2. [AC-2003] Requête mise a jour de champ Oui/Non
    Par wedge3112 dans le forum Access
    Réponses: 0
    Dernier message: 26/10/2012, 08h30
  3. [AC-2007] mettre à jour champs oui/non d'une table avec update
    Par atech dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 20/09/2011, 08h45
  4. Réponses: 3
    Dernier message: 05/02/2010, 03h45
  5. Réponses: 2
    Dernier message: 12/02/2003, 15h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo