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 :

[WD27] Tentatives d'imbrication de données sur 4 niveaux


Sujet :

WinDev

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2009
    Messages : 183
    Par défaut [WD27] Tentatives d'imbrication de données sur 4 niveaux
    Bonjour à tous ,

    Pour ceux qui ont un peu suivi mes précédentes discussion, je dois donc créer une application de gestion des années scolaires et attribution de cours aux enseignants. Celle-ci avant bien et j'en suis à la phase d'affichage des plans d'études.

    la problématique résidait dans le fait qu'à chaque nouvelle année , un nombre x de classes doit être créé. Pour chacune, un plan d'étude est utilisé est crée un ensemble de cours . Les cours eux-mêmes sont relativement complexes car ils se composent d'une ou plusieurs matières.

    voici un exemple de cours (incomplet) qui montre les différents niveaux d'imbrications qu'un cours peut avoir, chaque couleur étant un 'niveau' et ceci pour chaque classe

    Nom : 2022-11-10_09-12-29.png
Affichages : 268
Taille : 42,6 Ko

    L'idée est donc de pouvoir afficher toutes ces informations par classe. Je suis parti sur un tableau de bord et une fenêtre interne. Je crée autant de widgets basés sur ma fenêtre interne qu'il y a de classe. Cela fonctionne bien.
    Maintenant, pour chaque classe, je suis censé représenter les données selon le schéma ci-dessus.

    J'ai débuté par une zone répétée avec rupture pour mon premier niveau (zone bleue sur le schéma ci-dessus). Ensuite j'arrive à afficher les éléments en jaune sur mon schéma.

    Le résultat se trouve dans l'image ci-dessous ((je suis en train de faire des essais donc le design ci-dessus n'est pas final, je teste juste les mécanismes). Mais ici je suis aux limites de l'outil me semble-t-il. J'avais pensé imbriquer d'autres zones répétés mais cela n'est , semble-t-il, pas possible. J'ai bien eu une leur avec la version 28 qui permet cela mais "seulement" en Webdev.

    Selon-vous imbriquer une nouvelle fenêtre interne dans ma zone répétée serait envisageable ? le problème est que l'utilisateur final a besoin de toutes les infos en 1 seule fois lors de l'attribution des cours aux enseignants. Dans le cas contraire, je me serais tourné vers des filtres manuels sur le type d'info à afficher ...

    Nom : 2022-11-10_09-30-51.png
