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 :

Recherche etablissement dans Liste déroulante


Sujet :

Access

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2006
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 23
    Points : 15
    Points
    15
    Par défaut Recherche etablissement dans Liste déroulante
    BOnjour a tous.

    Je voudrais avoir une liste déroulante me pemettant de retrouver un enregistremnt donné qui, au lieu de me proposer les enregistrements exacts qui se trouvent dans le champ sélectionnés une liste de type "contient".

    Exemple.
    Si je tape toto, je voudrais qu'il renvoie les enregistrements:

    "atoto", "totoa","maman et toto".

    Un petit coup de main?

    Merci d'avance.

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 600
    Points
    24 600
    Par défaut
    Bonjour,

    Il faut travailler soit avec un filtre soit avec une condition where avec une préférence pour le filtre.

    Dans l'événement Après MAJ de la liste déroulante mettre ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    me.filter = "Monchamp like ""*" & me.maliste & "*"""
    me.filterOn = true
    Ou Monchamp est le controle basé sur le champ contenant le toto tata titi
    et Maliste est le nom du controle de liste déroulante.

    Note que like "*blabla*" filtre les enregistrements contenant l'item de maliste sélectionné.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2006
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 23
    Points : 15
    Points
    15
    Par défaut
    Merci Loufab de ta réponse rapide.

    Je viens juste d'avoir 2 sec.

    Je teste et je donne le retour.

  4. #4
    Membre à l'essai
    Inscrit en
    Juillet 2006
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 23
    Points : 15
    Points
    15
    Par défaut
    Désolé, mais je ne vois pas à quel endroit il faut insére ce filtre


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Modifiable22_AfterUpdate()
        Dim rs As Object
     
        Set rs = Me.Recordset.Clone
        rs.FindFirst "[Champ dans lequel il cherche] = '" & Me![nom de la liste deroulante] & "'"
        If Not rs.EOF Then Me.Bookmark = rs.Bookmark
    End Sub
    Et la..........

    Il faut que je bosse!!!!!!!!!

  5. #5
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 600
    Points
    24 600
    Par défaut
    Bonjour,

    Tu mélange 2 choses.

    Le filtre permet de restreindre l'affichage aux enregistrements correspondant à un critère.

    La recherche (le 2ème code que tu fournis, issue du générateur de liste modifiable) permet de placer le pointeur sur un enregistrement correspondant à un critère.

    Le problème est la liste d'élément et ton souhait de faire des filtres approximatifs (*blabla*, bla*, *bla, bla)

    Choisis le type de comportement que tu souhaites pour que je puisse te répondre avec exactitude.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  6. #6
    Membre à l'essai
    Inscrit en
    Juillet 2006
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 23
    Points : 15
    Points
    15
    Par défaut
    Eh bien justement c'est la que je "bugge".
    Je pense que la bonne formulation de ce que je veux faire est d'intégrer Dans la recherche de l'enregistrement que je veux afficher la fonction filtre.

    Dans la pratique cela me permettrait de pouvoir retrouver un enregistrement meme si on ne connait aps le nom exact.
    Exemple:
    Il y a un enregistrement "hotel de la plage".
    je me rapelle qu'il y a plage dans le nom mais pas comment il est enregistré.
    le but est que si je tape plage il filtre dans la zone de liste AVANT que le controle liste fasse son boulot et me donne l'enregistrement que j'aurais choisi.
    Suis je plus clair?

  7. #7
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 600
    Points
    24 600
    Par défaut
    En gros tu veux filtrer le contenu d'un liste déroulante en fonction d'un chaine plus ou moins complète.

    D'une part il te faut une zone de texte pour saisir cette chaine.
    Sur l'événement Sur Changement :
    construit une chaine de critère type where
    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    me.maliste.rowsource = "Select  Maclef, Monchamp From Matable Monchamp like ""*" & me.texte1 & "*"";"" 
    me.maliste.requery
    Une fois ce code placé chaque fois que tu tapera un caractère dans la zone de texte la zone liste sera filtrée en conséquence.

    Ensuite dans la zone liste place le code de recherche que tu as généré.
    Attention cette technique est très gourmande en ressource donc sur les gros volumes, sur des bases multiutilisateurs ou en réseau je le déconseille.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  8. #8
    Membre à l'essai
    Inscrit en
    Juillet 2006
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 23
    Points : 15
    Points
    15
    Par défaut
    C'est ce dont j'avais peur, que ce soit un peu une usine à gaz!!!!!!!!!

    Je pense que je vais plutot creer un bouton recherche ( je viens de parcourir ton tuto la dessus) pour retrouver le nom exact de l'enregistrement dont l'utilisateur se servira ensuite pour remplir la zone de liste déroulante.
    Un peu moins "pro" mais bon.......

    merci en tout cas de tes réponses toujours rapides.

    Bon week end Loufab

Discussions similaires

  1. Recherche retournant plusieurs résultats dans liste déroulante
    Par Akhlan dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 08/01/2013, 04h02
  2. Réponses: 28
    Dernier message: 28/03/2012, 14h42
  3. Recherche retournant plusieurs résultats dans liste déroulante.
    Par Yann56 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 09/01/2010, 01h49
  4. Recherche dans liste déroulante d'un formulaire
    Par _m0c_ dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 27/08/2007, 15h55

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