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

IHM Discussion :

[Etat/Sous-Etat] ORDER BY non respecté


Sujet :

IHM

  1. #1
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 656
    Points : 34 368
    Points
    34 368
    Par défaut [Etat/Sous-Etat] ORDER BY non respecté


    dans le cadre de la génération d'un reporting sous Access, je travaille sur une combinaison Etat/Sous-Etat.

    J'ia suivi le tuto de Jeannot à ce sujet, mais je ne m'en sors pas.

    Voici la requête qui alimente mon état :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT DISTINCT 'Rapport Taux de Rotation Annuel' AS TitreReport, 'Période du ' & GetGlobal('DatedebutAnnualy','d') & ' au ' & GetGlobal('DateFinAnnualy','d') AS TitrePeriode, dbo_API_PROCESS_GESTION.LIB_TYPE_GESTION, dbo_API_PROCESS_GESTION.LIB_SOUS_PROCESS
    FROM ((dbo_API_PTF_AGENTS INNER JOIN dbo_API_PROCESS_GESTION ON dbo_API_PTF_AGENTS.CD_SOUS_PROCESS = dbo_API_PROCESS_GESTION.CD_SOUS_PROCESS) INNER JOIN TR_TX_ROTATION ON dbo_API_PTF_AGENTS.ID_PTF_CDCAM = TR_TX_ROTATION.ID_PTF_CDCAM) INNER JOIN dbo_API_PTF ON dbo_API_PTF_AGENTS.ID_PTF_CDCAM = dbo_API_PTF.ID_PTF_CDCAM
    WHERE (((TR_TX_ROTATION.PERIODE)='Annualy') AND ((dbo_API_PTF_AGENTS.DT_FIN) Is Null) AND ((dbo_API_PTF_AGENTS.ID_ROLE_AGT)=1) AND ((dbo_API_PTF.ID_PTF_CDCAM) Not Like "*DIV*"))
    GROUP BY dbo_API_PROCESS_GESTION.LIB_TYPE_GESTION, dbo_API_PROCESS_GESTION.LIB_SOUS_PROCESS, dbo_API_PTF.ID_TYPE_PTF
    HAVING (((dbo_API_PTF.ID_TYPE_PTF)<>9))
    ORDER BY dbo_API_PROCESS_GESTION.LIB_TYPE_GESTION, dbo_API_PROCESS_GESTION.LIB_SOUS_PROCESS;

    on notera donc un ORDER BY sur les champs LIB_TYPE_GESTION puis LIB_SOUS_PROCESS

    et la requête du sous état est la suivante :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT dbo_API_PROCESS_GESTION.LIB_TYPE_GESTION, dbo_API_PROCESS_GESTION.LIB_SOUS_PROCESS, TR_TX_ROTATION.PERIODE, TR_TX_ROTATION.ID_PTF_CDCAM, TR_TX_ROTATION.NM_PTF, TR_TX_ROTATION.CD_FORME_JUR, TR_TX_ROTATION.CD_CLASSIF_COB, TR_TX_ROTATION.ID_DEV_PTF, TR_TX_ROTATION.DT_PER_DEB, TR_TX_ROTATION.DT_PER_FIN, Round(TR_TX_ROTATION.ACHAT/1000,0) AS ACHAT, TR_TX_ROTATION.NB_LIGNE_ACHAT, Round(TR_TX_ROTATION.VENTE/1000,0) AS VENTE, TR_TX_ROTATION.NB_LIGNE_VENTE, Round(TR_TX_ROTATION.RACHAT/1000,0) AS RACHAT, Round(TR_TX_ROTATION.SOUSCR/1000,0) AS SOUSCR, Round(TR_TX_ROTATION.AM_AN_MOY/1000,0) AS AM_AN_MOY, TR_TX_ROTATION.TX_ROTATION
    FROM ((dbo_API_PTF_AGENTS INNER JOIN dbo_API_PROCESS_GESTION ON dbo_API_PTF_AGENTS.CD_SOUS_PROCESS = dbo_API_PROCESS_GESTION.CD_SOUS_PROCESS) INNER JOIN TR_TX_ROTATION ON dbo_API_PTF_AGENTS.ID_PTF_CDCAM = TR_TX_ROTATION.ID_PTF_CDCAM) INNER JOIN dbo_API_PTF ON dbo_API_PTF_AGENTS.ID_PTF_CDCAM = dbo_API_PTF.ID_PTF_CDCAM
    WHERE (((dbo_API_PTF_AGENTS.DT_FIN) Is Null) AND ((dbo_API_PTF_AGENTS.ID_ROLE_AGT)=1) AND ((dbo_API_PTF.ID_TYPE_PTF)<>9) AND ((dbo_API_PTF.ID_PTF_CDCAM) Not Like "*DIV*"))
    GROUP BY dbo_API_PROCESS_GESTION.LIB_TYPE_GESTION, dbo_API_PROCESS_GESTION.LIB_SOUS_PROCESS, TR_TX_ROTATION.PERIODE, TR_TX_ROTATION.ID_PTF_CDCAM, TR_TX_ROTATION.NM_PTF, TR_TX_ROTATION.CD_FORME_JUR, TR_TX_ROTATION.CD_CLASSIF_COB, TR_TX_ROTATION.ID_DEV_PTF, TR_TX_ROTATION.DT_PER_DEB, TR_TX_ROTATION.DT_PER_FIN, Round(TR_TX_ROTATION.ACHAT/1000,0), TR_TX_ROTATION.NB_LIGNE_ACHAT, Round(TR_TX_ROTATION.VENTE/1000,0), TR_TX_ROTATION.NB_LIGNE_VENTE, Round(TR_TX_ROTATION.RACHAT/1000,0), Round(TR_TX_ROTATION.SOUSCR/1000,0), Round(TR_TX_ROTATION.AM_AN_MOY/1000,0), TR_TX_ROTATION.TX_ROTATION
    HAVING (((TR_TX_ROTATION.PERIODE)='Annualy'))
    ORDER BY dbo_API_PROCESS_GESTION.LIB_TYPE_GESTION ASC, dbo_API_PROCESS_GESTION.LIB_SOUS_PROCESS ASC, TR_TX_ROTATION.TX_ROTATION DESC;

    avec là aussi un tri sur les deux champs.

    Les deux champs en question sont les champs père/fils entre l'état et le sous-état.

    Mais lorsque j'affiche l'état, le champ LIB_SOUS_PROCESS est pris en priorité sur le tri par rapport au champ LIB_TYPE_GESTION.

    A quel niveau dois-je faire des modifications pour ne plus avoir cette erreur dans le rendu ??

    Merci d'avance.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut JP

    Il faut que tu redéfinisses le tri dans l'état et le sous-état, il y a une propriété OrderBy pour ceux-ci.

    En effet, les tri en amont ne sont pas conservés dans les états, ce qui est ton cas.

    Philippe

  3. #3
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 656
    Points : 34 368
    Points
    34 368
    Par défaut


    je vais voir de quoi il retourne

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 656
    Points : 34 368
    Points
    34 368
    Par défaut
    Donc ici, j'ai mis dans la propriété Tri par les champs LIB_TYPE_GESTION, LIB_SOUS_PROCESS.

    Toujours pas de résultat correct.

    la partie Tri par implique-telle la disparition des tri dans la requête d'alimentation de l'état ?

  5. #5
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 656
    Points : 34 368
    Points
    34 368
    Par défaut
    Résolu !
    J'ai fait un filtre grâce à
    Clic droit>trier dans détails
    et tout va beaucoup mieux

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Etats] Sous-états et sauts de page
    Par timoth dans le forum IHM
    Réponses: 14
    Dernier message: 12/12/2006, 23h01
  2. [CR7] liaison sous etat avec etat principal
    Par brahime dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 04/01/2005, 11h58
  3. [RAVE] Creation d'un sous-etat sous RAVE Report
    Par ms91fr dans le forum Rave
    Réponses: 1
    Dernier message: 25/10/2004, 11h12
  4. [CR] Interaction Etat/Sous Etat
    Par PAC76 dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 03/06/2004, 16h21
  5. [CR] transmission valeur Etat/sous etat
    Par Antichoc dans le forum Formules
    Réponses: 2
    Dernier message: 21/11/2003, 11h23

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