Affichages : 260
Taille : 38,1 Ko

    Merci pour votre aide

  2. #2
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2017
    Messages
    3 032
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2017
    Messages : 3 032
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Il faut que tu regardes du côté des TCD (tableau croisé dynamique.)
    Pour ce champ, il y a de nombreux réglages "cachés" (e.g. affichage des totaux horizontal/vertical, nommage des cellules) il ne faut pas hésiter à bien fouiller les descriptions.
    Le fait de cliquer sur les "zones principales" offre de nouveaux réglages

  3. #3
    Expert confirmé
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 694
    Par défaut
    +1 @ Vorloltinquo.

    Ce que tu nous montres est un TCD.

  4. #4
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 261
    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 261
    Par défaut
    Dans le champ TCD, j'en étais resté à ceci :
    Les entêtes de lignes et de colonnes peuvent être des champs Texte, mais la partie "corps du tableau" contient des données de type numérique.

    Ca a changé ? Le corps du tableau peut être de type texte ?

  5. #5
    Expert confirmé
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 694
    Par défaut
    Je ne pense pas que cela soit un souci.

    Il suffit d'utiliser les Id des éléments lus en base : ex Matière(IdMatière, LibelléMatière)

    EDIT : je viens de me rendre compte de l'énormité de ce que je viens d'écrire. Tu as raison tcb92 : si on ne peut avoir que des nombres affichés, ça va être compliqué avec le TCD

  6. #6
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2017
    Messages
    3 032
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2017
    Messages : 3 032
    Billets dans le blog
    1
    Par défaut
    On a la possibilité d'ajouter des niveaux via les zones Ligne et Colonne.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2009
    Messages : 183
    Par défaut
    Merci à vous pour toutes ces infos.
    La problématique je pense est que par 'cellule finale' il y a plusieurs champs qui sont de type numérique mais également texte. Si j'ai bien compris, le TCD ne permettrait d'afficher "que" des valeurs totaux ?
    De même, si vous regardez mon tableau, il peut y avoir 1 ou plusieurs enregistrements par 'sous-niveaux' ; c'est pour cette raison que je dois systématiquement créé qqchose comme des listes ou des zones répétées qui sont imbriquées.

    Je pense être arrivé aux limites actuelles du logiciel, je vais donc voir avec l'utilisateur final si je peux créer plusieurs types d'affichage en fonction du besoin et me concentrer sur deux niveaux, ce que permet le logiciel

    Merci encore à vous pour votre temps

  8. #8
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 261
    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 261
    Par défaut
    As-tu regardé les tables-hiérarchiques ?

    Il y a un truc qui me pose problème dans ton image initiale, c'est la rubrique 'Latin'.
    Pour toutes les premières lignes, on a une structure en arbre. La colonne en rose est un 'enfant' de la colonne en vert. Elle-même enfant de la colonne en jaune.
    Mais pour la rubrique 'Latin', ce n'est plus le cas.
    Donc non seulement en terme d'affichages, mais déjà, auparavant, en terme de stockage des données, je ne vois pas comment ces données sont organisées en base de données.

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2009
    Messages : 183
    Par défaut
    Oui le latin a été une prise de tête au niveau de la conception de mon MLD. J'explique :

    Un cours peut être composé de plusieurs matières. Par exemple, un cours appelé OS Arts visuels sera composé d'une leçon d'histoire de l'art, de 3 leçons d'atelier et d'une leçon de théorie. Lorsque je parle de leçon, c'est une présence physique de x périodes pour lesquelles il faut avoir une salle de disponible.

    Il y a dans notre école plusieurs types de cours : disciplines fondamentales, Options spécifiques (OS), Options complémentaires (OC), etc. A chaque type est donc relié des cours avec leur(s) leçon(s).

    Il y a maintenant le cas du Latin qui est dispensé dans deux types de cours : les Disciplines fondamentales (au même titre que l'anglais, l'allemand, le français) et en tant qu'OS. Mais comme le nombre d'étudiants en latin étant très réduit, la leçon en présentielle dans une salle de cours est partagée par les deux types de cours. Dans mon MLD,je dois donc pouvoir lier une leçon physique à plusieurs cours de types différents. Cela m'a donné le schéma suivant :

    j'ai mis en rouge les fichiers nécessaires à cette opération

    Nom : 2022-11-11_10-02-50.png
