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êtes multi critère Access - SQL/VBA


Sujet :

Requêtes et SQL.

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Novembre 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Novembre 2018
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Requêtes multi critère Access - SQL/VBA
    Bonjour,

    Je suis débutant sur Access, et j'essaye de créer une application qui permettra de saisir, modifier et gérer des actions (retouches après qualité).
    J'ai déjà programmé toute la partie saisie, modification, login, droit utilisateurs... par VBA (je connais assez bien ce langage).

    Maintenant je m'attaque aux requêtes pour pouvoir extraire les données en fonction de critères précis

    Mes deux questions sont :
    1) Avez vous un tuto, site, vidéo en tete qui explique les bases des requêtes en SQL, assez facilement et de manière concise (je regarderai les spécificités au besoin) ?

    2) Comment créer une requête multi critère en passant par un formulaire :
    ex : (nom de la personne qui à créer la retouche ET (Statut = validé OU Statut = a valider OU statut = non réalisé) et zone spécifique)
    Le problème c'est que la requêtes me sort toutes les retouches validé et "a valider", même si elle ne sont pas de la personne qui a créer la retouche, ou qu'elle sont dans un zone différente .

    Ce que je veux par exemple dans cette requête c'est avoir tout les enregistrements avec un statut particulier (validé ou a valider ou non réalisé) créer par une même personne (valeurs récupéré dans un formulaire) dans un périmètre défini (valeurs récupéré dans un formulaire).

    Merci,

    Mouss.

  2. #2
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 878
    Points : 4 754
    Points
    4 754
    "Always look at the bright side of life." Monty Python.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Novembre 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Novembre 2018
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Merci beaucoup je vais m'y mettre

    Concernant la question 2 la solution se trouve elle dans ces tuto ?

    Mouss

  4. #4
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 878
    Points : 4 754
    Points
    4 754
    Par défaut
    Bonjour,

    Pour la question 2, encore un tuto (au début, c'est le moment d'engranger du capital !)
    https://cafeine.developpez.com/acces...echerchemulti/

    CDLT
    "Always look at the bright side of life." Monty Python.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Novembre 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Novembre 2018
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Merci c'est vraiment cool, j'ai pu avancer et j'arrive a faire ma requête !!!

    Maintenant j'ai un nouveau petit soucis c'est que lorsque je laisse certaines combobox de mon formulaire vide (ou null) cela me plante toute la requête cf code si dessus

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT ListeP8.Numero, ListeP8.Ouverture, ListeP8.PLN, ListeP8.[Nom de l'auteur], ListeP8.[Fonction de l'auteur], ListeP8.Handover, ListeP8.Station, ListeP8.Description, ListeP8.[Estimation du temps], ListeP8.Secteur, ListeP8.Zone, ListeP8.Catégorie, ListeP8.[Service pilote], ListeP8.[Station pilote], ListeP8.[Nom pilote], ListeP8.[Action / commentaire], ListeP8.Réalisation, ListeP8.Réalisateur, ListeP8.Vérification, ListeP8.Vérificateur, ListeP8.Statut
    FROM ListeP8
    WHERE ((ListeP8.PLN)=[Formulaires]![RqListeP8Avancée]![PLNAvancée])
     
    AND ((ListeP8.Secteur)=[Formulaires]![RqListeP8Avancée]![SecteurAvancée])
     
    AND (((ListeP8.Statut)=[Formulaires]![RqListeP8Avancée]![Statut1Avancée]) OR ((ListeP8.Statut)=[Formulaires]![RqListeP8Avancée]![Statut2Avancée]) OR ((ListeP8.Statut)=[Formulaires]![RqListeP8Avancée]![Statut3Avancée]) OR ((ListeP8.Statut)=[Formulaires]![RqListeP8Avancée]![Statut4Avancée]))
     
    AND ((ListeP8.Catégorie)=[Formulaires]![RqListeP8Avancée]![Catégorie1Avancée]) OR ((ListeP8.Catégorie)=[Formulaires]![RqListeP8Avancée]![Catégorie2Avancée]) OR ((ListeP8.Catégorie)=[Formulaires]![RqListeP8Avancée]![Catégorie3Avancée]) OR ((ListeP8.Catégorie)=[Formulaires]![RqListeP8Avancée]![Catégorie4Avancée]) OR ((ListeP8.Catégorie)=[Formulaires]![RqListeP8Avancée]![Catégorie5Avancée]) OR ((ListeP8.Catégorie)=[Formulaires]![RqListeP8Avancée]![Catégorie6Avancée]) OR ((ListeP8.Catégorie)=[Formulaires]![RqListeP8Avancée]![Catégorie7Avancée]);
    Si "[Formulaires]![RqListeP8Avancée]![PLNAvancée]" est vide cela me plante tout idem pour les autres combobox.

    Ma question, comment faire comprendre à Access : "vérifie ce critère seulement si cette combo box est non nulle" ?
    Si vous pouvez m'orienter ou me donner un exemple concret ce serait vraiment cool !

    Merci

  6. #6
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 878
    Points : 4 754
    Points
    4 754
    Par défaut
    Tu ne dois jamais comparer à des valeurs nulles.
    Pour contrer cela, utilises la fonction NZ() qui renvoie une chaine vide "" au lieu d'une valeur NULL

    ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ...
    WHERE (nz((ListeP8.PLN ) = nz( [Formulaires]![RqListeP8Avancée]![PLNAvancée] ) )
     
    AND ( nz(ListeP8.Secteur) =  nz([Formulaires]![RqListeP8Avancée]![SecteurAvancée]))
     
    AND ((nz(ListeP8.Statut)= nz([Formulaires]![RqListeP8Avancée]![Statut1Avancée])) OR  ... etc
    regarde la fonction NZ dans l'aide Access via F1

    CDLT
    "Always look at the bright side of life." Monty Python.

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

Discussions similaires

  1. [AC-2010] Requête via listbox multi-critères --> Possible sans VBA ?
    Par jehhej dans le forum Requêtes et SQL.
    Réponses: 17
    Dernier message: 15/11/2013, 14h08
  2. [SQL] Créer Requête Multi-Critères
    Par ArHacKnIdE dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 11/04/2008, 14h13
  3. Recherche multi-critères Access
    Par nancy_leblanc dans le forum VBA Access
    Réponses: 4
    Dernier message: 18/12/2007, 17h21
  4. requête multi-critère parametrable
    Par milady dans le forum Oracle
    Réponses: 7
    Dernier message: 25/09/2006, 14h08
  5. [Access-VBA] Requête multi-critère/Formulaire en mode continu
    Par adriano057 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 02/08/2006, 10h07

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