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

VBA Access Discussion :

Ordre croissant et décroissant


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2006
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 106
    Par défaut Ordre croissant et décroissant
    Bonjour à tous,
    je travaille sous vba access et voici mon problème:

    Je charge une listBox a partir d'une requête.Dans la liste je peux modifier, supprimer ces valeurs ou en ajouter de nouvelles.
    J'aimerai dans la listeBox ranger ces valeurs par ordre croissant et décroissant d'un bouton de comande.
    comment faire?
    J'espere etre clair.
    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Par défaut
    Salut,

    Il faut utiliser ORDER BY nomchamp ASC (implicite) ou DESC dans la requête.

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2006
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 106
    Par défaut
    merci pour la réponse
    sauf que ma liste est lier à une requete
    et je désire à partir de boutons séparé de la liste gerer l'ordre de tri dans cette liste

  4. #4
    Expert confirmé
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Par défaut
    Sur clic du bouton, tu réécris la requête avec le tri adéquat puis tu réactualises la liste.

    cf ce message pour la création et test de l'existance de la requête.
    Après à toi d'adapter

  5. #5
    Membre confirmé
    Inscrit en
    Juin 2006
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 106
    Par défaut
    Merci bien pour vos réponses j'essayerai
    Mais j'ai un problème avec une liste affichant le résultat de recherche et dont le contenu dépond de plusieurs requêtes selon le choix de l'usager.
    càd que la requête demeurre indéfinie pour lui ajouter un tri.
    j'espère etre clair
    Mes excuses; je suis un débutant en VBA.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 74
    Par défaut
    Et bien, c'est la même méthode, si ce n'est que le type de requête dépend du choix de l'utilisateur.

    Donc tu peux utiliser la structure de code suivante
    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
    16
    17
    18
    19
    20
    dim STRG_SQL as string  ' le string qui recevra ta requête SQL
     
    SELECT CASE choix_de_la_requete
      CASE choix1
        STRG_SQL = "SELECT ..... ORDER BY ..." ' le string de la requête choix1    
     
      CASE choix2
        STRG_SQL = "SELECT ..... ORDER BY ..." ' le string de la requête choix2    
     
      CASE choi3
       STRG_SQL = "SELECT ..... ORDER BY ..." ' le string de la requête choix2    
     
    END SELECT
     
    If ordre_de_tri = décroissant then
      STRG_SQL = STRQ_SQL & " DESC"
    End If
     
    MaListBox.RowSourceType = "Table/Query"
    MaListBox.RowSource = STRG_SQL

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 74
    Par défaut
    Le tri d'une listbox doit s'effectuer dans ta requête mentionnée dans la propriété Contenu (onglet Données des propriétés)
    Si l'ordre de tri doit changer tu peux modifier cette propriété de manière dynamique en incluant le code SQL dans ta procédure VBA

    Ordre croissant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    MaListBox.RowSourceType = "Table/Query"
    MaListBox.RowSource = ."SELECT MaTable.MonChamp FROM MaTable ORDER BY MaTable.MonChamp"

    Ordre décroissant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    MaListBox.RowSourceType = "Table/Query"
    MaListBox.RowSource = ."SELECT MaTable.MonChamp FROM MaTable ORDER BY MaTable.MonChamp DESC"

Discussions similaires

  1. Trier une Grille par ordre croissant ou décroissant
    Par nurah dans le forum Composants VCL
    Réponses: 6
    Dernier message: 13/02/2013, 12h05
  2. Réponses: 2
    Dernier message: 21/02/2012, 22h37
  3. Réponses: 4
    Dernier message: 27/05/2010, 09h07
  4. [MySQL] Afficher date par ordre croissant ou décroissant
    Par christophe_s46 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 13/09/2009, 20h29
  5. Réponses: 5
    Dernier message: 25/07/2009, 15h17

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