Affichages : 228
Taille : 204,5 Ko

  10. #10
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 261
    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 261
    Par défaut
    Bon, c'est compliqué. Tu sais où tu vas, je ne vais pas faire l'effort d'éplucher cette dernière image.
    Mais c'est le coeur de l'histoire. Est-ce que le MLD permet de stocker les liens entre toutes ces informations.

    Mais je pense que à cause de cette particularité, les champs classiques ne vont pas pouvoir fonctionner. Il va falloir mettre les mains dans le cambouis.
    Peut-être un simple champ table, et jouer beaucoup avec les fusions de cellules. Beaucoup de travail dans tous les cas.
    Ou au pire, un champ image.
    Malheureusement, le champ organigramme ne permet de gérer que les cas où un parent a plusieurs enfants, mais un enfant a un seul parent. Donc le cas particulier du latin n'est pas compatible.

    Le problème n'est pas : 'on a 4 niveaux hiérarchiques, c'est trop'. Le problème est : 'on a un truc qui ressemble à un truc hiérarchique, mais pas totalement'.

    Dans la toute première image, il y a une 'réflexion humaine' qui a conduit à afficher la cellule Latin-Rose au milieu entre les 2 lignes 'Latin Vert'... comment cette réflexion humaine peut-elle être stockée en base de donnée, comment peut-elle être restituée à l'écran.
    Pareil, dans cette toute première image, on a 2 cellules jaunes DF-Latin, elles ne sont pas fusionnées, c'est probablement volontaire. Tout ça est compliqué, et ne pourra probablement pas être restitué tel quel avec juste le choix du bon champ et 10 ou 20 lignes de code.

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2009
    Messages : 183
    Par défaut
    Citation Envoyé par tbc92 Voir le message
    Bon, c'est compliqué. Tu sais où tu vas, je ne vais pas faire l'effort d'éplucher cette dernière image.
    Mais c'est le coeur de l'histoire. Est-ce que le MLD permet de stocker les liens entre toutes ces informations.

    Mais je pense que à cause de cette particularité, les champs classiques ne vont pas pouvoir fonctionner. Il va falloir mettre les mains dans le cambouis.
    Peut-être un simple champ table, et jouer beaucoup avec les fusions de cellules. Beaucoup de travail dans tous les cas.
    Ou au pire, un champ image.
    Malheureusement, le champ organigramme ne permet de gérer que les cas où un parent a plusieurs enfants, mais un enfant a un seul parent. Donc le cas particulier du latin n'est pas compatible.

    Le problème n'est pas : 'on a 4 niveaux hiérarchiques, c'est trop'. Le problème est : 'on a un truc qui ressemble à un truc hiérarchique, mais pas totalement'.

    Dans la toute première image, il y a une 'réflexion humaine' qui a conduit à afficher la cellule Latin-Rose au milieu entre les 2 lignes 'Latin Vert'... comment cette réflexion humaine peut-elle être stockée en base de donnée, comment peut-elle être restituée à l'écran.
    Pareil, dans cette toute première image, on a 2 cellules jaunes DF-Latin, elles ne sont pas fusionnées, c'est probablement volontaire. Tout ça est compliqué, et ne pourra probablement pas être restitué tel quel avec juste le choix du bon champ et 10 ou 20 lignes de code.
    Oui c'est compliqué effectivement, d'où ma question à l'utilisateur finale de pouvoir séparer les affichages en fonction des différents besoin et de ne montrer qu'une partie des informations.

    Pour ce qui est de ta remarque : "..Pareil, dans cette toute première image, on a 2 cellules jaunes DF-Latin, elles ne sont pas fusionnées" tu as mis le doigt sur une erreur de ma part car effectivement cette présentation n'est pas logique. Une des deux lignes ne devrait pas s'intituler 'DF Latin' mais 'OS Latin'.

    Sinon, pour l'affichage de ces cas particuliers, je n'aurais pas d'autre choix de les afficher pour chaque cours concerné avec un mention ou un code couleur qui avertit l'utilisateur que cette dernière concerne plusieurs cours.

    J'ai ajouté à cette effet un champ qui prendra les valeurs des noms des classes concernées par une éventuelle fusion de leçon
    Nom : 2022-11-11_11-55-22.png
Affichages : 225
Taille : 35,4 Ko

    s'il y a un intérêt, je peux vous afficher ce que j'arrive à faire dès que j'ai qqchose de cohérent

Discussions similaires

  1. [Toutes versions] Liste de course utilisant des listes de données sur plusieurs niveaux
    Par mekloub dans le forum Excel
    Réponses: 5
    Dernier message: 23/07/2019, 23h13
  2. Imbrication de subroutines sur plusieurs niveaux
    Par mathieu1 dans le forum Fortran
    Réponses: 10
    Dernier message: 14/01/2011, 16h09
  3. Base de données sur cd-rom ?
    Par vitsec dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 03/05/2004, 18h07
  4. Réponses: 5
    Dernier message: 11/03/2004, 15h34
  5. Extraction de données sur des fichiers excel
    Par iupgeii dans le forum MFC
    Réponses: 3
    Dernier message: 23/01/2004, 13h53

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