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 :

Comment récupérer seulement les noms issu d'un tri sur form [AC-2003]


Sujet :

VBA Access

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 226
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 226
    Points : 553
    Points
    553
    Par défaut Comment récupérer seulement les noms issu d'un tri sur form
    Bonjour,

    J'ai un form qui contient des enregistrements avec des dates.
    Dans une ZL, je récupère les années des enregistrements sous le format YYYY.

    Lorsque je sélectionne une année, j'effectue un filtre pour n'afficher que les enregistrements correspondant à cette année. (en VBA)

    Dans une seconde ZL, j'aimerais afficher les nom afin de pouvoir me positionner sur celui-ci rapidement.

    Le problème : comment n'afficher que les nom qui sont affichés sur le form trié.

    Merci
    A+

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 944
    Points : 1 282
    Points
    1 282
    Par défaut
    Bonjour
    pourquoi ne pas modifier la propriété Row Source de la ZL2 en même temps que tu appliques le filtre sur le formulaire ?
    Frédéric
    Développeur d'Applications Access

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 226
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 226
    Points : 553
    Points
    553
    Par défaut
    Salut,

    Evidemment j'y ai pensé, mais comment faire pourque le rowSource de la ZL Nom
    ne prenne que les nom qui sont affichés.

    J'ai essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        Dim rs As Object
        Set rs = Me.Recordset.Clone
        rs.MoveFirst
            Me.Liste_Nom.RowSourceType = "Table/Requête"
            Me.Liste_Nom.RowSource = "SELECT (rs.Nom)" & _
                                    " FROM (rs)" & _
                                    " ORDER BY (rs.Nom) DESC; "
    Mais ça ne marche pas.

    Merci

  4. #4
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 944
    Points : 1 282
    Points
    1 282
    Par défaut
    Une solution, mais je pense que l'on peut faire plus simple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        If Me.FilterOn = True Then
            Me.Liste_Nom.RowSource = "SELECT  [Nom] FROM " & Me.RecordSource & " where " & Me.Filter & " ORDER BY [Nom] DESC; "
        Else
            Me.Liste_Nom.RowSource = "SELECT  [Nom] FROM " & Me.RecordSource & " ORDER BY [Nom] DESC; "
        End If
    plus besoin du rs
    Frédéric
    Développeur d'Applications Access

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 226
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 226
    Points : 553
    Points
    553
    Par défaut
    OK, c'est bon

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
        Me.Liste_Nom.RowSource = ""
        Dim rs As Object
        Set rs = Me.Recordset.Clone
        rs.MoveFirst
        Me.Liste_Nom.RowSource = rs.refcli & ";" & rs.Nom
        rs.MoveNext
     
        Do While Not rs.EOF
            Me.Liste_Nom.RowSource = Me.Liste_Nom.RowSource & " ;" & rs.refcli & ";" & rs.Nom
            rs.MoveNext
        Loop
     
        Me.Liste_NRS.Requery
    Il faut ajouter le premier Nom avant la boucle Do While car après, il y a un ; pour permettre d'ajouter les noms à la suite du premier.

    Merci
    A+

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 226
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 226
    Points : 553
    Points
    553
    Par défaut
    Re,

    Merci pour ton code.

    Le mien marche aussi, mais qq fois il bloque en signalant que l'objet ne peut gérer la propriété ???

    Donc j'ai pris le tien qui fonctionne très bien.

    Encore une question, comment faire un regroupement sur les noms, car j'ai plusieurs fois le même client.

    Merci
    A+

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 226
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 226
    Points : 553
    Points
    553
    Par défaut
    OK,

    J'ai reposté un peu vite.

    Une remontée en mémoire et hop :

    Encore merci
    A+

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

Discussions similaires

  1. [AC-2007] Comment récupérer seulement les chiffres dans un libellé
    Par Debutant10 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 13/11/2011, 13h17
  2. Réponses: 1
    Dernier message: 20/10/2006, 21h57
  3. [c#] Comment sont gérés les noms de DataTable dans un DataSet ?
    Par Seth77 dans le forum Accès aux données
    Réponses: 4
    Dernier message: 10/09/2006, 19h02
  4. Réponses: 12
    Dernier message: 23/05/2006, 09h58
  5. [XSLT] comment afficher tous les noms de balises
    Par stanilas dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 12/11/2005, 22h24

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