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

VBA Access Discussion :

Mettre à zéro toutes les cases à cocher d'un champ [AC-2010]


Sujet :

VBA Access

  1. #1
    Candidat au Club
    Homme Profil pro
    biologiste
    Inscrit en
    Octobre 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Suisse

    Informations professionnelles :
    Activité : biologiste

    Informations forums :
    Inscription : Octobre 2016
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Mettre à zéro toutes les cases à cocher d'un champ
    (Niveau plutôt débutant)

    Bonjour à tous,

    J'ai plusieurs tables identiques, chacune au nom de pays et donc contenant des enregistrements distincts.
    Dans ces tables, trois champs : [VOEUX ENVOYES],[VOEUX RECUS],[REP-VOEUX RECUS], contiennent une case à cocher pour chaque enregistrement et un champ texte [CADEAUX].
    En fin d'année, je souhaite mettre toutes les cases à cocher de chacun de ces champs à zéro (c-à-d vides) ainsi que le champ texte. Voici mon code (ci-dessous) mais ça ne marche pas. Rien ne se passe. Pourtant, l'année passée ça marchait. Je ne sais pas si le code a été bidouillé.

    Quelqu'un peut-il m'aider ?
    Grand merci d'avance

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    ---------------- Le code :------------
    Sub UpdateX()
     
        Dim dbs As Database
     
        ' Modifiez cette ligne pour préciser le chemin de la base de données ADRESSES.mdb.
        Set dbs = OpenDatabase("C:\Users\Ordi\Desktop\ADRESSES.mdb")
     
        ' Attribue la valeur 0 aux champ [VOEUX ENVOYES],[VOEUX RECUS],[REP-VOEUX RECUS], 
        ' de tous les enregistrements dont ce champ a pour valeur le nombre 1.
        'et " " au champ texte [CADEAUX]
     
        dbs.Execute "UPDATE SUISSE " _
            & "SET [VOEUX ENVOYES] = False ,[VOEUX RECUS] = False ," _
            & "[REP-VOEUX RECUS] = False , [CADEAUX] = '' "
     
        dbs.Execute "UPDATE FRANCE " _
            & "SET [VOEUX ENVOYES] = False ,[VOEUX RECUS] = False ," _
            & "[REP-VOEUX RECUS] = False ,[CADEAUX] = ''"
     
        dbs.Execute "UPDATE BELGIQUE " _
            & "SET [VOEUX ENVOYES] = False ,[VOEUX RECUS] = False ," _
            & "[REP-VOEUX RECUS] = False ,[CADEAUX] = ''"
     
    dbs.Close
     
    End Sub

  2. #2
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 260
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 260
    Points : 19 423
    Points
    19 423
    Billets dans le blog
    63
    Par défaut
    Bonsoir,

    Dans quel contexte utilisez-vous ce code ?

    Depuis quelle application ?

    Je présume que le chemin de la base de données "C:\Users\Ordi\Desktop\ADRESSES.mdb" est bon ?

    Cdlt,
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  3. #3
    Candidat au Club
    Homme Profil pro
    biologiste
    Inscrit en
    Octobre 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Suisse

    Informations professionnelles :
    Activité : biologiste

    Informations forums :
    Inscription : Octobre 2016
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    Comme le suggère le préfixe [AC-2010], il s'agit d'une base de données construite sous Access 2010.
    Nous avons, pour chaque pays, une base permanente avec des noms de personnes et coordonnées, etc.
    Dans les champs énumérés, nous cochons parfois une case OUI/NON, en fonction de la situation. A la fin de l'année, nous voudrions remettre à zéro toutes les cases cochées des enregistrements de ces 3 champs et vider un champ du texte qu'il contient.
    Le chemin de la base de données est parfaitement correct. Nous avons aussi fait plusieurs essais en changeant la base de répertoire et, bien sûr, en indiquant le chemin juste. Rien n'y fait.
    car23

  4. #4
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 260
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 260
    Points : 19 423
    Points
    19 423
    Billets dans le blog
    63
    Par défaut
    Bonjour,

    Si je comprends bien, vous exécutez cette procédure depuis une base sous Access 2010.

    Est-ce en cliquant sur un bouton de commande dans un formulaire ou depuis une macro ?

    Avez-vous vérifié si les macros sont activées dans votre base 2010 :

    Nom : activer_macros.jpg
