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 :

moyenne avec coefficient note manquante dans une colonne.


Sujet :

WinDev

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    TIEMELEKRO
    Inscrit en
    Janvier 2015
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : TIEMELEKRO
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2015
    Messages : 207
    Points : 0
    Points
    0
    Par défaut moyenne avec coefficient note manquante dans une colonne.
    Bonsoir cher tous.
    j'ai un souci.
    Par le passé j'avais soumis une préoccupation de calcule avec colonne vide et avec l'aide des uns et des autre, j'ai pu avoir une réponse favorable à ma préoccupation
    qui est la suivante.

    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
    T est un réel=m+b+c+d+e+f+g+h+i+j+k+l
    NbNotes est un entier
    COL_Total=T
     
     
    SI m <>Null NbNotes++
    COL_Moyenne=T/NbNotes
     
    SI b <>Null NbNotes++ 
    COL_Moyenne=T/NbNotes
     
    SI c <>Null NbNotes++
    COL_Moyenne=T/NbNotes
     
    SI d <>Null NbNotes++ 
    COL_Moyenne=T/NbNotes
     
    SI e <>Null NbNotes++
    COL_Moyenne=T/NbNotes
     
    SI f <>Null NbNotes++
    COL_Moyenne=T/NbNotes
     
    SI g <>Null NbNotes++
    COL_Moyenne=T/NbNotes
     
    SI h <>Null NbNotes++ 
    COL_Moyenne=T/NbNotes
     
    SI i <>Null NbNotes++ 
    COL_Moyenne=T/NbNotes
     
    SI j <>Null NbNotes++ 
    COL_Moyenne=T/NbNotes
     
    SI k <>Null NbNotes++ 
    COL_Moyenne=T/NbNotes
     
    SI l <>Null NbNotes++ 
    COL_Moyenne=T/NbNotes
    Il était question de calculer la moyenne des élèves en tenant compte des colonnes non vides et cela fonctionne très bien.
    mon problème ici est que je voudrais que T soit=m*3+b*3+c*2+d*4+e+f*2+g*2+h*2+i+j*2+k*2+l
    Dans ce cas là comment faire la division pour obtenir la moyenne en tenant compte de la possibilité qu'il y ait des élèves qui n'aient pas de note dans certaines matières.

  2. #2
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 807
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 807
    Points : 5 263
    Points
    5 263
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Il y a 16 mois je t'avais fournis le MLD qui modélisait (c'est son rôle ) ton problème.
    https://www.developpez.net/forums/d2.../#post11400454
    Il y a 2 mois, j'avais fournis la requête pour alimenter un TCD qui prenait en compte ce problème
    https://www.developpez.net/forums/d2.../#post11716010,
    en te disant de lire la doc concernant tcdPosition.
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  3. #3
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 053
    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 053
    Points : 9 392
    Points
    9 392
    Par défaut
    Va voir ici : Discussion
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    TIEMELEKRO
    Inscrit en
    Janvier 2015
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : TIEMELEKRO
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2015
    Messages : 207
    Points : 0
    Points
    0
    Par défaut
    Je constate que je me suis fourvoyé et donc j'ai décidé de repartir de zéro et évoluer pas à pas.
    Voici mon MLD
    Nom : Mld.PNG
