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 :

Formulaire - liste deroulante


Sujet :

IHM

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 69
    Points : 62
    Points
    62
    Par défaut Formulaire - liste deroulante
    Bonjour,
    Dans un formulaire basé sur une table, j'ai un champ de type 'Liste déroulante'.
    Cela fonctionne mais je voudrais que lorsque je clique pour afficher la liste, celle-ci débute au caractère que j'ai encodé. Exemple : je tape MR comme premier et deuxieme caractère dans mon champ, je souhaiterais que lorsque je clique pour afficher ma liste, celle-ci débute l'affichage au premier élément commençant par 'MR'. Comment faire?
    Merci

  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 598
    Points
    24 598
    Par défaut
    Bonjour,

    En théorie (comme en pratique) c'est le fonctionnement normal !

    ...
    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 du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 69
    Points : 62
    Points
    62
    Par défaut Formulaire - liste déroulante
    ?? Le fonctionnement normal est quoi? De se positionner sur le premier &lément de la liste (commençant par la lettre 'A') ou de se positionner en fonction des caractères encodés?
    Moi c'est d'ofice sur le premier élément ('A...') quel que soit les caractères encodés.
    Merci

  4. #4
    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 598
    Points
    24 598
    Par défaut
    Si tu tapes A il va aller sur le premier item commençant par A, puis tu tapes S il va se positionner sur le premier item commençant par AS... etc

    C'est le fonctionnement normal.
    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

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 69
    Points : 62
    Points
    62
    Par défaut FORMULAIRE - liste déroulante
    Ok cela fonctionne lorsque je tape les caractères en étant dans la liste déroulante.

    Ce qui marche
    - je clique dans la liste
    - je tape mes caractères MR
    - la liste se positionne sur le premier nom commençant par MR

    Ce qui m'intéresse :

    - je tape MR
    - je clique sur la fleche pour entrer dans la liste déroulante

    Ce qui m'intéresse :
    - j'ai le champ numcli
    - je tape MR
    - je clique sur la fleche pour entrer dans la liste déroulante
    - Je souhaiterais être positionné dans la liste sur le premier nom commençant par MR

    Est-ce possible et comment?
    Merci

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Si j'ai bien compris ton problème

    1 - Tu saisies dans une textbox le début d'une chaine qui se trouve dans la 1 ere colonne de ta combobox
    2 - Tu veux lorsque tu arrives dessus mettre la liste sur le premier mot correspondant à ce que tu as saisi.

    Si j'ai bien compris essaye ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub laliste_GotFocus()
        Dim i As Integer
        For i = 0 To Me.laliste.ListCount - 1
            If Left(Me.laliste.Column(0, i), Len(Me.latextbox.Value)) = Me.latextbox.Value Then
                Me.laliste.Value = Me.laliste.Column(0, i)
                Exit For
            End If
        Next i
        Me.laliste.Dropdown
    End Sub
    Sur l'évenement GotFocus de ta liste, tu y arrives aprés avoir saisie dans ta textbox et à condition que dans l'ordre de tabulation ta liste déroulante soit aprés ta textbox.
    Le principe du code

    1 - Il parcourt les éléments de la liste, jusqu'à ce qu'il en trouve un dont le début commence par ce que tu as saisie
    2 - Il met donc ce champ en valeur de la liste
    3 - La liste s'ouvre et tu as ton champ sélectionné.

    Je l'ai fait à la mano, pas testé, mais cela devrait être cohérent.
    Bien sûr remplace les noms laliste et latextbox par tes noms.

    Starec

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 69
    Points : 62
    Points
    62
    Par défaut FORMULAIRE - liste déroulante
    Je ne comprends pas ton explication avec textbox et combobox.

    Je n'ai qu'une seule zone 'numprod' dans laquelle je peux soit taper du texte soit cliquer sur la flèche pour afficher les enregistrements d'une table contenant tous les articles

    Ce que je souhaite :
    - encoder un ou plusieurs caractères
    - lorsque je clique sur la flèche, être positionné dans ma liste sur base du ou des caractères encodés

    Désolé pour cette question mais je débute
    Merci bcp

  8. #8
    Invité
    Invité(e)
    Par défaut
    Re

    C'est vrai que tes explications ne sont pas claires.

    Je reprends, tu veux saisir tes caractères et te mettre sur le champ au fur et à mesure en ayant la liste déroulée.

    en mettant
    sur l'évènement GotFocus de ta liste, ta liste va se déployée et au fur et à mesure de la saisie tu te positionnera sur les éléments qui correspondent.

    Dis nous si c'est cela que tu veux (après test).

    Starec

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 69
    Points : 62
    Points
    62
    Par défaut FORMULAIRE - LISTE DEROULANTE
    OK en faisant [CODEMe.mylist.Dropdown][/CODE] ça marche mais la liste est tjs affichée.

    Ce que je souhaitais c'était d'afficher la liste bien positionnée en fonction des caratères encodés uniquement lorsque je cliquais sur la flèche et non pas systématiquement. Ainsi quand l'utilisateur connait le code il n'y a pas lieu d'afficher une liste qui ne lui sert à rien
    Mais je ne sais pas si c'est possible.
    Sinon je ferai avec.
    Merci bcp

  10. #10
    Invité
    Invité(e)
    Par défaut
    Ok

    Essaye ce code, mais attention, j'ai changé d'évènement, c'est maintenant sur le Change de ta liste
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub maliste_Change()
        Dim i As Long
        For i = 0 To Me.maliste.ListCount - 1
            If Left(Me.maliste.Column(0, i), Nz(Len(Me.maliste.Value), 0)) = Me.maliste.Value Then
                Me.maliste.Column(0, i) = Me.maliste.Value
                Exit For
            End If
        Next i
    End Sub
    Le principe de fonctionnement est similaire au premier code.

    Starec

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 69
    Points : 62
    Points
    62
    Par défaut FORMULAIRE - Liste deroulante
    Désolé mais cela ne fonctionne pas
    Voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Private Sub trav_prodnum_Change()
     
        Dim i As Long
        For i = 0 To Me.trav_prodnum.ListCount - 1
        Debug.Print Me.trav_prodnum.ListCount
        Debug.Print Left(Me.trav_prodnum.Column(0, i), Nz(Len(Me.trav_prodnum.Value), 0))
        Debug.Print Me.trav_prodnum.Value
     
            If Left(Me.trav_prodnum.Column(0, i), Nz(Len(Me.trav_prodnum.Value), 0)) = Me.trav_prodnum.Value Then
                Me.trav_prodnum.Column(0, i) = Me.trav_prodnum.Value
                Exit For
            End If
        Next i
     
    End Sub
    Les problèmes
    - En test je tape la lettre 'A' mais en debug je n'ai rien en ME.trav_prodnum.Value
    - Je passe dans l'évènement Change à chaque frappe de lettre. La solution serait intéressante si on détectait l'évènement de click sur la flèche

  12. #12
    Invité
    Invité(e)
    Par défaut
    Re

    Je ne comprends pas, cela marche nikel chez moi, je viens de le tester.

    Quel est le comportement quand tu enlèves le debug.print ?
    Quelle version d'Access as-tu ? Je suis en 2003.

    Moi quand je saisi des lettres au fur et à mesure, lorsque j'ouvres la liste avec la flêche cela se positionne sur le premier dont le début correspond.

    Question, tes données sont dans la premiére colonne ou dans une autre, quel est dans le propriété le chiffre de la colonne liée ?

    Starec

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 69
    Points : 62
    Points
    62
    Par défaut FORMULAIRE - LISTE DEROULANTE
    Il s'agit de la premiere colonne
    La colonne liée est 1

    Sans le debug j'ai comme message d'erreur :
    'Erreur d'exécution 424 Objet requis'
    Si je vais voir en debugage il est sur cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.trav_prodnum.Column(0, i) = Me.trav_prodnum.Value

  14. #14
    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 598
    Points
    24 598
    Par défaut
    La première colonne est 0 et non 1. C'est peut être de là que vient ton problème ?
    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

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 69
    Points : 62
    Points
    62
    Par défaut FORMULAIRE - LISTE DEROULANTE
    J'ai mis 0 en colonne liée et cela ne change rien
    Voici le code et les valeurs en debug lors du premier passage dans l'évènement CHANGE alors que je vien de taper la lettre 'a'
    J'ai mis les valeurs affichées par le debug en Rouge
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     For i = 0 To trav_prodnum.ListCount - 1
     
            Debug.Print trav_prodnum.ListCount   [COLOR="Red"]16[/COLOR
            Debug.Print i   [COLOR="Red"]0[/COLOR
            Debug.Print trav_prodnum.Column(0, i)   [COLOR="Red"]a[/COLOR
            Debug.Print Len(trav_prodnum.Value)   [COLOR="Red"]Null[/COLOR
            Debug.Print Nz(Len(trav_prodnum.Value), 0)   [COLOR="Red"]0[/COLOR
     
            If Left(Me.trav_prodnum.Column(0, i), Nz(Len(Me.trav_prodnum.Value), 0)) = Me.trav_prodnum.Value Then
                Me.trav_prodnum.Column(0, i) = Me.trav_prodnum.Value
                Exit For
            End If
        Next i

  16. #16
    Invité
    Invité(e)
    Par défaut
    De toute façon je viens de m'apercevoir que le code ne sert à rien

    Lorsque tu es dans une liste déroulante, et que tu commences ta saisie, lorsque tu ouvres la liste avec la flêche, cela te positionne directement sur le premier élément correspondant à ce que tu as saisi (s'il y'a une correspondance bien sûr).

    Tu ne m'a pas dit ta version d'Access.

    Je ne vois plus du tout ton soucis.

    Starec

  17. #17
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 69
    Points : 62
    Points
    62
    Par défaut
    OK je reteste tout et te dis quoiµ
    Grand merci encore et désolé mais les débuts sont difficiles

  18. #18
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 69
    Points : 62
    Points
    62
    Par défaut
    Ok -J'ai recommencé et ça marche - encore toutes mes excuses pour le dérangement.

    J4ai 2 autres discussions en attente depuis ce matin. Pouvez-vous y jeter un coup d'oeil
    Merci

  19. #19
    Invité
    Invité(e)
    Par défaut
    Merci de penser à cliquer sur

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

Discussions similaires

  1. formulaire: Liste deroulante depuis xml
    Par naouah dans le forum Flash
    Réponses: 0
    Dernier message: 24/05/2008, 12h45
  2. [AJAX] Formulaire liste deroulante ajax
    Par trilla dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 28/08/2007, 19h47
  3. Réponses: 7
    Dernier message: 06/10/2006, 09h05
  4. Réponses: 4
    Dernier message: 02/06/2006, 16h57
  5. formulaire liste deroulante qui redirectionne
    Par gandoulfe dans le forum Langage
    Réponses: 3
    Dernier message: 08/03/2006, 18h16

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