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

WebDev Discussion :

Champ arbre qui ne range pas les données affichées correctement [WB24]


Sujet :

WebDev

  1. #1
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 679
    Points : 954
    Points
    954
    Par défaut Champ arbre qui ne range pas les données affichées correctement
    Bonjour à tous

    j'ai un champ arbre que je rempli par programmation à partir des données d'une requête dont voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    ReqMvts est une Source de Données
    sReqSQL est une chaîne
    sReqSQL = [
    	SELECT
    	groupe.libgroupr AS libgroupr,	
    	groupe1.lin_groupe1 AS lib_groupe1,	
    	groupe2.lib_groupe2 AS lib_groupe2,	
    	groupe3.lib_groupe3 AS lib_groupe3
    	FROM groupe1
    	LEFT JOIN groupe ON groupe1.id_groupe = groupe.id
    	LEFT JOIN groupe2 ON groupe2.id_groupe1 = groupe1.id
    	LEFT JOIN groupe3 ON groupe3.id_groupe2 = groupe2.id
    	ORDER BY groupe1.id, groupe2.id, groupe3.id
    ]
     
    SI PAS HExécuteRequêteSQL(ReqMvts, MaConnexion, hRequêteSansCorrection ,sReqSQL) ALORS
    	Erreur ( "Erreur VOIR ICI:" + RC + HErreurInfo ())
    	RETOUR
    SINON
    	POUR TOUT ReqMvts
     
    		ArbreAjoute(Arbre1, ReqMvts.libgroupr + TAB + ReqMvts.lib_groupe1 + TAB + ReqMvts.lib_groupe2 + TAB + ReqMvts.lib_groupe3)
     
    	FIN
     
     
    FIN
    HAnnuleDéclaration(ReqMvts)
    Tout ce passe correctement à l'exécution, mais l'affichage dans mon arbre, les données ne sont pas a leur place (en terme d'ordre). voir image ci dessous :

    Nom : Capture.JPG
Affichages : 278
Taille : 31,3 Ko

    Exemple
    Dans l'ordre au niveau de mon arbre

    1 - Points en suspend devrait affiché avant Dossier permanent
    2 - Dans la catégorie Donnée générales Identité devrait être la première option avant capital
    3- etc..


    et Voici les données telles que ramenées par la requête en fichier joint :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
     
     MA SOCIETE<TAB>Points en Suspens<TAB><TAB>
     MA SOCIETE<TAB>Dossier Permanent<TAB>Données Générales<TAB>Identité
     MA SOCIETE<TAB>Dossier Permanent<TAB>Données Générales<TAB>Contacts
     MA SOCIETE<TAB>Dossier Permanent<TAB>Données Générales<TAB>Commentaires
     MA SOCIETE<TAB>Dossier Permanent<TAB>Données Générales<TAB>Mandat
     MA SOCIETE<TAB>Dossier Permanent<TAB>Données Générales<TAB>Capital
     MA SOCIETE<TAB>Dossier Permanent<TAB>Données Générales<TAB>Direction
     MA SOCIETE<TAB>Dossier Permanent<TAB>Données Générales<TAB>filiales
     MA SOCIETE<TAB>Dossier Permanent<TAB>Données Générales<TAB>Etablissements
     MA SOCIETE<TAB>Dossier Permanent<TAB>Données Juridiques<TAB>Statuts
     MA SOCIETE<TAB>Dossier Permanent<TAB>Données Juridiques<TAB>Conventions
     MA SOCIETE<TAB>Dossier Permanent<TAB>Données Juridiques<TAB>Registres
     MA SOCIETE<TAB>Dossier Permanent<TAB>Données Juridiques<TAB>PV CA
     MA SOCIETE<TAB>Dossier Permanent<TAB>Données Juridiques<TAB>PV AG
     MA SOCIETE<TAB>Dossier Permanent<TAB>Données Juridiques<TAB>Engagements Données
     MA SOCIETE<TAB>Dossier Permanent<TAB>Données Juridiques<TAB>Engagements Reçus
     MA SOCIETE<TAB>Dossier Permanent<TAB>Données Fiscales et Comptables<TAB>Fiscal-Social
     MA SOCIETE<TAB>Dossier Permanent<TAB>Données Fiscales et Comptables<TAB>Données Comptables
     MA SOCIETE<TAB>Dossier Permanent<TAB>Données Fiscales et Comptables<TAB>Relevé Spécial de provisions
     MA SOCIETE<TAB>Dossier Permanent<TAB>Données Financières<TAB>Emprunts
     MA SOCIETE<TAB>Dossier Permanent<TAB>Données Financières<TAB>Crédit Bail
     MA SOCIETE<TAB>Dossier Permanent<TAB>Données Financières<TAB>Locations
     MA SOCIETE<TAB>Dossier Permanent<TAB>Données Financières<TAB>Assurance
     MA SOCIETE<TAB>Dossier Permanent<TAB>Données Financières<TAB>Suivi du Crédit d'impôts
     MA SOCIETE<TAB>Dossier Permanent<TAB>Autres Informations<TAB>Autres informations
     MA SOCIETE<TAB>Dossier Permanent<TAB>Autres Informations<TAB>Autres Contacts
     MA SOCIETE<TAB>Dossier Permanent<TAB>Autres Informations<TAB>Autres Feuilles
     MA SOCIETE<TAB>Dossier Permanent<TAB>Autres Informations<TAB>Entretiens avec le Client
     MA SOCIETE<TAB>Dossier Permanent<TAB>Autres Informations<TAB>Immobilisations
     MA SOCIETE<TAB>Dossier de Contrôle interne<TAB>Synthèse<TAB>fichier
     MA SOCIETE<TAB>Dossier de Contrôle interne<TAB>Synthèse<TAB>Organigramme
     MA SOCIETE<TAB>Dossier de Contrôle interne<TAB>Environnement de Contrôle<TAB>Descriptif
     MA SOCIETE<TAB>Dossier de Contrôle interne<TAB>Environnement de Contrôle<TAB>Questionnaires
     MA SOCIETE<TAB>Dossier de Contrôle interne<TAB>Environnement de Contrôle<TAB>Répartition des tâches
     MA SOCIETE<TAB>Dossier de Contrôle interne<TAB>Environnement de Contrôle<TAB>Tests de procédure
     MA SOCIETE<TAB>Dossier de Contrôle interne<TAB>Client<TAB>Descriptif
     MA SOCIETE<TAB>Dossier de Contrôle interne<TAB>Client<TAB>Questionnaires
     MA SOCIETE<TAB>Dossier de Contrôle interne<TAB>Client<TAB>Répartition des tâches
     MA SOCIETE<TAB>Dossier de Contrôle interne<TAB>Client<TAB>Tests de procédure
     MA SOCIETE<TAB>Dossier de Contrôle interne<TAB>Stock<TAB>Descriptif
     MA SOCIETE<TAB>Dossier de Contrôle interne<TAB>Stock<TAB>Questionnaires
     MA SOCIETE<TAB>Dossier de Contrôle interne<TAB>Stock<TAB>Répartition des tâches
     MA SOCIETE<TAB>Dossier de Contrôle interne<TAB>Stock<TAB>Tests de procédure
     MA SOCIETE<TAB>Dossier de Contrôle interne<TAB>Immobilisations<TAB>Descriptif
     MA SOCIETE<TAB>Dossier de Contrôle interne<TAB>Immobilisations<TAB>Questionnaires
     MA SOCIETE<TAB>Dossier de Contrôle interne<TAB>Immobilisations<TAB>Répartition des tâches
     MA SOCIETE<TAB>Dossier de Contrôle interne<TAB>Immobilisations<TAB>Tests de procédure
     MA SOCIETE<TAB>Dossier de Contrôle interne<TAB>Trésorerie<TAB>Descriptif
     MA SOCIETE<TAB>Dossier de Contrôle interne<TAB>Trésorerie<TAB>Questionnaires
     MA SOCIETE<TAB>Dossier de Contrôle interne<TAB>Trésorerie<TAB>Répartition des tâches
     MA SOCIETE<TAB>Dossier de Contrôle interne<TAB>Trésorerie<TAB>Tests de procédure
     MA SOCIETE<TAB>Dossier de Contrôle interne<TAB>Fournisseurs<TAB>Descriptif
     MA SOCIETE<TAB>Dossier de Contrôle interne<TAB>Fournisseurs<TAB>Questionnaires
     MA SOCIETE<TAB>Dossier de Contrôle interne<TAB>Fournisseurs<TAB>Répartition des tâches
     MA SOCIETE<TAB>Dossier de Contrôle interne<TAB>Fournisseurs<TAB>Tests de procédure
     MA SOCIETE<TAB>Dossier de Contrôle interne<TAB>Personnel<TAB>Descriptif
     MA SOCIETE<TAB>Dossier de Contrôle interne<TAB>Personnel<TAB>Questionnaires
     MA SOCIETE<TAB>Dossier de Contrôle interne<TAB>Personnel<TAB>Répartition des tâches
     MA SOCIETE<TAB>Dossier de Contrôle interne<TAB>Personnel<TAB>Tests de procédure
     MA SOCIETE<TAB>Dossier de Contrôle interne<TAB>Système d'information<TAB>Descriptif
     MA SOCIETE<TAB>Dossier de Contrôle interne<TAB>Système d'information<TAB>Questionnaires
     MA SOCIETE<TAB>Dossier de Contrôle interne<TAB>Système d'information<TAB>Répartition des tâches
     MA SOCIETE<TAB>Dossier de Contrôle interne<TAB>Système d'information<TAB>Tests de procédure
     MA SOCIETE<TAB>Dossier de Contrôle interne<TAB>Divers<TAB>Descriptif
     MA SOCIETE<TAB>Dossier de Contrôle interne<TAB>Divers<TAB>Questionnaires
     MA SOCIETE<TAB>Dossier de Contrôle interne<TAB>Divers<TAB>Répartition des tâches
     MA SOCIETE<TAB>Dossier de Contrôle interne<TAB>Divers<TAB>Tests de procédure
     MA SOCIETE<TAB>Dossier de Contrôle interne<TAB>Synthèse de Contrôle Interne<TAB>Descriptif
     MA SOCIETE<TAB>Dossier de Contrôle interne<TAB>Synthèse de Contrôle Interne<TAB>Questionnaires
     MA SOCIETE<TAB>Dossier de Contrôle interne<TAB>Synthèse de Contrôle Interne<TAB>Répartition des tâches
     MA SOCIETE<TAB>Dossier de Contrôle interne<TAB>Synthèse de Contrôle Interne<TAB>Tests de procédure
     MA SOCIETE<TAB>Dossiers Annuels<TAB><TAB>

    Au niveau du résultat de ma requête tout est en ordre (avec les ORDER BY !)

    Votre aide et vos aiguillages seraient les bienvenus !

    Merci à tous
    Fichiers attachés Fichiers attachés

  2. #2
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 679
    Points : 954
    Points
    954
    Par défaut
    La je viens de remplacer le code de récupération des données
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    SI PAS HExécuteRequêteSQL(ReqMvts, MaConnexion, hRequêteSansCorrection ,sReqSQL) ALORS
    	Erreur ( "Erreur VOIR ICI:" + RC + HErreurInfo ())
    	RETOUR
    SINON	
    	HLitPremier(ReqMvts)
    	TANTQUE HEnDehors() = Faux
    		// Ajout dans le champ Arbre
    		ArbreAjoute(Arbre1, ReqMvts.libgroupr + TAB + ReqMvts.lib_groupe1 + TAB + ReqMvts.lib_groupe2 + TAB + ReqMvts.lib_groupe3)
    		HLitSuivant(ReqMvts)
    	FIN
     
    FIN
    le problème persiste au niveau de l'arbre
    Je pense que le problème doit venir de ArbreAjoute(), je pense que je rate un truc !

  3. #3
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 064
    Points : 9 410
    Points
    9 410
    Par défaut
    Tu as 2 colonnes : Id et le libellé correspondant.
    Dans l'arbre, tu ne mets que le libellé, et le système décide de trier par ordre alphabétique. Identité vient donc après Etablissement et avant Mandats. filiales vient en dernier, probablement à cause du f minuscule.


    Et l'aide https://doc.pcsoft.fr/fr-FR/?1000023...reAjoute_objet confirme tout ça, et explique comment solutionner.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  4. #4
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 679
    Points : 954
    Points
    954
    Par défaut
    Bonjour
    Merci pour votre intervention, je vais parcourir tout ca et je fais un retour.
    Merci

  5. #5
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 679
    Points : 954
    Points
    954
    Par défaut
    j'ai modifier ma requête a fin de pouvoir afficher l'id des enregistrement, ensuite mon code remplissage de mon arbre.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ArbreAjoute(Arbre1, ReqMvts.libgroupr + TAB + ReqMvts.id1+" "+ReqMvts.lib_groupe1 + TAB +  ReqMvts.id2+" "+ReqMvts.lib_groupe2 + TAB +  ReqMvts.id3+" "+ReqMvts.lib_groupe3,aDéfaut, aDéfaut)
    et voici le résultat :
    Nom : Capture.JPG
Affichages : 225
Taille : 26,9 Ko
    Ce qui marche !
    Mon soucis est que je ne veux pas afficher les chiffres devant les options de l'arbre, je ne sais si j'ai bien lu la documention, mais je pense que j'ai raté un truc ?

    je continu de chercher !

  6. #6
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 064
    Points : 9 410
    Points
    9 410
    Par défaut
    C'est plus simple que ça.

    Inutile de modifier la requête, revient à la requête originale.

    Quand tu utilises l'instruction ArbreAjoute () , la syntaxe est (je recopie la documentation ) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ArbreAjoute(<Champ Arbre> , <Chemin de la feuille> [, <Image enroulée> [, <Image déroulée> [, <Identifiant de la feuille> [, <Mode d'ajout> [, <Texte de la bulle d'aide>]]]]])
    Regarde l'explication du paramètre <Mode d'ajout>

    Toi , tu ne mets rien, et donc le système considère que tu veux ajouter la ligne à la bonne place pour respecter l'ordre alphabétique. C'est ce qui est écrit dans la Doc. Chaque instruction ArbreAjoute ajoute une ligne, mais généralement pas à la fin.
    Donc si tu insères Identité, puis contacts puis commentaires, le système affiche la ligne Identité, puis la ligne Contacts vient se placer avant Identité (ordre alpha), puis la lignes Commentaires vient se placer avant la ligne Contacts (ordre Alpha)

    Si tu précises le paramètre aDernier , chaque ligne qu'on ajoute vient se placer à la fin. Donc , comme tu envoies Identité PUIS contacts, tu verras Identité PUIS contacts. Les lignes apparaissent conformément à l'ordre chronologique d'insertion, et plus conformément à l'ordre alphabétique.

    Dans la syntaxe, il faut bien prendre en compte que ModeAjout est le 6ème paramètre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ArbreAjoute(Arbre1, ReqMvts.libgroupr + TAB + ReqMvts.lib_groupe1 + TAB + ReqMvts.lib_groupe2 + TAB + ReqMvts.lib_groupe3, aDéfaut , aDéfaut  , ReqMvts.lib_groupe3 , aDernier )
    Tout est dit dans la documentation.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  7. #7
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 679
    Points : 954
    Points
    954
    Par défaut
    Merci beaucoup

    Je viens de comprendre les paramètres
    Ordre de priorité pour le tri
    L'ordre de priorité des paramètres du mode d'ajout est le suivant :
    aPremier
    aDernier
    aTriAlpha
    Dans la documentation.

    Merci pour votre aide

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 20/04/2015, 16h07
  2. [PDO] Insert préparé qui n'insert pas les données
    Par le nOoB dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 22/04/2011, 02h15
  3. [XL-2003] champ calculé qui n'aime pas les multiplications
    Par Peanut dans le forum Excel
    Réponses: 2
    Dernier message: 26/11/2010, 12h29
  4. [MySQL] Champs photo qui ne prends pas les espaces
    Par bullrot dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 21/10/2008, 15h19
  5. Réponses: 6
    Dernier message: 16/05/2008, 09h04

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