[Issue] Tris sur valeurs

Discussions sur le module de base de données Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur : Vilains modOOs

Règles du forum
Cette section est dédiée au module Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Pour accélérer les réponses, vous pouvez mettre en ligne votre base en joignant un fichier ODB : comment faire.
PNE-EdT
Membre lOOyal
Membre lOOyal
Messages : 40
Inscription : 28 mai 2018 10:16

[Issue] Tris sur valeurs

Message par PNE-EdT »

Bonjour à toutes et à tous.
La modération vous a écrit: Merci de n'utiliser que les balises valides

Dans un formulaire de BASE, est-il possible d'effectuer un tri sur les valeurs affichées?

En effet dans mon formulaire, j'ai un tableau avec un colonne de type "zone de liste".
A l'affichage, je vois bien le libellé de la requête attachée au champ de la colonne mais si je demande un tri, celui est fait sur l'identifiant.
Le formulaire ne servirait qu'à l'affichage, je pourrais le faire à partir d'une requête mais ici je veux un formulaire pour faire des mises à jour donc forcément il est lié à une table.
Le but est de mettre à jour une table "Workflow" qui comprend des identifiants de produits, d'agents et d'étapes.
Je joints un exemple car cela est plus simple qu'un long discours

Merci
Pièces jointes
TriSurFormulaire.odb
la base avec le formulaire
(28.21 Kio) Téléchargé 165 fois
le problème
le problème
Liens entre les tables
Liens entre les tables
Dernière modification par PNE-EdT le 21 mars 2019 15:33, modifié 3 fois.
LibreOffice 7.0.3.1 sous Windows 10
LOo 6.3.1.2 sous Windows 10 sur un ancien poste
Piaf
GourOOu
GourOOu
Messages : 5622
Inscription : 25 nov. 2011 19:07
Localisation : Guyane

Re: Tris sur valeurs

Message par Piaf »

Bonjour
Cliquer pour voir l'animation
Cliquer pour voir l'animation
A+
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
PNE-EdT
Membre lOOyal
Membre lOOyal
Messages : 40
Inscription : 28 mai 2018 10:16

Re: Tris sur valeurs

Message par PNE-EdT »

Bonjour,
Merci mais là se fait sur l' identifiant (ici id_etapes_workflow) et non sur le contenu affiché.
C'est bien là le problème
Pièces jointes
Tri sur l'identifiant
Tri sur l'identifiant
LibreOffice 7.0.3.1 sous Windows 10
LOo 6.3.1.2 sous Windows 10 sur un ancien poste
Piaf
GourOOu
GourOOu
Messages : 5622
Inscription : 25 nov. 2011 19:07
Localisation : Guyane

Re: Tris sur valeurs

Message par Piaf »

Bonsoir
PNE-EdT a écrit :r,Merci mais là se fait sur l' identifiant (ici id_etapes_workflow) et non sur le contenu affiché.
Effectivement je n'avais pas compris la question :oops:
Maintenant, trier un formulaire sur une donnée affichée, et non sur une valeur, je ne sais pas faire.
Une solution envisageable, serait de donner un identifiant en fonction du classement que tu veux obtenir.
A+
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
PNE-EdT
Membre lOOyal
Membre lOOyal
Messages : 40
Inscription : 28 mai 2018 10:16

Re: Tris sur valeurs

Message par PNE-EdT »

Bonjour

Oui si on veut :
donner un identifiant en fonction du classement que tu veux obtenir
Mais le but d'une table de référence est justement de pouvoir insérer de nouvelles données. Si bien qu'il faudrait changer l'identifiant à chaque fois... ce n'est pas imaginable..
J'attends donc peut-être que quelqu'un a une solution....

Merci .. ce n'est pas encore trop urgent... enfin dans 2 mois max 8)

