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 :

Tri dynamique dans Sous Formulaire


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2010
    Messages
    230
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 230
    Par défaut Tri dynamique dans Sous Formulaire
    Bonjour,

    Je souhaite pouvoir trier dynamiquement mes sous formulaires. J'ai trouvé un code fourni par microsoft et qui m'interesse pas mal a vrai dire :

    voici le lien : ICI

    et le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub Form_Click ()
    Dim sControlSource As String
    Dim sOrderBy As String
    Dim SqlString As String
     
    sCOntrolSource = Me(Screen.ActiveControl.Name).ControlSource
    SqlString = "SELECT * FROM Commandes"
    sOrderBy = " ORDER BY [" & sCOntrolSource & "];"
    Me.Source = SqlString & sOrderBy
    End Sub
    J'ai suivi les instructions comme indiqué. Je me retrouve avec un message d'erreur : "membre de méthode ou de données introuvable" sur Me.Source

    Je ne suis pas sur de bien comprendre à quoi correspond Me.source. Est-ce un controle qui doit etre présent dans le sous form ou sur le form principal...

    Si j'ai bien compris l'explication de microsoft, C'est en cliquant sur une colonne dans le sous formulaire qu'elle ce triera automatiquement..; non ??


    merci pou votre aide

    [EDIT]

    Microsoft dit dans son article : "Pour effectuer cette opération, il est nécessaire de modifier la propriété
    source de ce sous-formulaire en fonction du champ sélectionné."

    mais je crois que cette propriété source n'est pas trouvé... [/EDIT]

  2. #2
    Expert confirmé
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Par défaut
    Bonjour Shagui,

    Le lien que tu cites s'applique à Access 2.0

    Le nom de la propriété a vraisemblablement changé.
    Ça doit être RecordSource maintenant.

    A+

  3. #3
    Membre confirmé
    Inscrit en
    Juillet 2010
    Messages
    230
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 230
    Par défaut
    bonsoir LedZeppII,

    Ah mince je n'avais pas du tout fait attention à ça...

    Je testerai demain.. Mais Il y a peut être d'autres possibilités pour trier des ous formulaires de façon dynamique ?? Tu en penses quoi ??

  4. #4
    Expert confirmé
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Par défaut
    Tu peux te servir des propriétés OrderBy et OrderByOn du formulaire.

    Le code que tu as posté devient alors :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub Form_Click ()
    Dim sControlSource As String
     
    sCOntrolSource = Me(Screen.ActiveControl.Name).ControlSource
    Me.OrderBy = "[" & sCOntrolSource & "]"
    Me.OrderByOn = True
    End Sub
    A+

  5. #5
    Membre confirmé
    Inscrit en
    Juillet 2010
    Messages
    230
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 230
    Par défaut
    OK Ok !!!

    merci LedZeppII, je vais aller me renseigner sur ces propriétés. Penses qu'avec ce code si je clic sur la première colonne de mon sous formulaire et sélectionne la 2eme et 3eme, le trie s'effectuera sur les trois colonnes ou l'évènement sur clic ne prend pas en charge la sélection... c'est peut être complètement différent...

  6. #6
    Expert confirmé
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Par défaut
    Non, ce code ne prend en charge qu'une colonne à la fois.

    Si on veut prendre en compte plusieurs colonnes, il faut un peu plus de code.
    Notamment pour vérifier qu'on ne va pas trier 10 fois sur la même colonne.
    Sans contrôle ça donnerait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If Len(Me.OrderBy) = 0 Then
       Me.OrderBy = "[" & sCOntrolSource & "]"
    Else
       Me.OrderBy = Me.OrderBy & ", [" & sCOntrolSource & "]"
    Endif
    Il faut aussi prévoir un moyen d'enlever le tri, pour pouvoir en choisir un autre.
    A+

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 28/10/2008, 17h39
  2. Recherche dans sous formulaires
    Par dfournier dans le forum IHM
    Réponses: 5
    Dernier message: 08/12/2005, 17h43
  3. Calculs dans sous-Formulaire
    Par Bernjean dans le forum Access
    Réponses: 5
    Dernier message: 17/11/2005, 18h29
  4. Pb champ calcule dans sous formulaire
    Par Brial dans le forum Access
    Réponses: 6
    Dernier message: 12/11/2005, 18h33
  5. Réponses: 9
    Dernier message: 22/06/2005, 08h45

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