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 :

Activer ou non un critère de sélection dans une requête [AC-2007]


Sujet :

Requêtes et SQL.

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2014
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Activer ou non un critère de sélection dans une requête
    Bonjour,

    Je suis en train de créer une base de données me permettant de gérer un ensemble d'étudiants. Pour faire simple : la table "principale" contient les nom, prénom, sexe et mention au bac des étudiants.
    Je voudrais obtenir une requête me permettant d'obtenir une liste d'étudiants respectant tel(s) ou tel(s) critère(s). Pour cela, j'ai créé un formulaire dans lequel apparaissent deux listes de choix déroulantes : une pour le sexe (homme, femme, indifférent) et une pour la mention au bac (passable, assez bien, bien, très bien, indifférent).

    Ainsi, si je choisis "sexe : indifférent" et "mention au bac : assez bien", j'aimerais obtenir la liste des étudiants ayant eu mention assez bien, qu'ils soient hommes ou femmes. J'arrive sans problème à créer une requête me permettant de filtrer à la fois sur le sexe et sur la mention au bac, mais je n'arrive pas à désactiver le critère correspondant lorsque je choisis "indifférent".

    Auriez-vous une piste ?

    Merci beaucoup pour votre aide.

    Benoist

  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,

    Pour rester dans la continuité de ce que tu as fait, est-ce que tu peux poster ton code actuel pour le filtre et les valeurs éventuelles du champ sexe.

    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
    Futur Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2014
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par madefemere Voir le message
    Bonjour,

    Pour rester dans la continuité de ce que tu as fait, est-ce que tu peux poster ton code actuel pour le filtre et les valeurs éventuelles du champ sexe.
    Bonjour,

    Merci de m'aider.

    Je n'ai pas du tout fait de code SQL (je ne maîtrise pas du tout), j'ai fabriqué la requête "visuellement". Voici sa structure :

    Nom : requete.png
Affichages : 468
Taille : 21,3 Ko

    La table contenant le listing des étudiants s'appelle t_identite_etudiant. Je n'ai pas encore "programmé" l'aspect des mentions au bac, mais une fois que ça fonctionnera avec le sexe, je pourrai procéder de même avec la mention au bac.

    La table t_sexe possède les 3 enregistrements suivants :
    id_sexe sexe
    0 (case vide)
    1 F
    2 M

    La formule que j'ai tenté dans le VraiFaux est : VraiFaux([Formulaires]![f_recherche_etudiants_selon_criteres]![Id_sexe]>0;[Formulaires]![f_recherche_etudiants_selon_criteres]![Id_sexe]; >= 0 )

    Lorsque je demande dans le formulaire "f_recherche_etudiants_selon_criteres" l'ensemble des femmes ou des hommes, ça marche nickel. Mais c'est lorsque je laisse la case vide (ce qui correspond à id_sexe = 0), le critère >=0, qui suffirait pour afficher les hommes, femmes, ou sexe non renseigné, ne fonctionne pas. Pourtant, quand je mets ce critère seul dans la case, la requête me ressort bien l'ensemble des étudiants, hommes, femmes ou non renseigné. Je pense que c'est la présence du VraiFaux qui pose problème.
    J'ai tenté de mettre sur le dernier argument ">= 0", ou encore >= "0", mais ça n'a rien donné de mieux.

    Merci encore pour l'aide.

    Benoist

  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
    Essaies de modifier le vraifaux par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    VraiFaux([Formulaires]![f_recherche_etudiants_selon_criteres]![Id_sexe]>0;VRAIFAUX([Formulaires]![f_recherche_etudiants_selon_criteres]![Id_sexe]=1;1;2); 0 )
    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
    Futur Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2014
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par madefemere Voir le message
    Essaies de modifier le vraifaux par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    VraiFaux([Formulaires]![f_recherche_etudiants_selon_criteres]![Id_sexe]>0;VRAIFAUX([Formulaires]![f_recherche_etudiants_selon_criteres]![Id_sexe]=1;1;2); 0 )
    Cordialement,
    Bonsoir,

    Merci mais ce n'est pas l'opération que je souhaite effectuer : dans ta proposition, on trie bien les hommes et les femmes (pour lesquels id_sexe vaut 1 ou 2), mais si le sexe n'est pas renseigné dans le formulaire "f_recherche_etudiants_selon_criteres", c'est-à-dire si [Formulaires]![f_recherche_etudiants_selon_criteres]![Id_sexe] = 0, ta proposition renvoie 0, je vais donc récupérer les étudiants pour lesquels le sexe n'est pas renseigné dans la table t_identite_etudiant.

    Dans mon cas, si dans le formulaire "f_recherche_etudiants_selon_criteres" le sexe n'est pas renseigné, je voudrais récupérer tous les étudiants de la table : hommes, femmes, et non renseigné. C'est donc le dernier 0, du dernier argument du "VraiFaux", qu'il faudrait remplacer par un critère sélectionnant tous les enregistrements de la table.

    Merci encore en tout cas.

    Benoist

  6. #6
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 871
    Points : 3 451
    Points
    3 451
    Par défaut
    Bonjour benoistv, madefemere,

    Remplace le 0 par "[t_identite_etudiant].[id_sexe]".

    Tu trouveras l'exemple ici

    Bonne journée
    Ce qui se conçoit bien s’énonce clairement et les mots pour le dire arrivent aisément. Nicolas Boileau
    Si tout est OK, n'oubliez pas de cliquer sur

  7. #7
    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
    OK Robert, j'avais plus les yeux en face des trous sur ce point.
    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

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2014
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Bonsoir madefemere et Robert,

    Merci pour votre aide, ça marche nickel ! J'ai bien galéré avec ce souci....

    Cordialement.

    Benoist

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

Discussions similaires

  1. Réponses: 23
    Dernier message: 13/12/2014, 15h48
  2. Critère de sélection dans une requête
    Par tibo894 dans le forum Développement
    Réponses: 2
    Dernier message: 23/09/2011, 11h30
  3. Réponses: 4
    Dernier message: 22/02/2008, 10h02
  4. Sélection dans une requête
    Par tinose dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 16/02/2008, 08h36
  5. Critère ET / OU dans une requête
    Par Nessie37 dans le forum IHM
    Réponses: 8
    Dernier message: 25/07/2007, 16h26

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