Affichages : 213
Taille : 34,8 Ko
    Le MLD est-il bien conçu? ou dois-je modifier quelque choses?

  5. #5
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 807
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 807
    Points : 5 263
    Points
    5 263
    Billets dans le blog
    1
    Par défaut
    A première vue, dans les grande lignes cela semble correct, je ne me suis pas attardé sur les cardinalités. Toutefois je ferai quelques remarques
    1. La mise en forme
      Ton SI comporte 2 sous-systèmes
      1. La partie "Administrative"
      2. La partie "Note"

      Dans les 2 cas, ce sont les élèves qui sont au centre de la gestion.
      Pour une meilleure lisibilité, il est pratique de mettre la table élève au centre et de répartir les autres tables à droite et à gauche en fonction du sous système. Si ton système est amené à évoluer, les autres sous systèmes (e.g. Absence, Stages ...) prendront place en haut et en bas. L'utilisation des dossiers perso n'est pas superflue cela évite, de se retrouver avec un drap de lit si l'on souhaite imprimer le MLD.
    2. La partie logique
      1. La classe
        Il faut diférencier la classe "aministrative" (e.g. La 6°1 a 35 élèves, son professeur principal est M. Dupond,) et la classe en tant que "Niveau d'étude" (e.g L'année prochaine mon fils entre en 6°.)
        L'inscription se rapporte à la classe administrative, mais les coefficients se rapportent au niveau d'étude.
        -Mon fils est inscrit en 6°1 (administratif, et le français est coef 5.
        -Le mien est en 6°2 et le français est aussi coef 5
        -C'est normal, ils ont le même niveau d'étude
      2. La relation Inscription-Composition
        Elle n'a pas lieu d'être, c'est l'élève qui compose. S'il n'est pas inscrit, il ne peut pas composer (sauf dérogation, mais la dérogation lui permet d'être considéré comme inscrit.)
      3. La relation Année-Composition
        Elle non plus n'a pas lieu d'être. Année est reiée à Trimestre, donc, si on a le trimestre, on a l'année. De même pour avoir les compositions d'une année, il suffit de rechercher les trimestres puis les composition associées

    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    TIEMELEKRO
    Inscrit en
    Janvier 2015
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : TIEMELEKRO
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2015
    Messages : 207
    Points : 0
    Points
    0
    Par défaut
    Comme ça?
    Nom : Capture1.PNG
Affichages : 183
Taille : 41,7 Ko

  7. #7
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 807
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 807
    Points : 5 263
    Points
    5 263
    Billets dans le blog
    1
    Par défaut
    Ca me semble correct, mais rien n'empèche d'ajouter la classe "administrative" à laquelle sera affectée l'élève, les enseignants, les salles de cours etc....
    Par contre dans ce cas la relation niveau élève devra être conservée.
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    TIEMELEKRO
    Inscrit en
    Janvier 2015
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : TIEMELEKRO
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2015
    Messages : 207
    Points : 0
    Points
    0
    Par défaut
    Effectivement j'ai omis La classe de l'enfant.
    A l'inscription, l'élève est d'abord enregistrer dans son niveau d'étude (5è ou 4è etc) puis il est inscrit dans une classe du niveau (5è1, 5è2 ou 4è1 etc).
    Nom : Capture1.PNG
Affichages : 184
Taille : 47,4 Ko

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    TIEMELEKRO
    Inscrit en
    Janvier 2015
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : TIEMELEKRO
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2015
    Messages : 207
    Points : 0
    Points
    0
    Par défaut
    Bonsoir comment obtenir cet état avec mon MLD?
    Nom : 1.PNG
Affichages : 164
Taille : 98,8 Ko

  10. #10
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 807
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 807
    Points : 5 263
    Points
    5 263
    Billets dans le blog
    1
    Par défaut
    Il faut passer par un TCD
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  11. #11
    Nouveau Candidat au Club
    Homme Profil pro
    TIEMELEKRO
    Inscrit en
    Janvier 2015
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : TIEMELEKRO
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2015
    Messages : 207
    Points : 0
    Points
    0
    Par défaut
    J'y ais pensé, j'ai essayé mais je n'arrive pas à obtenir l'état à partir d'une requête.
    Exemple: Afficher les notes de toutes les matières du premier trimestre de l'année scolaire 2020-2021 des élèves de la classe de 5è1.
    Peux tu me dire comment m'y prendre?

  12. #12
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 807
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 807
    Points : 5 263
    Points
    5 263
    Billets dans le blog
    1
    Par défaut
    Dans un premier temps, il est préférable de passer par un champ TCD (plus facile à manipuler en conception) puis
    -Soit utiliser l'option "créer un état via un champ TCD"
    -Soit utiliser dans le code la fonction ExécuteFAA avec l'option faaImprimerTcd
    Dans un deuxième temps, il suffit d'adapter la requête que j'avais fournie précédemment. Il faut toutefois modifier ton MLD afin d'ajouter les "familles" de matière (e.g. CF, OG... appartiennent à la famille "Français".) La requête aura un regroupement via order by sur cette famille
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  13. #13
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 807
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 807
    Points : 5 263
    Points
    5 263
    Billets dans le blog
    1
    Par défaut
    Revenons d'abord sur ton MLD et arrêtons nous sur la partie gestion des notes.
    La table "principale" est Composer, au même titre que Elève est la table principale de ton SI.

    Un élève compose dans une épreuve lors d'un trimestre et obtient une note. Dans ton MLD, on ne retrouve pas le fait que la composition concerne un élève.
    Pour prendre en compte cela, il faut modifier ton MLD.
    Nom : Notes.png
Affichages : 151
Taille : 29,3 Ko
    Traitons la partie "Notes", la classe et le prof principal seront traités ultérieurement.
    De quoi avons nous besoin ?
    Du matricule, du nom et du prénom de l'élève et de ses notes associées à leur coefficient ainsi que les matières et leur famille et ce pour un trimestre variable. Pour la beauté du geste on ajoutera la PK de l'élève.
    RqPour des raisons pédagogiques, j'ai "simplifié" la table trimestre
    Afin de ne pas augmenter le temps de calcul lors de l'affichage des données, on calculera le nombre de points pour une épreuve (Note*Coef)
    En ce qui concerne les familles, il faudra faire attention aux jointures. Certaines matières e.g. Math n'ont pas de familles une jointure "classique" ne fera pas apparaître ces matières.
    La requête est alors :
    Code SQL : 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
     
    SELECT 
    	Eleve.PK_Eleve AS PK_Eleve,	
    	Eleve.AK_Matricule AS Matricule,	
    	Eleve.NDX_NomEleve AS Nom,	
    	Eleve.PrenomEleve AS Prénom,	
    	Composer.Note AS Note,	
    	Epreuve.Coefficient AS Coefficient,	
    	Epreuve.Coefficient*Composer.Note AS Points,	
    	Matiere.AK_NomMatiere AS NomMatière,	
    	FamilleMatière.AK_Famille AS Famille,	
    	Trimestre.AK_LibelleTrimestre AS LibelleTrimestre
    FROM 
    	FamilleMatière
    	RIGHT OUTER JOIN     //Permet d'afficher les matières qui n'ont pas de famille
    	(
    		Matiere
    		INNER JOIN
    		(
    			Epreuve
    			INNER JOIN
    			(
    				Eleve
    				INNER JOIN
    				(
    					Trimestre
    					INNER JOIN
    					Composer
    					ON Trimestre.PK_Trimestre = Composer.FK_Trimestre
    				)
    				ON Eleve.PK_Eleve = Composer.FK_Eleve
    			)
    			ON Epreuve.PK_Epreuve = Composer.FK_Epreuve
    		)
    		ON Matiere.PK_Matiere = Epreuve.FK_Matiere
    	)
    	ON FamilleMatière.PK_FamilleMatière = Matiere.FK_Famille
    WHERE 
    	(
    	Trimestre.PK_Trimestre = {pTrimestre}
    )
    ORDER BY 
    	Nom ASC,	
    	Famille ASC
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  14. #14
    Nouveau Candidat au Club
    Homme Profil pro
    TIEMELEKRO
    Inscrit en
    Janvier 2015
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : TIEMELEKRO
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2015
    Messages : 207
    Points : 0
    Points
    0
    Par défaut
    Ok je teste et je te reviens.

  15. #15
    Nouveau Candidat au Club
    Homme Profil pro
    TIEMELEKRO
    Inscrit en
    Janvier 2015
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : TIEMELEKRO
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2015
    Messages : 207
    Points : 0
    Points
    0
    Par défaut
    Juste deux petites remarques.
    -Le fichier "Trimestre" le début est une date et la fin est un texte
    -le fichier "Epreuve". Je constate que la clé composée est AK_CC_Matiere_Examen alors que le fichier examen n'existe pas. n'est-ce pas AK_CC_Matiere_Niveau?

  16. #16
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 807
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 807
    Points : 5 263
    Points
    5 263
    Billets dans le blog
    1
    Par défaut
    En effet. Ton ancien projet sur les exams était passé à travers le nettoyage de printemps et certaines modif n'ont pas été répercutées dans ma copie écran.
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  17. #17
    Nouveau Candidat au Club
    Homme Profil pro
    TIEMELEKRO
    Inscrit en
    Janvier 2015
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : TIEMELEKRO
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2015
    Messages : 207
    Points : 0
    Points
    0
    Par défaut
    excuse moi
    pourrais-tu me montrer ta fenêtre de saisie des notes STP
    parce que moi j'ai un souci pour l'affichage des matières du niveau, du coefficient etc.

  18. #18
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 807
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 807
    Points : 5 263
    Points
    5 263
    Billets dans le blog
    1
    Par défaut
    Je n'ai pas de fenêtre de saisie de notes.
    Je remplis les tables via un outils de génération de données.
    Toutefois, il est préférable de créer les épreuves en amont.
    Un combo épreuve, un combo classe et un champ table avec élève-note basé sur Composer devrait faire l'affaire.
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  19. #19
    Nouveau Candidat au Club
    Homme Profil pro
    TIEMELEKRO
    Inscrit en
    Janvier 2015
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : TIEMELEKRO
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2015
    Messages : 207
    Points : 0
    Points
    0
    Par défaut
    je préfère que nous allions étape par étape car je n'ais jamais utilisé ce genre de MLD avec clé composée.
    Pour la création du combo épreuve, quelle rubrique afficher, quelle est la rubrique mémorisée et la rubrique de parcours

  20. #20
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 807
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 807
    Points : 5 263
    Points
    5 263
    Billets dans le blog
    1
    Par défaut
    Oops pas épreuve, matière.
    Les valeurs mémorisées seront toujours la PK.
    En ce qui concerne la saisie des notes, tout dépend de ce que tu as décrit dans ton MCT puis dans ton MOT à qui tu as affecté la saisie.
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

Discussions similaires

  1. [WD20] moyenne avec une note manquante dans une colonne.
    Par ARNAUD ZIRIPE dans le forum WinDev
    Réponses: 8
    Dernier message: 05/02/2020, 06h33
  2. [XL-2016] fusionner les deux lignes avec le même nom dans une colonne
    Par methos01 dans le forum Excel
    Réponses: 4
    Dernier message: 27/03/2017, 15h26
  3. Affichage ligne avec exclusivité de texte dans une colonne
    Par musicalegria dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 11/06/2015, 20h46
  4. [XL-2010] Relever nombres manquants dans une colonne
    Par Ysae68 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 31/07/2014, 13h31
  5. Réponses: 2
    Dernier message: 18/05/2013, 09h14

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