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

4D Discussion :

Probléme tri des donnée de sortie


Sujet :

4D

  1. #1
    Futur Membre du Club
    Inscrit en
    Mai 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 14
    Points : 6
    Points
    6
    Par défaut Probléme tri des donnée de sortie
    bonjour

    je n'arrive pas a trouver comment trier mes données de facon permanente et sur toutes mes tables


    je sais comment faire un tri permanent avec 4dtools mais celui ci ne se fais que sur les donnée deja enregistrer et sur 2 critere


    or je voudrais les trier selon 3 critere famille , genre , espece


    merci d'avance

    jean

  2. #2
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 94
    Points : 114
    Points
    114
    Par défaut
    Bonjour,

    Pourquoi dis-tu que 4D Tools ne permet de trier que sur 2 champs (ou alors, quand tu parles de "critère", tu veux parles d'autre chose que d'un champ) ?

    Si tu parles de champs, est-ce que l'un d'entre eux est un champ de type texte ? Si oui, il faut se rappeler que 4D ne permet pas d'utiliser ce type de champ comme critère de tri. Il faut soit le passer en alpha - si c'est possible avec la longueur max - soit, dans 4D, au runtime, utiliser un tri par formule.

    Enfin, si ta base n'est pas figée, que des données sont régulièrement ajoutées, supprimées, modifiées (c'est une base en exploitation, pas une base sur CD par exemple), alors 4D Tools ne te sera d'aucun secours, puisque sitôt une info modifiée/ajoutée, le tri permanent devient obsolète.

    Tu peux donc :
    -> Tri permanent pour les tables "figées" (exemple : tu as déjà importé tous les codes postaux, ça ne bougera plus)
    -> Tri à la demande pour les autres.

    Exemple : avant affichage d'une liste, tu TRIER(ta table/tes champs). Tu peux même le faire, éventuellement, pour "sur chargement" dans la méthode formulaie du formulaire sortie.

    Thibaud

  3. #3
    Futur Membre du Club
    Inscrit en
    Mai 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    bonjour

    effectivement ma base est ammené a evolué elle n'ai pas figé est des echantillon seront ajouté regulierement (moins de 10 par mois)

    4d tool apparait donc obsolete

    les champs pris comem critere de tri sont effectiveent en alpha numerique

    j'aimerai eviter le tri a la demande j'aimerai que la base se tri toute seule a chaque ouverture par exemple

    comment y arriver ??


    merci

    jean

  4. #4
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 94
    Points : 114
    Points
    114
    Par défaut
    Tu ne peux pas le faire de façon simple. Dans chaque process, chaque fois que tu afficheras une liste, les enregistrements seront listés par numéro d'enregistrement, c'est comme ça que ça fonctionne. La seule solution est de trier à chaque fois.

    Cela étant dit, une idée en passant : tu peux aussi les sélections temporaires, et notament les sélecitons temporaires interprocess. Quelque chose dans le genre :
    ` au démarrage
    TOUT SELECTIONNER([ZeTable])
    TRIER([ZeTable];... ton tri...)
    NOMMER SELECTION([ZeTable];"<>ZeTable_Triee")

    TOUT SELECTIONNER([ZeAutreTable])
    TRIER([ZeAutreTable];... ton tri...)
    NOMMER SELECTION([ZeAutreTable];"<>ZeAutreTable_Triee")

    Puis, chaque fois que tu as besoin d'afficher la liste :
    UTILISER SELECTION("<>ZeTable_Triee")

    Bien entendu, il te faut re-trier chaque fois qu'une des infos servant au tri est modifiée, ajoutée, supprimée. Pas évident à mettre en place.

    Non, vraiment, le plus simple(en terme de codage) est de retrier les choses à chaque affichage. Si tu as juste quelques milliers d'enregistrements, voire quelques dizaines de milliers et selon la RAM dispo et les réglages du cache de 4D, le premier tri (chargement du cache) sera éventuellement lent, les autres seront super rapides, y compris en client-serveur (puisque le tri s'effectue sur le serveur, sauf su tu utilises TRIER PAR FORMULE - qui sera le must en 4D v11 SQL mais qui est le plus lent dans les versions actuelles ;-))

    Mais ausis, la quesiton mérite d'être posée : pourquoi veux-tu toujours trier les choses ? Pourquoi ne pas afficher la liste "brute", et l'utilisateur la trie comme il veut (via des boutons dédiés, un clic sur l'entête, etc.) ?

    Thibaud

  5. #5
    Futur Membre du Club
    Inscrit en
    Mai 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    bonjour merci de ta reponse


    alors d'abord pourquoi vouloir trier: car ces une demande de l'utilisatrice et puis c'est quand meme plus pratique


    sinon tu m'ecrit

    "le plus simple (en terme de codage) est de retrier les choses à chaque affichage."

    quelle est la ligne de code exact pour cela ??? avec plusieur critere de tri ??


    merci

    jean

  6. #6
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 94
    Points : 114
    Points
    114
    Par défaut
    Je ne suis pas sûr d ebien comprendre ta question. La commande TRIER est décrite ici (thème "Recherches et tris").

    Pour trier sur 3 champs, par exemple :
    TRIER([ZeTable];[ZeTable]Nom;[ZeTable]Prenom;[ZeTable]Ville)

    Avec ordre de tri changeant :
    TRIER([ZeTable];[ZeTable]Nom;[ZeTable]Prenom;<;[ZeTable]Ville)
    => prénoms par tri décroissant

    On peut aussi écrire :
    TRIER([ZeTable];[ZeTable]Nom;*)
    TRIER([ZeTable];[ZeTable]Prenom;*)
    TRIER([ZeTable];[ZeTable]Ville)

    Ca marche sur les tables 1 s'il y a un lien aller automatique :
    TRIER([Ingredients];[Ingredients]Libellé;[Pizzas]Nom)
    (lien aller entre Ingrédients et Pizzas).

    Enfin, si c'est la réponse, alors donc : cf. la doc ;-)

    Thibaud

  7. #7
    Futur Membre du Club
    Inscrit en
    Mai 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    bonjour merci pour la reponse

    alors j'ai mit les ligne de commande dans la methode de mon formulaire de sortie mais cela ne marche pas (j'avais deja fais quelque test avant de poster sur le forum).

    j'ai des lien aller automatique entre ma table
    echantillon et les 3 autres

    merci

    jean

  8. #8
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 94
    Points : 114
    Points
    114
    Par défaut
    Peux-tu poster la formule de tri que tu utilises et, éventuellement, une copie d'écran de la structure avec ces 3 tables (ou résumer la chose)

    Thibaud

  9. #9
    Futur Membre du Club
    Inscrit en
    Mai 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    suite en mp

  10. #10
    Futur Membre du Club
    Inscrit en
    Mai 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    avec TRIER([echantillon];[echantillon]Famille;[echantillon]Genre;[echantillon]Espece)

    ou

    TRIER([echantillon];[Famille]Famille;[Genre]Genre;[Espece]Espece)


    ca fais buger 4D

  11. #11
    Futur Membre du Club
    Inscrit en
    Mai 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    rebonjour


    je me demande si il ne faudrait pas ajouter quelque part

    [echantillon];"Sortie"

    ???


    j'ai donc une table principale et je cherche a trier la sortie

    selon 3 critere qui sont contenu dans les tables famille genre et espece relier au champs corespondant dans la table par un lier aller auto

Discussions similaires

  1. [LibreOffice][Tableur] Problème avec le tri des données
    Par clairetj dans le forum OpenOffice & LibreOffice
    Réponses: 5
    Dernier message: 21/02/2015, 00h19
  2. [IN] - Tri des données
    Par kirsoul dans le forum Langage SQL
    Réponses: 1
    Dernier message: 02/05/2006, 15h36
  3. tri des données différent entre 2 bases
    Par j6m dans le forum Oracle
    Réponses: 2
    Dernier message: 12/03/2006, 10h17
  4. Réponses: 6
    Dernier message: 15/02/2006, 14h02
  5. [JTable] Tri des données
    Par soulhouf dans le forum Composants
    Réponses: 7
    Dernier message: 08/09/2005, 14h01

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