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 :

insertion dans une liste déroulante


Sujet :

IHM

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 35
    Par défaut insertion dans une liste déroulante
    Bonjour, sur un formulaire, j'ai une zone déroulante où j'ai des données d'une table. ex.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Select district [Membres.nom (membre] from membres ordy by [membres.nom (membre)]
    Je voudrais pour ma recherche y insérer dans ma zone déroulante "Tous.." afin de pouvoir filtrer tous les enregistrements. Merci de m'aide

  2. #2
    Membre éclairé
    Avatar de The_Super_Steph
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    445
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 445
    Par défaut
    Bonjour,

    Il me semble qu'il y a un tuto ou un code dans la pour faire ça. Va jeter un coup d'oeil !

  3. #3
    Expert éminent

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

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

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Par défaut
    Apparement il existe un bug d'access avec la solution proposée dans la FAQ, voici la correction :

    Nouvelle version :


    Pour ajouter "[Tous]" (ou tout autre texte) en premier choix d'une zone de liste (déroulante ou pas), il est possible d'utiliser une requête UNION dans la propriété Contenu (RowSource) du contrôle.

    Imaginons que l'on veuille afficher et trier toutes les valeurs du champ Champ1 de la table Table1, mais faire précéder ces valeurs par la mention "[Tous]", le SQL notre requête pourrait être :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Select A.Champ1 
    From (Select B.Champ1, 1 As IndexTri From Table1 AS B
    Union 
    Select TOP 1 "[Tous]", 0 From Table1 AS C) AS A
    Order By A.IndexTri, A.Champ1

    Remarque : pour optimiser les performances on peut, le cas échéant, créer une table permanente (appelons la TableListe) avec les deux champs suivants :
    • EnTête (Type : String; Null Interdit : Oui; Chaine vide autorisée : Non; Index : Sans doublon),
    • IndexTri (Type : Byte; Null Interdit : Oui; Valeur par défaut : 0; Valide Si : =0)

    On utilise cette table en créant un enregistrement pour chaque valeur d'entête que l'on veut rendre disponible dans sa base, par exemple :
    [Tous]
    [Toutes]
    [Aucun]
    ...
    Ensuite, le SQL de notre requête Union servant pour la source de nos listes ressemblera à :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Select A.Champ1 
    From (Select B.Champ1, 1 As Position From Table1 AS B
    Union 
    Select TableListe.Entête, TableListe.IndexTri From TableListe WHERE TableListe.Entête="[Tous]") AS A
    Order By A.IndexTri, A.Champ1

    A noter aussi, concernant les performances, que d'une manière générale, pour les requêtes complexes ou ciblant plusieurs dizaines ou centaines de milliers d'enregistrements, il est préférable d'enregistrer sa requête plutôt que d'exécuter à la volée son équivalent SQL (si les tables sources bénéficient d'indexes). Dans ce dernier cas, on n'écrira plus l'instruction SQL dans la propriété RowSource de la zone de liste, mais simplement le nom de la requête enregistrée.

  4. #4
    Membre éclairé
    Avatar de The_Super_Steph
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    445
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 445

Discussions similaires

  1. Réponses: 1
    Dernier message: 06/06/2011, 16h47
  2. [XL-2003] Insertion d'une valeur dans une liste déroulante
    Par rafalemirage dans le forum Excel
    Réponses: 2
    Dernier message: 04/05/2009, 08h17
  3. [MySQL] Insertion dans une liste déroulante depuis une BD
    Par merymaru dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 24/05/2007, 21h28
  4. Réponses: 4
    Dernier message: 24/01/2006, 10h41
  5. [LG]Tri par insertion dans une liste chainée
    Par mister_dsg dans le forum Langage
    Réponses: 4
    Dernier message: 18/12/2003, 22h34

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