A bientôt...
LibreOffice 7.0.3.1 sous Windows 10
LOo 6.3.1.2 sous Windows 10 sur un ancien poste
PNE-EdT
Membre lOOyal
Membre lOOyal
Messages : 40
Inscription : 28 mai 2018 10:16

Re: Tris sur valeurs

Message par PNE-EdT »

Bonjour,

Je ne veux pas utiliser de macro mais simplement un (ou +) formulaire(s). Ma question est dans le bon forum.
LibreOffice 7.0.3.1 sous Windows 10
LOo 6.3.1.2 sous Windows 10 sur un ancien poste
HRk2o
Membre cOOnverti
Membre cOOnverti
Messages : 344
Inscription : 29 mai 2009 10:51
Localisation : Guyane

Re: Tris sur valeurs

Message par HRk2o »

Bjr,

les solutions sont peut être d'opérer à partir des tables principales (agents,produits,étapes) + le sous formulaire workflow et non pas directement par la table Workflow

@+
AOO 4.1.14 et LO 7.3.7.2 sous OsX 10.13.6 High Sierra ; Windows 10 sous AOO 4.1.14 et LibO 7.3.7.2
PNE-EdT
Membre lOOyal
Membre lOOyal
Messages : 40
Inscription : 28 mai 2018 10:16

Re: Tris sur valeurs

Message par PNE-EdT »

Bonjour,
Merci HRk2o, mais dans ce cas je ne pourrais pas mettre à jour la table Workflow

@+
LibreOffice 7.0.3.1 sous Windows 10
LOo 6.3.1.2 sous Windows 10 sur un ancien poste
Piaf
GourOOu
GourOOu
Messages : 5622
Inscription : 25 nov. 2011 19:07
Localisation : Guyane

Re: Tris sur valeurs

Message par Piaf »

Bonjour
Tu peux tester :
Passer le champ Id_Workflo en Auto valeur.
Créer une requête

Code : Tout sélectionner

SELECT "Workflow".*, "Liste_Etapes_Workflow".* FROM "Workflow", "Liste_Etapes_Workflow" WHERE "Workflow"."Id_Etapes_Workflow" = "Liste_Etapes_Workflow"."Id_Etapes_Workflow" ORDER BY "Liste_Etapes_Workflow"."Nom_Types_Etape" ASC
Baser ton formulaire sur cette requête.
Cliquez pour l'animation
Cliquez pour l'animation
A+
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
PNE-EdT
Membre lOOyal
Membre lOOyal
Messages : 40
Inscription : 28 mai 2018 10:16

Re: Tris sur valeurs

Message par PNE-EdT »

Bonjour,

Le problème est le même, si je demande un tri selon une colonne , cela n'est pas trié:
triColEtape.png
triColEtape.png (3.17 Kio) Consulté 2567 fois
Logiquement 3-6 devrait être avant 4-3 ce qui n'est pas le cas
Passer le champ Id_Workflo en Auto valeur.ne change rien pour l'ordre de tri, le tri sera selon la saisie (l'id) mais non selon l"affichage: si j'ajoute à la liste une nouvelle étape "8-1" on devrait avoir 9-1 après mais comme 9-1 a été créer avant il sera avant..
Je ne sais pas si je suis clair mais le résultat me parait simple : ce que j'ai dit dans le titre : faire un tri sur une valeur ( qui est affichée et non en base)
merci
LibreOffice 7.0.3.1 sous Windows 10
LOo 6.3.1.2 sous Windows 10 sur un ancien poste
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25142
Inscription : 03 mars 2006 08:45
Localisation : 127.0.0.1
Contact :

Re: Tris sur valeurs

Message par Dude »

PNE-EdT a écrit :Logiquement 3-6 devrait être avant 4-3 ce qui n'est pas le cas
Logiquement, ce type d'enregistrement devrait être éclaté en deux avec :
  1. étape de départ
  2. étape d'arrivée
