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

Access Discussion :

Problème de critère pour le champ d'une requête de recherche


Sujet :

Access

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2014
    Messages : 34
    Points : 20
    Points
    20
    Par défaut Problème de critère pour le champ d'une requête de recherche
    Bonjour,

    j'ai créé un formulaire de recherche multicritères basé donc sur une requête, avec dans le formulaire des zones de liste déroulantes permettant de choisir les critères de la recherche afin d'afficher les valeurs correspondantes dans une feuille de données intégrée.

    Dans la requête sur laquelle est basé le formulaire, j'ai donc mis pour chaque champ un critère le rattachant à sa zone de liste correspondante dans le formulaire.

    Et je bloque pour l'un des champs. Le problème est que ce champ n'est pas obligatoire, et n'est donc pas tout le temps rempli. Il s'agit d'un champ appelé "Secteur", qui est lui-même une liste déroulante basée sur une requête.

    Le problème apparaît lorsque je mets un critère à ce champ.
    Quand je mets le même critère que pour les autres champs (qui sont eux tout le temps remplis), à savoir: Comme "*" & [Formulaires]![Formulaire de recherche]![FiltreSecteur] & "*" où filtresecteur est la liste déroulante permettant de filtrer la recherche; alors quand rien n'est sélectionné dans la liste, je n'obtiens que les enregistrements dans lesquels le champ secteur est renseigné.

    Sauf que ce que je souhaite, c'est que quand la liste est "à zéro", je puisse voir tous les enregistrements, et que le filtre ne s'applique qu'une fois une valeur choisie dans la liste.

    J'ai donc essayé divers critères, j'ai un peu tâtonné, je vous les met "pêle-mêle" ci dessous:

    1)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    VraiFaux(EstNull([Formulaires]![Formulaire de recherche]![Filtresecteur]);"";"Comme" & "*" & [Formulaires]![Formulaire de recherche]![Filtresecteur] & "*")
    Résultat: n'affiche aucun enregistrement par défaut, par contre le filtre s'applique quand on sélectionne une valeur.

    2)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Comme nz([Formulaires]![Formulaire de recherche]![Filtresecteur];"*" & Null & "*")
    Résultat: n'affiche jamais rien quoi que je sélectionne.

    3) Dans "critères":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Comme "*" & [Formulaires]![Formulaire de recherche]![Filtresecteur] & "*"
    Dans "ou":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Comme PremVrai(EstVide([Formulaires]![Formulaire de recherche]![Filtresecteur]);"*")
    Résultat: n'affiche par défaut que les enregistrements où un secteur est renseigné, et filtre correctement si une valeur est choisie.

    4)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    VraiFaux(EstNull([Formulaires]![Formulaire de recherche]![Filtresecteur]);[Formulaires]![Formulaire de recherche]![Secteur];VraiFaux([Formulaires]![Formulaire de recherche]![Filtresecteur]="";[Formulaires]![Formulaire de recherche]![Secteur];"Comme" & " " & "*" & [Formulaires]![Formulaire de recherche]![Filtresecteur] & "*"))
    Résultat: n'affiche jamais rien (tout ça pour ça!)


    Etc. etc. j'en ai essayé plein j'ai fait "toutes" les combinaisons possibles, essayé des trucs invraisemblables, mais je pense qu'il y a une question de logique et/ou de syntaxe, et après avoir passé encore 2h ce matin + écumé les forums (mais pas évident de trouver un sujet équivalent), je m'en remets à vous!

  2. #2
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2014
    Messages : 34
    Points : 20
    Points
    20
    Par défaut
    Bon, alors il semblerait que j'ai réussi à trouver la bonne formule, mais le problème c'est qu'elle est soit disant trop complexe pour access (qui me met un message d'erreur...)

    La voici:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    VraiFaux(EstNull([Formulaires]![Formulaire de recherche]![Filtresecteur].[value]);Est null ou Comme "*" & [Formulaires]![Formulaire de recherche]![Filtresecteur] & "*";[Formulaires]![Formulaire de recherche]![Filtresecteur].[value])
    c'est le deuxieme paramètre qui ne passe pas : Est null ou Comme "*" & [Formulaires]![Formulaire de recherche]![Filtresecteur] & "*"

    Certainement un problème de syntaxe.. quelqu'un saurait me dire que modifier ou comment simplifier ça?

    merci d'avance!

Discussions similaires

  1. [AC-2010] Problèmes de critères pour une requête.
    Par Mathieu_31 dans le forum Access
    Réponses: 1
    Dernier message: 24/02/2013, 07h51
  2. Réponses: 2
    Dernier message: 10/12/2012, 12h23
  3. Réponses: 2
    Dernier message: 02/06/2008, 09h10
  4. Problème d'UPDATE sur un champ d'une table MyISAM
    Par alouette dans le forum Requêtes
    Réponses: 6
    Dernier message: 13/07/2006, 20h17
  5. changement de type pour un champ dans une table
    Par Missvan dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 23/02/2004, 15h26

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