Affichages : 339
Taille : 145,2 Ko

    Je suis sous 2013, mais la fenêtre ne dois pas être trop différente sous 2010.

    Peut-être ajouter l'option dbFailOnError dans le code pour afficher le message d'erreur :

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    ---------------- Le code :------------
    Sub UpdateX()
     
        Dim dbs As Database
     
        ' Modifiez cette ligne pour préciser le chemin de la base de données ADRESSES.mdb.
        Set dbs = OpenDatabase("C:\Users\Ordi\Desktop\ADRESSES.mdb")
     
        ' Attribue la valeur 0 aux champ [VOEUX ENVOYES],[VOEUX RECUS],[REP-VOEUX RECUS], 
        ' de tous les enregistrements dont ce champ a pour valeur le nombre 1.
        'et " " au champ texte [CADEAUX]
     
        dbs.Execute "UPDATE SUISSE " _
            & "SET [VOEUX ENVOYES] = False ,[VOEUX RECUS] = False ," _
            & "[REP-VOEUX RECUS] = False , [CADEAUX] = '' ", dbFailOnError
     
        dbs.Execute "UPDATE FRANCE " _
            & "SET [VOEUX ENVOYES] = False ,[VOEUX RECUS] = False ," _
            & "[REP-VOEUX RECUS] = False ,[CADEAUX] = ''", dbFailOnError
     
        dbs.Execute "UPDATE BELGIQUE " _
            & "SET [VOEUX ENVOYES] = False ,[VOEUX RECUS] = False ," _
            & "[REP-VOEUX RECUS] = False ,[CADEAUX] = ''", dbFailOnError
     
    dbs.Close
     
    End Sub

    Cdlt,
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  5. #5
    Candidat au Club
    Homme Profil pro
    biologiste
    Inscrit en
    Octobre 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Suisse

    Informations professionnelles :
    Activité : biologiste

    Informations forums :
    Inscription : Octobre 2016
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    Merci pour ces pistes.
    J'ai modifié le module comme suit en éliminant le champ texte [CADEAUX] et en rajoutant votre proposition 'dbFailOnError' :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     dbs.Execute "UPDATE SUISSE " _
            & "SET [VOEUX ENVOYES] = False ,[VOEUX RECUS] = False ," _
            & "[REP-VOEUX RECUS] = False", dbFailOnError
    Ça marche, sans message d'erreur : les cases à cocher sont toutes décochées et ce dans toutes les tables. Super.

    Mais j'aimerais bien incorporer au code mon champ texte [CADEAUX] (qui semble bugger) pour vider les enregistrements. Une idée pour cela ?
    En tout cas merci.
    car23

  6. #6
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    Bonjour,
    As-tu vérifié si la propriété "Chaine vide autorisée" du champ [CADEAUX] était à Oui ?
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonjour,

  8. #8
    Candidat au Club
    Homme Profil pro
    biologiste
    Inscrit en
    Octobre 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Suisse

    Informations professionnelles :
    Activité : biologiste

    Informations forums :
    Inscription : Octobre 2016
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Bonjour,


    ..."Chaine vide autorisée" du champ [CADEAUX] était à Oui ?
    Oui : voir fichier joint

    je vais testé aujourd'hui : [CADEAUX] = Null,

    merci pour votre aide précieuse
    Images attachées Images attachées  

  9. #9
    Candidat au Club
    Homme Profil pro
    biologiste
    Inscrit en
    Octobre 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Suisse

    Informations professionnelles :
    Activité : biologiste

    Informations forums :
    Inscription : Octobre 2016
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    Tout est OK, la macro (complète) marche au poil.
    Merci à tous!
    C'est dingue, comme on va tout de suite mieux derrière un écran...
    car23

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

Discussions similaires

  1. sélectionner toutes les cases à cocher
    Par lebreton22 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 17/08/2007, 10h56
  2. Sélection de toutes les cases à cocher d'une page
    Par maverick56 dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 11/07/2007, 15h14
  3. Cocher toutes les cases à cocher d'un formulaire
    Par petitloup71 dans le forum Access
    Réponses: 12
    Dernier message: 14/09/2006, 10h37
  4. cocher toutes les cases à cocher
    Par philippe123 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 01/09/2005, 18h13
  5. Récupérer toutes les cases à cocher
    Par psyco2604 dans le forum ASP
    Réponses: 7
    Dernier message: 14/10/2004, 10h54

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