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 :

Syntaxe And et Or


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 32
    Par défaut Syntaxe And et Or
    Bonsoir,

    Débutant en VBA, j'ai un problème de syntaxe pour écrire une ligne qui test plusieurs condition avant d'effectuer une action.

    Je voudrais en fait pouvoir faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    If contrôle1 <> "x" and contrôle2 = "y" or "z" then...
    c'est la syntaxe de And et Or qui me pose problème. Quand je veux tester plusieurs contrôles sur 1 valeur chacun ça va mais quand je veux plusieurs valeurs d'un des contrôles je n'arrive pas à trouver la bonne syntaxe.

    Si quelqu'un pouvais m'éclairer ou me renvoyer sur une piste. Merci.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Essayes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If contrôle1 <> "x" and (contrôle2 = "y" or contrôle2= "z") then...
    De plus attention aux parenthèses pour grouper tes tests.

    Un conseil au passage, évite les lettres accentués dans les noms de tes contrôles tel que le ô, et de mettre des noms plus explicites.

    Starec

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 32
    Par défaut
    Merci Starec,

    Malheureusement cela ne fonctionne pas. La clause sur contrôle1 fonctionne mais pas celle sur contrôle2.

    J'ai aussi essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If contrôle1 <> "x" and contrôle2 = ("y" or "z") then...
    sans plus de succès.

    pour les accents et les noms, ce ne sont que des exemples. Dans ma base, exit les accents, espaces et autres.

    Je reste persuadé qu'il faille bien utiliser les parenthèses mais je ne vois vraiment pas d'autre manière de les utiliser...

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    503
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 503
    Par défaut
    Salut,

    recopie bien:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If contrôle1 <> "x" and (contrôle2 = "y" or contrôle2= "z") then...
    et pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If contrôle1 <> "x" and contrôle2 = ("y" or "z") then...

  5. #5
    Membre éprouvé
    Inscrit en
    Août 2008
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 131
    Par défaut
    quelles sont les types de données de "Contrôle1" et "contrôle2"?
    et t'es sûr qu'aucun ne peut être "Null" avant ton test?

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 32
    Par défaut
    Bonjour 6ril25,

    j'ai bien recopié la syntaxe de Starec et l'ai modifié pour obtenir la 2ème. Aucune des deux ne fonctionne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    If contrôle1 <> "x" and contrôle2 = "y" then... 'fonctionne
    If contrôle1 <> "x" and contrôle2 = "z" then... 'fonctionne
    If contrôle1 <> "x" and (contrôle2 = "y" or contrôle2= "z") then... 'ne fonctionne pas
    If contrôle1 <> "x" and contrôle2 = ("y" or "z") then... 'ne fonctionne pas
    Même résultats sans les "" pour y et z.


    Willcartley,

    Les types de donnée sont numauto. Il s'agit en fait de la valeur du champ de clée primaire. Donc pas de null ou de doublon.

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

Discussions similaires

  1. Syntax error IF AND IF THEN AND AND
    Par Daniela_ dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 20/09/2013, 15h03
  2. Réponses: 12
    Dernier message: 30/07/2012, 11h25
  3. [MySQL] Erreur syntaxe AND version mysql5.0
    Par carnegie dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 11/01/2008, 20h00
  4. Syntaxe condition if: AND, OR, elseif
    Par gregounnet dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/07/2007, 15h04

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