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 :

Retrouver une donnée dans une zone de liste


Sujet :

Access

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 107
    Points : 52
    Points
    52
    Par défaut Retrouver une donnée dans une zone de liste
    Bonjour,
    J'aimerais savoir comment retrouver une donnée dans une zone de liste au fur et à mesure que je saisie ma demande dans un champ.
    Je m'explique:
    Sur mon formulaire, il y a une zone de liste et un champ de saisie.
    Pendant que je saisisse ma demande, il s'effectue automatiquemant un tri dans ma zone de liste afin de mettre en evidence l'element recherché ou avoir l'element le plus proche de ma BD lors de ma recherche.

  2. #2
    Membre actif Avatar de samlepiratepaddy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 320
    Points : 217
    Points
    217
    Par défaut
    Slt,
    Pour ce type de recherche j'utilise plutôt une liste déroulante, et tu l'a parametre sur "Auto Etendre"-->Oui
    Au fur et a mesure que tu écris la liste "affine" automatiquement !
    Voilà@+
    La connaissance ne vaut que si elle est partagée par tous et pour tous!
    Access et moi c'est mais en fait on s' bien !
    Ps: Je comprend très vite quand on m'explique longtemps !!

  3. #3
    Faw
    Faw est déconnecté
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    1 169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 169
    Points : 1 383
    Points
    1 383
    Par défaut
    Salut, tu peux t'inspirer de ceci (Param = ton champ de saisie)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Param_Change()
    Me.Requery
    Me.Liste0.RowSource = "SELECT Champ1, Champ2  FROM Table WHERE [Clé]Like'" &_
    Me![Param] & "*'"
    Me.Param.SelStart = 9999 'Curseur à droite pour continuer la saisie
    Note: j'avais déjà essayé d'éviter l'inélégant Requery du début en
    passant par Param.Text mais ça n'avait pas marché...

    PS: J'ai mis [Clé] dans l'exemple mais ça peut être un autre champ bien sûr.
    Je ne comprends rien à Access...Mais je me soigne.
    Moteur de recherche
    DAO

  4. #4
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 524
    Points
    14 524
    Par défaut
    Faw, c'est pas sur le formulaire que tu dois faire le requery mais sur la zone de liste :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Me.Liste0.RowSource = "SELECT Champ1, Champ2  FROM Table WHERE [Clé] Like'" & Me.Param.text & "*'"
    Me.liste0.requery
    ça doit suffire non?

  5. #5
    Faw
    Faw est déconnecté
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    1 169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 169
    Points : 1 383
    Points
    1 383
    Par défaut
    OUI, t'as raison. pourquoi Me
    ça marche et c'est plus clean...
    Je ne comprends rien à Access...Mais je me soigne.
    Moteur de recherche
    DAO

  6. #6
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 107
    Points : 52
    Points
    52
    Par défaut
    Bonjour,
    Ca marche

  7. #7
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 107
    Points : 52
    Points
    52
    Par défaut
    Salut,
    Ca marche mais il se trouve que j'ai une liste déroulante qui permet de faire un 1er tri dans ma zone de liste. Ensuite une zone de saisie qui termine le tri.
    Mais , il se trouve qu'en saisie la donnée à retrouver, la zone de liste affiche tous en fonction de ce qui est saisi en faisant fi du 1er tri.
    Je suppose que c'est dû à ce code:, ce qui est normal.
    Question:
    Comment restreindre ma zone de liste afin qu'elle affiche uniquement les données en prenant en compte les deux critères de recherches: liste déroulante d'abord puis zone de saisie ensuite?
    Merci

  8. #8
    Faw
    Faw est déconnecté
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    1 169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 169
    Points : 1 383
    Points
    1 383
    Par défaut
    Tu peux essayer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.liste.RowSource = me.liste.RowSource & "And  [Clé] Like'" & Me.Param.text & "*'""
    Edit:
    En fait non. Cette solution marche en apparence mais le rowsource va
    s'allonger à chaque passage de "And [Clé] Like'" & Me.Param.text & "*'"".
    Un moment la chaine sera trop longue et ...Bam!

    Une solution consisterait à stocker le rowsource de Liste dans une variable
    Une fois qu'elle est filtrée par la Zone de liste
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MaVar = Me.Liste.rowsource
    Et dans l'événement Change() tu auras
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.liste.RowSource = MaVar & "And  [Clé] Like'" & Me.Param.text & "*'""
    Bon W.E
    Je ne comprends rien à Access...Mais je me soigne.
    Moteur de recherche
    DAO

  9. #9
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Ca marche mais il se trouve que j'ai une liste déroulante qui permet de faire un 1er tri dans ma zone de liste.
    T'es sûr que c'est bien ergonomique et pratique ?

    Que se passera t'il si rien n'est saisi dans la première liste ?

  10. #10
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 107
    Points : 52
    Points
    52
    Par défaut
    Bonjour,
    Ca marche

    Que se passera t'il si rien n'est saisi dans la première liste ?
    A l'ouverture du formulaire, rien n'est saisi dans la 1re liste donc Zone de liste affiche tout.
    Pour une nvlle recherche, on rafraichi à nouveau zone de liste.
    Merci

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

Discussions similaires

  1. [Toutes versions] coller les données d'une plage d'une cellule dans une cellule d'une autre feuille[VBA]
    Par arthson dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/01/2012, 17h37
  2. [WD16] Lecture donnée d'une base dans une valeur d'une autre base
    Par gef13 dans le forum WinDev
    Réponses: 2
    Dernier message: 16/11/2011, 09h05
  3. [AC-2003] insert des données d'une table dans une table d'une base externe
    Par marieo dans le forum VBA Access
    Réponses: 1
    Dernier message: 30/11/2009, 14h29
  4. Envoyer une formulaire dans une page dans une Frame
    Par zooffy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 29/06/2007, 10h13
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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