Les deux colonnes peuvent éventuellement faire l'objet d'un CONCAT pour les besoins d'affichage.
Piaf
GourOOu
GourOOu
Messages : 5622
Inscription : 25 nov. 2011 19:07
Localisation : Guyane

Re: Tris sur valeurs

Message par Piaf »

Bonjour
PNE-EdT a écrit :Logiquement 3-6 devrait être avant 4-3 ce qui n'est pas le cas
Il suffit d'ajouter le tri voulu dans la requête

Code : Tout sélectionner

SELECT "Workflow".*, "Liste_Etapes_Workflow".*, "Code_Types_Etape" || '-' || "Code_action" AS "Etape" FROM "Workflow", "Liste_Etapes_Workflow" WHERE "Workflow"."Id_Etapes_Workflow" = "Liste_Etapes_Workflow"."Id_Etapes_Workflow" ORDER BY "Liste_Etapes_Workflow"."Nom_Types_Etape" ASC, "Etape" ASC
Tri.png
Tri.png (7.11 Kio) Consulté 2557 fois
Après je n'ai pas forcément compris le tri que tu veux obtenir.
Tu peux tester

Code : Tout sélectionner

SELECT "Workflow".*, "Liste_Etapes_Workflow".*, "Code_Types_Etape" || '-' || "Nom_Types_Etape" || '-' || "Code_action" AS "Etape" FROM "Workflow", "Liste_Etapes_Workflow" WHERE "Workflow"."Id_Etapes_Workflow" = "Liste_Etapes_Workflow"."Id_Etapes_Workflow" ORDER BY "Etape" ASC
Tri.png
A+
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
PNE-EdT
Membre lOOyal
Membre lOOyal
Messages : 40
Inscription : 28 mai 2018 10:16

Re: Tris sur valeurs

Message par PNE-EdT »

Bonjour,

Je vois votre réponse mais selon le tri que je demande il faut faire un autre formulaire: le but était de faire un formulaire de saisie et de laisser 'celui qui rempli les données' de trier à sa demande.
Si je fais un formulaire à partir d'un requête, il me semble que je ne peux mettre à jour les données

Le but était de laisser celui qui remplit le formulaire de faire son propre tri.

Provisoirement je fais avec deux formulaires un de visu et un de mise à jour.
Cela me gène de clore la demande car pour moi le problème reste... si jamais un jour quelqu'un (ou moi même ) trouve la solution...

Merci
A+
LibreOffice 7.0.3.1 sous Windows 10
LOo 6.3.1.2 sous Windows 10 sur un ancien poste
PNE-EdT
Membre lOOyal
Membre lOOyal
Messages : 40
Inscription : 28 mai 2018 10:16

Re: Tris sur valeurs

Message par PNE-EdT »

Voici un autre exemple plus simple que je voudrais trié
Pièces jointes
Affichage trié mais mise à jour impossible
Affichage trié mais mise à jour impossible
Affichage non triable mais on peut mettre à jour
Affichage non triable mais on peut mettre à jour
MajetTri.odb
(71.5 Kio) Téléchargé 127 fois
LibreOffice 7.0.3.1 sous Windows 10
LOo 6.3.1.2 sous Windows 10 sur un ancien poste
PNE-EdT
Membre lOOyal
Membre lOOyal
Messages : 40
Inscription : 28 mai 2018 10:16

Re: Tris sur valeurs

Message par PNE-EdT »

Bonjour,

Je vais voir pour mettre l'étiquette ENHANCEMENT .
Il faut que je recherche sur bugzial si une demande d'amélioration de l'affichage est indiquée : il faut que je trouve le terme anglais pour ' zone de liste' et 'tri selon contenu'

Cela a l'air de se rapprocher de la demande 102938 on y parle de tri et de formulaire (https://bugs.documentfoundation.org/sho ... ?id=102938)
LibreOffice 7.0.3.1 sous Windows 10
LOo 6.3.1.2 sous Windows 10 sur un ancien poste
Verrouillé