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

Requêtes et SQL. Discussion :

Requête avec fonction "Comme " plus "Ou"


Sujet :

Requêtes et SQL.

  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Octobre 2009
    Messages : 374
    Points : 133
    Points
    133
    Par défaut Requête avec fonction "Comme " plus "Ou"
    Bonjour,

    Voici mon problème, j'utilise dans mes requêtes, la commande "Comme" pour aller chercher des critères dans un formulaire. jusque là, aucun problème.

    Configuration :
    * 1 table avec deux champs
    - champ 1 : province (NR, BX, LX etc...)
    - champ 2 : nom de la personne

    * 1 formulaire (Encodage 2015) avec une liste déroulante
    - champ 1 (province): province (*, NR, BX, LX etc...)

    * 1 requête avec les deux champs de la table
    - champ 1 : province
    - champ 2 : nom de la personne

    Dans les critères du champ 1 de la requête, j'ai la commande suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Comme "*"+[Forms]![Encodage 2015]![province]+"*"
    Donc, lorsque je choisi dans la liste déroulante du formulaire, par exemple "NR" et qu'ensuite je lance la requête, celle-ci ne m'affiche que les noms de NR. Si je choisi "*", alors j'ai toutes les provinces.

    Maintenant
    J'aimerais pouvoir choisir plusieurs provinces dans la liste,

    Donc avoir :
    * 1 formulaire avec une liste déroulante
    - champ 1 : province - mais pouvoir mentionner : "NR" Ou "LX" (par exemple)

    Mais cela ne fonctionne pas, la commande "Comme" ne comprend pas la valeur : "NR" Ou "LX"

    Pour le moment pour que cela fonctionne, je devrais avoir plusieurs champs (provinces) et dans la requête, avoir plusieurs commande "Comme" dans les critères Ou/

    Merci d'avance pour votre aide

    Bien à vous

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 323
    Points : 23 758
    Points
    23 758
    Par défaut
    Bonjour.

    La syntaxe est quelque chose comme :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    Comme "*"+[Forms]![Encodage 2015]![province1]+"*" ou Comme "*"+[Forms]![Encodage 2015]![province2]+"*"

    Note qu'avec cette syntaxe, si province2 est vide tu récupère tout même si province1 est renseigné.

    Donc, il faut ruser et passer par un champ calculé : Critere2 : iif(not isnull([Forms]![Encodage 2015]![province2]); ([TonChamp] like "*" & [Forms]![Encodage 2015]![province2] & "*"); false) et un test sur Critere2 à True.

    La solution la plus simple est faire du SQL dynamique, c-à-d faire créer ta chaine SQL par du code VBA.

    Il y a un bon tutoriel sur un formulaire de recherche à critère multiple sur ce site.

    En passant, je recommande de ne pas utiliser + mais & comme opérateur de concaténation, cela évite les mauvaises surprises avec les nombre car si tes 2 champs sont numériques alors [Champ1] + [Champ2] pourrait additionner les 2 champs et non pas les concaténer ce qui que 1 + 2 donnerai 3 et non 12 comme attendu. Cela évite aussi la confusion au le programmeur.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

Discussions similaires

  1. [AC-2007] lenteur tableau croisé d'une requête avec fonction vba que faire ?
    Par rogerfon dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 07/07/2012, 22h42
  2. Requête avec fonction MAX
    Par theo99 dans le forum SQL
    Réponses: 2
    Dernier message: 16/12/2010, 16h38
  3. requête avec fonction logarithmique
    Par nefertari dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 25/07/2007, 15h39
  4. Requête avec fonction Sum
    Par freud dans le forum Bases de données
    Réponses: 3
    Dernier message: 12/02/2007, 14h32
  5. requête avec fonction week()
    Par Sebastien_INR59 dans le forum Requêtes et SQL.
    Réponses: 10
    Dernier message: 27/06/2006, 19h05

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