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

WinDev Discussion :

[WD10] Tri du colonne sans prendre en compte le signe


Sujet :

WinDev

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 43
    Points : 18
    Points
    18
    Par défaut [WD10] Tri du colonne sans prendre en compte le signe
    Bonjour,

    Comme dit dans le titre je souhaite trier une colonne de table (croissant ou décroissant) sans prendre en compte le signe. Je m'explique.
    Je souhaite trier une colonne où se trouvent des montants positifs et négatifs sans prendre en compte le signe -.
    Par exemple pour le moment j'ai ceci:
    12
    4
    1
    -1
    -6
    -19

    et je souhaiterais avoir:
    -19
    12
    -6
    4
    1
    -1

    Ma colonne est en type numérique. La solution pour ne pas prendre en compte le signe aurait été de la mettre en type texte mais l'ordre n'est pas l'ordre numérique, c'est l'ordre texte:
    -6
    4
    19
    12
    1
    -1

    Cette solution ne me convient donc pas. De plus, comme vu dans un autre topic je ne veux pas mettre une autre colonne.
    Y aurait-il une solution ?

    Merci d'avance.

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    556
    Détails du profil
    Informations personnelles :
    Localisation : Laos

    Informations forums :
    Inscription : Mars 2003
    Messages : 556
    Points : 1 198
    Points
    1 198
    Par défaut
    Sans rajouter de colonne, cela va compliquer la chose....

    Sinon 2 pistes :

    - en amont, comment est alimenter la table ? le tri ne peut-il pas se faire directement dans la requête ?

    - en correction de la requête : (c'est du lourd.... très lourd pour le résultat voulu....) crée un tableau dynamique qu'on tri par programmation puis on répercute l'ordre trouvé sur le tableau ligne à ligne.... (dans un certain sens ça revient à la première idée....)

    Voilà les idées qui me viennent....

  3. #3
    Membre chevronné
    Avatar de mogwai162
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 376
    Points : 1 860
    Points
    1 860
    Par défaut
    Bah on pourrait rajouter une colonne cachée dans la table dans laquelle on mettrait la valeur absolue puis trier sur cette colonne cachée

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 43
    Points : 18
    Points
    18
    Par défaut
    Merci pour ta réponse.
    Ma table est alimentée par une requête SQL dans laquelle est ajouté le signe.
    Par exemple à l'aide du code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    decode(FACT_STA,'AVO',-1,1)*FACT_MNT_TTC
    C'est vrai que la deuxième solution pourrait marcher mais ça me parrait énorme de créer ce type de tableau pour une histoire de tri.

    Comme je l'ai dit plus haut c'est moi qui met le signe devant le montant en fonction de certains paramètres. Si la solution à mon problème n'est pas trouvée je supprimerai le signe et le remplacerai par une couleur de ligne différente. Ainsi le tri sera faisable sans pour autant supprimer les notions de positif et négatif.

    Mais je suis tout de même très attaché à ce signe.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 43
    Points : 18
    Points
    18
    Par défaut
    Désolé mogwai162 j'ai répondu avant de voir ta réponse. C'est vrai que ce serait une solution facile mais je ne le souhaite pas (je suis très exigeant). De plus je viens d'apprendre que l'utilisateur souhaite que cela soit appliqué à d'autre fenêtre donc ça ferait pas mal de colonnes à rajouter mais merci de ta réponse.

  6. #6
    Membre chevronné
    Avatar de mogwai162
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 376
    Points : 1 860
    Points
    1 860
    Par défaut
    Si c'est ta requete tu peux très bien avoir les deux champs, un avec et un sans le signe et trier ta requête

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 43
    Points : 18
    Points
    18
    Par défaut
    Oui mais ça oblige à effectuer la requête à chaque tri. Mais c'est vrai que je pourrais faire un sélecteur avec une option pour chaque colonne comportant un signe. Ainsi, après sélection, ça effectuerait la requête en changeant les valeurs du ORDER BY.
    Merci je pense que je vais tenter cette solution.

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 43
    Points : 18
    Points
    18
    Par défaut
    Rectification, je me suis emballé. Je partais dans l'idée que je pouvais faire un ORDER BY sur la valeur multipliée par -1.

Discussions similaires

  1. [XL-2007] Trier sans prendre en compte le signe négatif
    Par Eccle dans le forum Excel
    Réponses: 2
    Dernier message: 08/09/2011, 12h59
  2. requête sans prendre en compte la casse
    Par clems34 dans le forum PostgreSQL
    Réponses: 13
    Dernier message: 13/04/2009, 16h50
  3. Réponses: 4
    Dernier message: 13/04/2007, 17h32
  4. Réponses: 1
    Dernier message: 01/06/2006, 17h18
  5. Réponses: 2
    Dernier message: 07/07/2004, 17h44

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