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 :

Trier zone liste [AC-2003]


Sujet :

VBA Access

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2008
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 40
    Points : 35
    Points
    35
    Par défaut Trier zone liste
    Bonjour, sous Access 2003 j’ai un formulaire avec une zone de liste (Liste32) j’y affiche selon la lettre écrite dans une zone texte (Texte42) des médicaments, je voudrais que la liste soit triée selon l’ordre alphabétique, Le code qui fonctionne est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim SQL As String
     Dim SQLWhere As String
       SQL = "SELECT CodRemed, Specialite, Classe " & _
            "FROM Remed " & _
            "WHERE Remed!CodRemed <> 0"
        SQL = SQL & "And Remed!Classe like '*" & Me.Texte42.Value & "*' "
      SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where ") - Len("Where ") + 1))
      SQL = SQL & ";"
     Me.Liste32.RowSource = SQL
     Me.Liste32.Requery
    Lorsque j’ajoute : "ORDER BY Remed.Specialite;" après WHERE cela ne marche pas !
    Que dois je faire, MERCI

  2. #2
    Membre actif Avatar de spaiku
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Septembre 2007
    Messages
    209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2007
    Messages : 209
    Points : 293
    Points
    293
    Par défaut
    Bonjour,

    1ère chose à faire en urgence : éditer ton premier post pour y mettre les balises de code. Sinon les modérateurs vont faire à peu près cette tête là :

    Ensuite, quand tu dis ça ne marche pas : as-tu un message d'erreur ? La liste s'affiche-t-elle correctement (c a d avec ton filtre), mais sans tri ? Peux-tu poster le code qui ne marche pas ?

    Enfin, je ne comprends pas très bien ta ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where ") - Len("Where ") + 1))
    L'utilises-tu ailleurs dans la fonction ? Parce que sinon, je ne vois pas à quoi elle sert.

  3. #3
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 878
    Points : 4 754
    Points
    4 754
    Par défaut
    salut,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Dim SQL As String
     Dim SQLWhere As String
       SQL = "SELECT CodRemed, Specialite, Classe "  _
             & " FROM Remed "  _
            & " WHERE Remed!CodRemed <> 0" _
            & " And Remed!Classe like '*" & Me.Texte42.Value & "*' " _
           & " ORDER BY Specialite ;"
     
     Me.Liste32.RowSource = SQL
     Me.Liste32.Requery
    comme spaiku, ta ligne SQLWhere = ... ne te sert à rien dans ce que tu nous montres
    "Always look at the bright side of life." Monty Python.

  4. #4
    Nouveau membre du Club
    Inscrit en
    Mai 2008
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 40
    Points : 35
    Points
    35
    Par défaut
    Bonsoir, Merci de ta réponse Spaiku.
    Cela ne marche pas cad la liste reste vide. Le code écrit dans la procédure clique du bouton fonctionne bien : la liste affiche les médicaments selon le critère spécifié dans la zone texte42. Le code SQLWhere permet de trouver tous les mots contenant la lettre spécifiée.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Mai 2008
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 40
    Points : 35
    Points
    35
    Par défaut
    Bonsoir, Merci de ta réponse micniv.
    Ton code marche à merveilles, effectivement sans SQLWhere.
    Je vous remercie tous les deux !
    A plus

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

Discussions similaires

  1. zone liste modifiable
    Par lemo dans le forum Access
    Réponses: 1
    Dernier message: 02/11/2005, 15h39
  2. [TListView -> vsReport] Comment trier la liste ?
    Par TOTO32 dans le forum Composants VCL
    Réponses: 3
    Dernier message: 04/07/2005, 20h34
  3. [c#] Trier une liste de nombres liés.
    Par Joad dans le forum ASP.NET
    Réponses: 13
    Dernier message: 11/05/2005, 11h17
  4. Trier un list control
    Par Delian dans le forum MFC
    Réponses: 2
    Dernier message: 06/10/2004, 17h44
  5. [Debutant(e)]Trier une liste
    Par LeDébutantJava dans le forum Collection et Stream
    Réponses: 8
    Dernier message: 19/08/2004, 12h44

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