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]Limitation dans une liste de choix déroulante


Sujet :

IHM

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 19
    Points : 10
    Points
    10
    Par défaut [Formulaire]Limitation dans une liste de choix déroulante
    Je suis amateur-novice en développement Access.
    J'utilise la version 2003.

    Dans un formulaire, j'ai une liste de choix déroulante dont les données se trouvent dans un table de 120.000 records; Bien que l'affichage se fasse correctement au niveau du contrôle, je suis confronté au problème de la limitation à 65536 records affichés dans la liste de choix.


    Y-a-t'il un moyen de contourner le problème ?

    Merci d'avance pour vos propositions.

  2. #2
    Membre éprouvé Avatar de jean-paul lepetit
    Inscrit en
    Février 2005
    Messages
    842
    Détails du profil
    Informations personnelles :
    Âge : 68

    Informations forums :
    Inscription : Février 2005
    Messages : 842
    Points : 919
    Points
    919
    Par défaut
    Salut,
    est ce bien raisonnable d'avoir 120 000 lignes de choix dans une liste déroulante....

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 19
    Points : 10
    Points
    10
    Par défaut limitation zone de choix
    Quand on est de le milieu médical (médicaments) on se trouve avec des listes parfois énormes !

    en fait il s'agit de données médicaments et accessoires à commander chez un fournisseur.

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    174
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 174
    Points : 178
    Points
    178
    Par défaut
    bonjour,

    n'est-il pas possible de proceder par "découpages" :
    par exemple grouper les médicaments par "type" (on choisit ds une première liste un type, puis une deuxième ne présente que les médicaments du type sélectionné)
    ou encore par alphabet : on ne fait apparaître ds la liste que les médicaments commençant par la lettre choisie

    ??

  5. #5
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par alcabk
    bonjour,

    n'est-il pas possible de proceder par "découpages" :
    par exemple grouper les médicaments par "type" (on choisit ds une première liste un type, puis une deuxième ne présente que les médicaments du type sélectionné)
    ou encore par alphabet : on ne fait apparaître ds la liste que les médicaments commençant par la lettre choisie

    ??
    Bonjour,

    Je serais du même avis, une décomposition serait la bien venu.

    De plus avec les listes déroulantes en tapant les lettres tu as une auto-complémentation des mots, ce qui t'amène à directement à ton élément.

    Starec

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 19
    Points : 10
    Points
    10
    Par défaut limitation enregistrements liste deroulante
    la segmentation par type ne me parait pas appropriée; par contre une selection sur la première lettre du produit pourrait m'aider à limiter le nombre de records.
    C'est vrai que l'auto-complementation se fait, mais quant on a quelques 50 ou 60 références qui commencent toutes par "ALPRAZ" il est difficile d'atteindre directement le bon enregistrement.

    Merci pour ces pistes de reflexion.

    Quelqu'un peut-il m'expliquer comment faire une selection préalable sur la première lettre qui serait tapée dans ce controle ? ou faut-il un controle séparé qui utilise une requête selection ?

  7. #7
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par benmacker
    la segmentation par type ne me parait pas appropriée; par contre une selection sur la première lettre du produit pourrait m'aider à limiter le nombre de records.
    C'est vrai que l'auto-complementation se fait, mais quant on a quelques 50 ou 60 références qui commencent toutes par "ALPRAZ" il est difficile d'atteindre directement le bon enregistrement.

    Merci pour ces pistes de reflexion.

    Quelqu'un peut-il m'expliquer comment faire une selection préalable sur la première lettre qui serait tapée dans ce controle ? ou faut-il un controle séparé qui utilise une requête selection ?
    Je ne comprends pas trop ?

    Tu as bien vu que l'auto-complémentation de la combobox fonctionne, pourquoi veux-tu rajouter un contrôle qui te fasse la même chose ?

    Ou je n'ai pas tout compris.

    Starec

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    174
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 174
    Points : 178
    Points
    178
    Par défaut
    le pb, c'est qu'il ne peut pas avoir tous les enregistrements présents ds la liste, il y en a trop.

    ce que je ferais :
    une zone de texte limitée à 1 caractère où on tape la lettre

    la zone de liste basée sur une requête de type :
    select nom_medicaments
    from table
    where gauche(nom_medicaments;1)=zone de texte

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

    J'avais oublié les 120 000 enregistrements.

    En reprenant l'idée de alcabk

    1 - Une textbox
    2 - Sur l'évènement AfterUpdate de la Textbox, reprend le principe de la requête SQL de alback, pour alimenter la propriété RowSource de ta combobox, et ensuite un Requery pour remettre à jour celle-ci.

    Starec

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 19
    Points : 10
    Points
    10
    Par défaut limitation liste deroulante
    OK

    bien compris
    Je vous tiens au courant dès que je peux ... il me faudra peut être quelques jours d'essais pour y arriver

    a+ et encore merci

  11. #11
    Membre éprouvé Avatar de jean-paul lepetit
    Inscrit en
    Février 2005
    Messages
    842
    Détails du profil
    Informations personnelles :
    Âge : 68

    Informations forums :
    Inscription : Février 2005
    Messages : 842
    Points : 919
    Points
    919
    Par défaut
    En reprenant l'idée de Alcabk et celle de Starec,

    Simplement des étiquettes (pour éviter d'avoir à faire de la saisie) du style A..C; D...G; H; I J; etc... c'est à dire regrouper pour avoir un nombre à peu près équivalent de produits dans chaque liste et sur l'événement sur clic de chaque zone de texte une mise à jour de ta liste via le principe de la requête SQL

  12. #12
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 044
    Points
    16 044
    Par défaut
    Bonjour,

    Je ne l'ai pas sous la main, mais il me semble que dans la base exemple Les comptoirs, il y'a un formulaire de recherches avec index alphabétique.

    Domi2

  13. #13
    Membre éclairé Avatar de ft035580
    Profil pro
    Inscrit en
    Août 2004
    Messages
    689
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 689
    Points : 812
    Points
    812
    Par défaut
    Salut,

    un exemple
    Fichiers attachés Fichiers attachés

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 19
    Points : 10
    Points
    10
    Par défaut
    J'ai peur de paraître complètement ignare ....

    parfait pour l'affichage et la limitation des éléments affichés dans la liste de choix (zone de texte)
    mais je voudrais récupérer l'enregistrement sélectionné (touche "enter") pour l'ajouter à ma table "commande" qui enregistre les produits à commander.
    j'ai beau chercher, je ne trouve pas !

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 81
    Points : 48
    Points
    48
    Par défaut
    Tu as essayé de faire un sous formulaire avec ton formaulaire ou tu enregistre les médoc???

  16. #16
    Membre éclairé Avatar de ft035580
    Profil pro
    Inscrit en
    Août 2004
    Messages
    689
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 689
    Points : 812
    Points
    812
    Par défaut
    Salut,

    Regarde mon post précédent j'ai modifié l'exemple.

    Une fois que tu as cliqué sur l'enregistrement désiré dans ta liste déroulante,Double-Clique et le médicament sélectionné ira dans ta table commande.

  17. #17
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 19
    Points : 10
    Points
    10
    Par défaut
    non, je pourrais essayer
    mais comment recupérer le ligne sélectionnée pour l'ajouter dans la table ?

  18. #18
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 19
    Points : 10
    Points
    10
    Par défaut
    Merci à ft035580
    Dieu que tout cela paraît simple !

  19. #19
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 19
    Points : 10
    Points
    10
    Par défaut
    est-il possible d'utiliser la touche "enter" à la place du double clic
    car j'essaie autant que possible d'éviter l'usage de la souris.

    ok je pense avoir trouvé
    remplacer dbclick par lostfocus
    ça marche

    merci

  20. #20
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 19
    Points : 10
    Points
    10
    Par défaut
    je me rends compte que la fct lostfocus engendre des erreurs
    par ex en appuyant sur "esc" on enregistre le record dans la commande
    il faudrait limiter à la touche "enter".
    des idées ?

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [AC-2010] Mise en forme de l'affichage des données dans une liste de choix déroulante
    Par Nephi dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 17/09/2010, 13h40
  2. Réponses: 2
    Dernier message: 17/01/2010, 10h46
  3. Réponses: 2
    Dernier message: 30/01/2009, 11h19
  4. Réponses: 2
    Dernier message: 02/06/2008, 00h44
  5. Réponses: 8
    Dernier message: 05/05/2004, 16h28

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