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 :

Formulaire de recherche multicritère [AC-2013]


Sujet :

Requêtes et SQL.

  1. #1
    Membre à l'essai
    Homme Profil pro
    Chargé de mission recherche
    Inscrit en
    Avril 2019
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé de mission recherche
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Avril 2019
    Messages : 20
    Points : 13
    Points
    13
    Par défaut Formulaire de recherche multicritère
    Bonjour à tous,

    Dans le cadre d'une mission, je dois créer un formulaire de recherche multi-critère à partir d'une base de donnée brute (fichiers excels)
    Le but est d'obtenir une liste d'identifiants qui répondent à TOUS les critères sélectionnés.

    La base de donnée a été importée et le formulaire est créé, avec les listes déroulantes qui fonctionnent bien et un bouton rechercher qui renvoie à une requête.

    Le problème c'est que je n'arrive pas à construite la requête qui me donne exactement ce que je veux.

    La recherche se fait sur 2 tables différentes mais liées par l'identifiant.

    > Une première table TableGeographie où les valeurs à rechercher sont dans des champs distincts :

    Nom : 1.PNG
Affichages : 281
Taille : 21,5 Ko

    Donc ici aucun problème, je créé une requête de sélection multiple :

    Nom : 2.PNG
Affichages : 223
Taille : 5,1 Ko

    Et il me donne l'identifiant 1 comme réponse. Bien joué !

    > Une deuxième table qui me pose plus de problèmes car les valeurs à rechercher sont toutes dans le même champs :

    Nom : 3.PNG
Affichages : 249
Taille : 13,8 Ko

    Et mon but est bien de connaitre l'identifiant en commun pour les valeurs "Oui", "Cancérologie" et "Dr. TRUC", pour obtenir une fois de plus l'identifiant 1
    Je ne peux donc pas procéder de la même manière :

    Nom : 4.PNG
Affichages : 234
Taille : 5,7 Ko

    Une recherche de ce type donne un résultat vide. Je pense qu'il tente de rechercher UNE (ou plusieurs) case qui contient ces 3 valeurs et non pas rechercher toutes les cases qui contiennent l'une de ses valeurs.

    Quelqu'un pourrait m'apporter une solution avec du SQL ?

    Merci d'avance,

    Quentin

    PS : J'ai tenté une autre approche où chaque critère est dans une sous-requête puis je crée une requête INTERSECT qui reprend les résultats de chaque sous requête mais ça fait planter ACCESS.

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Bonjour,

    Il faut mettre les arguments dans les lignes suivantes :
    Une colonne avec le champ "VALEURS" et
    une première ligne de critère à "Oui"
    ensuite dans la ligne suivante où il y a "OU" (dans la même colonne) avec "Cancérologie"
    et ainsi de suite dans la ligne suivante avec "Dr. TRUC".

    C'est ainsi que le QBE d'Access permet d'informer les OU logique.

    Cordialement.
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  3. #3
    Membre à l'essai
    Homme Profil pro
    Chargé de mission recherche
    Inscrit en
    Avril 2019
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé de mission recherche
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Avril 2019
    Messages : 20
    Points : 13
    Points
    13
    Par défaut
    Merci madefemere,

    Malheureusement je ne recherche pas des Identifiants qui correspondent à VALEUR 1 OU VALEUR 2 mais bien VALEUR 1 ET A LA FOIS VALEUR 2.

    C'est peut être plus parlant avec un diagramme de Venn :

    Pour la valeur "Cancérologie", j'ai les identifiants 1,2 et 4
    Pour la valeur "Dr. TRUC", j'ai les identifiants 1
    Pour la valeur "Oui", j'ai les identifiants 1,2,3 et 4

    Nom : 5.PNG
Affichages : 244
Taille : 21,7 Ko

    Ce qui donne comme valeur commune l'identifiant 1 (or avec le OU j'aurais, 1,2,3 et 4)

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Bonjour,

    Et avec ce code ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT T1.IDENTIFIANT, T1.VALEURS, T2.VALEURS AS V2, T3.VALEURS AS V3
    FROM (TableGeographie AS T1 
       INNER JOIN TableGeographie AS T2 ON T1.IDENTIFIANT = T2.IDENTIFIANT)
       INNER JOIN TableGeographie AS T3 ON T2.IDENTIFIANT = T3.IDENTIFIANT
       WHERE (((T1.VALEURS)="OUI") AND ((T2.VALEURS)="Cancérologie") AND ((T3.VALEURS)="DR. TRUC"));
    En QBE, ajouter 3 fois la table et à chaque fois le champ VALEURS avec chaque critère.
    EDIT : Relier les 3 tables par les champs "IDENTIFIANT"

    Cordialement.
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  5. #5
    Membre à l'essai
    Homme Profil pro
    Chargé de mission recherche
    Inscrit en
    Avril 2019
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé de mission recherche
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Avril 2019
    Messages : 20
    Points : 13
    Points
    13
    Par défaut
    Bonjour,

    Merci ça fonctionne très bien

    Je n'ai plus qu'à remplacer mes "critères" par les listes déroulantes !

    Un grand merci !

    Quentin

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

Discussions similaires

  1. [MySQL] Formulaire de Recherche Multicritères
    Par Meewix dans le forum PHP & Base de données
    Réponses: 21
    Dernier message: 24/11/2006, 22h27
  2. Réponses: 3
    Dernier message: 21/09/2006, 12h59
  3. Formulaire de recherche multicritère Access 2003
    Par Mimi64 dans le forum Access
    Réponses: 1
    Dernier message: 19/07/2006, 13h21
  4. Formulaire de recherche multicritères
    Par dolf13 dans le forum Langage
    Réponses: 10
    Dernier message: 21/06/2006, 00h24
  5. Formulaire de recherche multicritères
    Par Michel DELAVAL dans le forum Access
    Réponses: 2
    Dernier message: 19/05/2006, 10h32

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