PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WEBDEV 2024 → Trier la colonne d'une table fichier
Trier la colonne d'une table fichier
Débuté par vin.janssens, 24 juin 2003 14:04 - 3 réponses
Posté le 24 juin 2003 - 14:04
Bonjour à tous,

Connaitrier vous une bonne méthode pour appliquer un tri croissant et
décroissant sur
la colonne d'une table fichier...En effet il n'existe pas à ma connaissance
une fonction qui permettrait d'effectuer ce genre de tâche directement, du
moins je n'en connais pas...
Comment procéder vous ?

Merci d'avance

Vincent
Posté le 24 juin 2003 - 16:36
Bonjour,

Tu peut utiliser la commande Tabletri(), regarde l'aide pour plus d'information
c'est tres bien expliqué.

By.


"Vincent Janssens" <vin.janssens@skynet.be> wrote:
Bonjour à tous,

Connaitrier vous une bonne méthode pour appliquer un tri croissant et
décroissant sur
la colonne d'une table fichier...En effet il n'existe pas à ma connaissance
une fonction qui permettrait d'effectuer ce genre de tâche directement,

du
moins je n'en connais pas...
Comment procéder vous ?

Merci d'avance

Vincent


Posté le 24 juin 2003 - 18:07
"Filipe"

> Tu peut utiliser la commande Tabletri(), regarde l'aide pour plus
d'information
c'est tres bien expliqué.


Apparement cette fonction n'est valable qu'avec les tables mémoires, ce qui
m'obligerait
à utiliser une table mémoire et donc d'établir une connection SQL, ce qui
fonctionne
très bien mais à ce moment je rencontre un autre problème, celui de ne plus
pouvoir utiliser
la fonction tableaffiche avec le paramètre "taSuivant", ce que j'explique
sur ce newsgroup
dans un autre message...


Vincent
Posté le 07 juillet 2003 - 13:14
Bonjour,

Non TableTri() s'applique aux tables mémoire

Pour obtenir un tri deux solutions qui focntionne chez nous
1) soit créer une clé composé et l'utiliser comme clé de parcours.

2) soit si ce n'est pas possible de changer de clé de parcours,
de créer une condition de filtre
créer un ficltre sur ta table avec comme clé de parcours la clé par défaut
et d'y ajouter la condition.
de faire un tablaaffiche("nomtable","cleparcours","I")
Désactiver le filtre

Cette deuxième solution fonctionne très bien, le plus compliqué est souvent
d'obtenir la bonne condition.

Par exemple tu veux obtenir toutes les personnes (NOM) Habitant la ville
de Montpellier de ton fichier User
Que le résultat soit afficher par odre alpha des NOMS
Que tu récupéres le nom de la ville à partir d'une combobox et complète par
des espaces jusqu'à 30 car le champ fait 30 de long,
voici le code:

ConditionFiltre est une chaîne
ConditionFiltre = "NOMVILLE='"+Complete(comboorg[COMBOORG],30)+"'"

SI HFiltre("USER","NOM",Caract(0),Caract(255),ConditionFiltre) ="" ALORS

//Erreur dans la condition de filtre
erreur("Erreur dans la condition du filtre :",">"+ConditionFiltre+"<")
SINON
//Le filtre est actif, parcours du fichier sur la clé de filtre
HLitPremier("USER","NOM")
tantque pas h.endehors
//Traitement des enregistrements sélectionnés
HLitSuivant("USER","NOM")
fin
FIN
TableAffiche("TABLE","I")
//Désactivation du filtre
HDesactiveFiltre("USER")

L'assistant Hfiltre est assez bien fait pour obtenir ce que tu veux.

Bonne continuation

"Filipe" <vv.fil@libertysurf.fr> wrote:

Bonjour,

Tu peut utiliser la commande Tabletri(), regarde l'aide pour plus d'information
c'est tres bien expliqué.

By.


"Vincent Janssens" <vin.janssens@skynet.be> wrote:
Bonjour à tous,

Connaitrier vous une bonne méthode pour appliquer un tri croissant et
décroissant sur
la colonne d'une table fichier...En effet il n'existe pas à ma connaissance
une fonction qui permettrait d'effectuer ce genre de tâche directement,
du

moins je n'en connais pas...
Comment procéder vous ?

Merci d'avance

Vincent