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 :

Comment récupérer une modalité d'un champ zone de liste déroulante dans une requête ?


Sujet :

Access

  1. #1
    Membre à l'essai
    Homme Profil pro
    Chargé de traitement
    Inscrit en
    Décembre 2019
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Chargé de traitement
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2019
    Messages : 16
    Points : 11
    Points
    11
    Par défaut Comment récupérer une modalité d'un champ zone de liste déroulante dans une requête ?
    Bonjour et bonne année 2022,

    Je souhaiterai faire une requête COUNT (depuis une macro vba), de personnes ayant une modalité selectionnée dans un champ zone de liste déroulante comportant l'option autoriser plusieurs valeurs sous Access

    Ma table s'appelle :
    CLASSEMENT_SOUS_CONDITION

    Le champ s'appelle (il contient des espaces) :
    Comportement de l'auteur

    et la valeur que je souhaiterai sélectionner dans ma liste contient des espaces et une apostrophe :
    Ne s'est pas présenté

    dans la liste issue d'une table :
    Ne s'est pas présenté
    A refusé la procédure
    N'a pas respecté la ou les obligations imparties

    Voici ma dernière tentative qui ne fonctionne toujours pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT COUNT(ID) FROM CLASSEMENT_SOUS_CONDITION where `Comportement de l'auteur`.Value = ''Ne s'est pas présenté''
    j'ai mis double quote autour de la modalité Ne s'est pas présenté dans la syntaxe à cause de l'apostrophe,

    Quand j'exécute mon code j'ai en Excel Erreur d'exécution '3075': Erreur de syntaxe (opérateur absent) dans l'expression `Comportement de l'auteur`.Value = ''Ne s'est pas présenté''

    Auriez-vous une solution svp ?

    Merci d'avance pour toute aide

  2. #2
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 392
    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 392
    Points : 19 817
    Points
    19 817
    Billets dans le blog
    66
    Par défaut
    Bonsoir,

    C'est l'apostrophe du milieu qu'il faut doubler pour lui indiquer qu'il fait partie de la chaîne :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Count(ID) AS cpt
    FROM CLASSEMENT_SOUS_CONDITION
    WHERE [Comportement de l'auteur]='Ne s''est pas présenté'

    Habituellement, on utilise replace(machaine, "'", "''") pour le doubler dans la chaîne.

    Mais tu peux aussi encadrer avec des guillemets ("..."), ça t'évite de doubler l'apostrophe :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Count(ID) AS cpt
    FROM CLASSEMENT_SOUS_CONDITION
    WHERE [Comportement de l'auteur]="Ne s'est pas présenté"

  3. #3
    Membre à l'essai
    Homme Profil pro
    Chargé de traitement
    Inscrit en
    Décembre 2019
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Chargé de traitement
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2019
    Messages : 16
    Points : 11
    Points
    11
    Par défaut
    Oh mais merci énormément ça m'a fait tourner en rond cete histoire ! ça marche merci

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 21/09/2010, 16h53
  2. Réponses: 13
    Dernier message: 26/11/2009, 16h28
  3. Réponses: 0
    Dernier message: 10/10/2007, 16h40
  4. Réponses: 3
    Dernier message: 24/02/2007, 15h21
  5. Réponses: 6
    Dernier message: 15/02/2007, 13h46

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