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 :

Macro , comment faire prendre une valeur à une "case à cocher"


Sujet :

Access

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 45
    Points : 18
    Points
    18
    Par défaut Macro , comment faire prendre une valeur à une "case à cocher"
    J'ai deux formulaires dont un qui s'ouvre a l'aide d'un macro une fois que je clique sur la case a cocher , le probleme c'est que cette case mm si elle apparait cocher dans mon formulaire elle ne l'est pas dans ma table

    J'avais pensé a entrer une ligne de commande dans ma macro pour lui dire d'affecter la valeur -1 a cette case mais comment faire ?

    Merci

  2. #2
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 45
    Points : 18
    Points
    18
    Par défaut
    Personne ?

  3. #3
    Membre régulier Avatar de vador972
    Profil pro
    Inscrit en
    Août 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 71
    Points : 81
    Points
    81
    Par défaut
    Salut,
    Par exemple base toi sur ce code que tu placera sur l'évènement 'Sur Clic' d'un contrôle de type bouton :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
     
    Sub Maj_Click()
    Dim MyRec As Recordset
     
     
    'ouverture d'un recordset
    Set MyRec = CurrentDb.OpenRecordset("SELECT NomDuChamp FROM NomDeTaTable WHERE ChampClePrimaire=" & ValeurClePrimaire & ";")
     
    'mise à jour des données
    With MyRec
        .Edit
        .Fields(0) = True
        .Update
        .Close
    End With
     
    End Sub

  4. #4
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 45
    Points : 18
    Points
    18
    Par défaut
    Oui mais je n'ai pas le code pour ajouter -1 à interventions.immo

  5. #5
    Membre régulier Avatar de vador972
    Profil pro
    Inscrit en
    Août 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 71
    Points : 81
    Points
    81
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    Sub Maj_Click()
    Dim MyRec As Recordset
    If CaseACocher.value=1 then  'si la case est cochée
     
      'ouverture d'un recordset
      Set MyRec = CurrentDb.OpenRecordset("SELECT Intervention FROM      immo WHERE intervention.ClePrimaire=" & ValeurClePrimaire & ";")
     
      'mise à jour des données
      With MyRec
          .Edit
          .Fields(0) = -1
          .Update
          .Close
      End With
    End If
     
      End Sub

  6. #6
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 45
    Points : 18
    Points
    18
    Par défaut
    Citation Envoyé par vador972
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Sub Maj_Click()
    Dim MyRec As Recordset
    If CaseACocher.value=1 then  'si la case est cochée
    
      'ouverture d'un recordset
      Set MyRec = CurrentDb.OpenRecordset("SELECT Interventions.immo FROM  Interventions WHERE intervention.ClePrimaire=" & ValeurClePrimaire & ";")
    
      'mise à jour des données
      With MyRec
          .Edit
          .Fields(0) = -1
          .Update
          .Close
      End With
    End If
    
      End Sub
    OK
    En rouge c'est ce que j'ai modifié car je pense que tu as inversé les tables et champs ?!
    En bleu je dois rentrer quelles valeurs ?

    Merci pour tout

  7. #7
    Membre régulier Avatar de vador972
    Profil pro
    Inscrit en
    Août 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 71
    Points : 81
    Points
    81
    Par défaut
    En blue c'est le nom du champ contenant ta clé primaire (en espérant que tu en aies créee une).

  8. #8
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 45
    Points : 18
    Points
    18
    Par défaut
    Citation Envoyé par vador972
    En blue c'est le nom du champ contenant ta clé primaire (en espérant que tu en aies créee une).
    Oui biensur , ma clé primaire est un numero auto , je ne vois pas quelle valeur lui rentrée apres interventions.clé primaire ?

  9. #9
    Membre régulier Avatar de vador972
    Profil pro
    Inscrit en
    Août 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 71
    Points : 81
    Points
    81
    Par défaut
    Alors :
    Tu crée une zone de texte basé sur cette même table affichant le numéro de la clé. Appelons ce Champ texte 'ClePrim' :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Set MyRec = CurrentDb.OpenRecordset("SELECT Interventions.immo FROM  Interventions WHERE intervention.ClePrimaire=" & ValeurClePrimaire & ";")
    devient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Set MyRec = CurrentDb.OpenRecordset("SELECT Interventions.immo FROM  Interventions WHERE intervention.ClePrimaire=" & Cleprim.Value & ";")

Discussions similaires

  1. Comment faire un IN dans une macro
    Par baime dans le forum Macro
    Réponses: 3
    Dernier message: 17/02/2012, 12h41
  2. Réponses: 0
    Dernier message: 05/09/2011, 17h39
  3. Réponses: 1
    Dernier message: 13/03/2011, 12h03
  4. Réponses: 7
    Dernier message: 05/12/2008, 09h26

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