Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Contribuez
Contribuez Access : Vos contributions. Postez ici vos codes sources, conseils, astuces et autres propositions. Ce forum n'est pas un forum technique mais destiné aux contributions pour www.developpez.com
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/04/2006, 21h14   #1
Membre régulier
 
Inscription : mars 2006
Messages : 81
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 81
Points : 83
Points : 83
Par défaut Trier une zone de liste

Bonjour,
A la lecture de ce post, j'ai constaté qu'il manquait une fonction bien utile dans certain cas : Pouvoir trier les données d'une zone de liste selon des critères personnels.

Je soumets donc à la communauté de DVP cette base exemple, composée d'une table type, d'un formulaire pour tester, et d'un module contenant la fonction en question.

Je ne suis pas un professionnel du développement, mais je ne demande qu'à apprendre. N'hésitez pas à faire vos commentaires / remarques / suggestions / reproches.

Ajout(s) suite aux remarques :
- nouveaux paramètres dans la fonction (formulaire d'origine, contrôle, et nom du champ servant de clé de tri)

Mise à jour du 26/04/06 :
- correction d'un bug (le nom de la table était passé en argument de la fonction mais pas utilisé dans l'ensemble du code)

PS : Evolution envisageable, pouvoir faire pareil mais avec Multisélection sur OUI
Fichiers attachés
Type de fichier : zip TrierDesDonnees.zip (19,0 Ko, 188 affichages)
Shansson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/04/2006, 21h44   #2
Rédacteur
 
Avatar de LedZeppII
 
Homme
Maintenance données produits
Inscription : décembre 2005
Messages : 3 940
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 : 3 940
Points : 6 279
Points : 6 279
Merci Shanson,
Bonne initiave je pense.
Une remarque cependant (faut bien critiquer un peu, et puis c'est plus facile que de réaliser ) :
J'aurai essayer de mettre le Formulaire et le Contrôle en tant que paramètres de la function pour pouvoir réutiliser le code plus facilement (en tant que semi-professionnel j'aime bien réutiliser du code déjà mis au point).
Dans la même logique on pourrait peut-être s'affranchir de coder en 'dur' le nom de la table, en récupérant la propriété Rowsource du contrôle, et en imposant seulement la présence du champ dSort dans RowSource. De cette manière ton code est facilement réutilisable dans de nombreuses applications sans avoir à l'adapter, et devient donc attrayant.
En tout cas, bel effort.
A+
LedZeppII est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/04/2006, 22h29   #3
Membre régulier
 
Inscription : mars 2006
Messages : 81
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 81
Points : 83
Points : 83
Merci, j'ai tenu compte de tes remarques et édité mon post principal
Shansson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2006, 19h54   #4
Rédacteur

 
Avatar de Tofalu
 
Christophe Warin
Inscription : octobre 2004
Messages : 8 635
Détails du profil
Informations personnelles :
Nom : Christophe Warin
Âge : 28

Informations forums :
Inscription : octobre 2004
Messages : 8 635
Points : 13 718
Points : 13 718
Citation:
Dans la même logique on pourrait peut-être s'affranchir de coder en 'dur' le nom de la table, en récupérant la propriété Rowsource du contrôle
Non parce que en théorie la propriété RowSource contient le nom d'une requête. Et si elle contient un SELECT, rien ne prouve qu'il ne s'agit pas de select imbriqué. Donc je ne vois pas comment récupérer le nom de la table.

Pour moi, le plus simple, c'est d'ouvrir le même recordset que celui de la zone de liste
Tofalu est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h54.


 
 
 
 
Partenaires

Hébergement Web