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

IHM Discussion :

Recherche multi-critères, champ valeurs multiple et champ concaténé [AC-2010]


Sujet :

IHM

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mai 2012
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Mai 2012
    Messages : 49
    Points : 34
    Points
    34
    Par défaut Recherche multi-critères, champ valeurs multiple et champ concaténé
    Bonjour,

    Dans ma base accès, j'ai un formulaire de recherche multicritères nous permettant de faire une recherche parmi nos salariés selon certains critères.
    Le formulaire "listing" m'affiche les champs de recherches (mobilité, outils, sociétés) et mon sous-formulaire.

    Ce sous-formulaire est généré via une requête "requête_salarié" qui me permet de gérer les champs que je souhaite afficher, et lui indiquer les champs de tri.
    Pour résumé les principaux champs j'ai : l'ID (caché), Nom-Prénom (Texte), Outils (Champs valeurs multiple), Sociétés (Concaténation).

    Pour vous expliquer les deux derniers champs :
    Dans le formulaire où j'ajoute les outils, j'ai un liste déroulante où je coche les outils que connais le salarié. (champs valeurs multiples)
    Pour les sociétés, c'est différents puisque les infos proviennent d'une autre table. En fait, un collaborateur peut être aller en mission dans plusieurs sociétés différentes. Il nous faut donc un historique. J'ai donc dans une table : N° - ID - Société - Fonction - Datesmission
    J'ai donc créer une requête qui via une macro, va concaténer le champ société en fonction de l'ID, puisqu'on retrouve plusieurs sociétés pour le même ID (collaborateur). Attention, tout le monde n'a pas forcément été en mission, je pense notamment aux Employés et cadres de bureau. Du coup le champs sont vides pour eux et n'apparaissent pas dans cette table. Du coup, un petit Left Join réglera le problème dans ma requête SQL initial.

    Je reviens à ma requête initial.J'ai donc comme critères :
    Champ outils : Comme "*" & [Formulaires]![listing]![cbo_outils1] & "*" Et Comme "*" & [Formulaires]![listing]![cbo_outils2] & "*" Et Comme "*" & [Formulaires]![listing]![cbo_outils3] & "*"
    Champ société : Comme "*" & [Formulaires]![listing]![cbo_société]

    Ainsi, sur mon formulaire listing, je clique sur un bouton qui actualise mon sousformulaire (et donc ma requête) en fonction de ce que l'on aura saisi dans les cbo.

    Sauf que... au lieu d'avoir 2000 enregistrements, j'en ai 162300. J'enlève le champs société, il m'affiche bien mes 2000 enregistrements.
    Je remet le champs société, je ne met pas de critère ni au champs société, ni au champs Outils, et j'ai mes 2000 enregistrements.

    Comment faire cohabiter les deux champs pour que je puisse faire une recherche multicritères ?

    J'espère avoir été assez claire, et par avance je vous remercie pour votre aide.

  2. #2
    Membre confirmé
    Avatar de dok flint
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    366
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 366
    Points : 548
    Points
    548
    Par défaut
    Bonjour,
    Les 2000 enregistrements ,est ce que ce sont 2000 salariés ou 2000 misions .
    A+
    Pourquoi faire compliqué quand on peut faire simple
    Je suis encore en ACCESS 2003
    Un petit clic sur ça fait toujours plaisir , c'est par là -------------------------------------------------------v

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mai 2012
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Mai 2012
    Messages : 49
    Points : 34
    Points
    34
    Par défaut
    Ce sont mes 2000 salariés.

    Concernant les missions, je ne les aient presque pas rentrés pour le moment, j'en ai mis une petite dizaine pour voir si cela fonctionnait.

    Il m'affiche bien tout mes salariés, sauf qu'il les multiplient quand, dans ma requête, je lui indique comme condition ce qu'il y a de saisie dans les combobox outils1-2-3 (sans activé la combobox société)

    A priori quand j'ai une seule combobox outils, ça multiplie par puissance 2 les salariés. quand j'en met 3 ca multiplie par puissance 8... d'où les 164300.

    J'enlève les conditions de combobox outils, la sa fonctionne comme avant. Mais du coup je ne peut pas faire une recherche sur les outils (ce qui est très embétant).
    Si j'enlève le champs société et que je remet comme condition les combobox outils, là ca marche. Mais si j'ajoute le champs société, même sans combobox, j'ai 164300 salariés

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mai 2012
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Mai 2012
    Messages : 49
    Points : 34
    Points
    34
    Par défaut
    Bon ba n'ayant pas eu de réponses sur mon soucis, je suis passé par une autre solution... Je la poste, au cas où quelqu'un aurait le même problème que moi.

    Au lieu d'avoir une table dans laquelle j'avais :
    ID - Société - Date - Fonction


    Je suis passé à une table :
    ID - Société1 - Date1 - Fonction1 - Société2 - Date2....


    Du coup la concaténation est plus simple puisque je lui demande de concaténer des colonnes (Société1 + Société2 + Société3). Au lieu de passer par une concaténation via une macro qui me recherche toutes les sociétés pour le même ID.

    Mon problème est ainsi résolu puisque ma requête ne bug plus.

    Conclusion : une concaténation via une macro de recherche et les champs de valeurs multiple dans une même requête, ça ne fait pas bon ménage.

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

Discussions similaires

  1. [AC-2007] Formulaire de recherche multi-critères avec champs variables
    Par chris1012 dans le forum IHM
    Réponses: 6
    Dernier message: 28/09/2009, 10h50
  2. Recherche multi-critères (plusieurs champs par critères)
    Par nancy_leblanc dans le forum VBA Access
    Réponses: 1
    Dernier message: 19/12/2007, 08h26
  3. Réponses: 7
    Dernier message: 26/10/2006, 15h13
  4. Recherche Multi-Critères 9 champs, 6 tables
    Par Moyaku dans le forum Access
    Réponses: 17
    Dernier message: 24/08/2006, 09h50
  5. Recherche multi-critères et champs vides
    Par Soulghard dans le forum Access
    Réponses: 4
    Dernier message: 15/02/2006, 14h40

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