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 :

Enregistrer le classement


Sujet :

WinDev

  1. #21
    Membre actif
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Mai 2015
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur COBOL

    Informations forums :
    Inscription : Mai 2015
    Messages : 138
    Points : 270
    Points
    270
    Par défaut
    bon

    il faut commencer par le commencement.

    plutôt que de gérer une table fais toi un petit projet de test. disons une simple fenêtre avec des champs de saisie.

    un bouton annuler et un bouton valider.

    exercice enregistrer ou modifier la saisie. et bien sur pouvoir l'afficher.

    grâce à la touche F1 tu a accès a l'aide qui est bien faite.

    tu vas avoir besoin des fonctions hcreationsinonexistant / hajoute / hmodifie / ferme / fichierversecran / ecranversfichier. Dans l'aide tu trouveras comment les utiliser.

    utilise au début une base hyperfile classic pour décrire ton fichier.

    fais cette étape et tu auras progressé. on fera plus compliqué après.

    Il faut éviter de mettre la charrue devant les bœufs, l'idéal pour s'entrainer c'est l'autoformation, certains te le confirmeront.

    si tu optes pour le petit projet de test, à toi d'inventer comment afficher et modifier ou créer depuis ta fenêtre.

  2. #22
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Youdare Voir le message
    Je veux sélectionner les moyennes, les groupées par classe ,puis par eleve.
    Puis faire la somme des moyenne par élevé pour obtenir la moyenne trimestrielle.
    Ne manquerait-il pas 2 notions importantes? Le niveau de l'élève et la plage de dates concernée?

  3. #23
    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
    Il faut que tu apprennes à programmer, il faut que tu apprennes SQL, et il faut que tu apprennes à poser des questions correctement.

    Là, tu dis que tu veux 'Enregistrer le classement des élèves'. Il y a 5 personnes qui veulent t'aider, tu vas avoir 5 pistes, mais 5 pistes différentes parce qu'il y a des dizaines de façons d'aborder le problème. Et du coup tu vas être encore plus perdu quand tu auras lu les réponses.

    Il faut que tu dises : J'ai tel et tel fichiers ... et tu donnes la description des fichiers (une copie écran de l'analyse peut convenir). Tu dis quels fichiers sont déjà calculés, et quels fichiers sont vides. Ou bien quelle colonnes sont vides. Et après, on pourrra commencer à t'aider.

    Là tu parlais de calculer un rang. Maintenant, je crois comprendre que tu que tu dois d'abord calculer la note de chaque élève, ça n'a plus rien à voir !
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  4. #24
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2018
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2018
    Messages : 25
    Points : 0
    Points
    0
    Par défaut
    Apres avoir lu vos postes j'ai opté pour le code SQL que je maîtrise peu . avec quelques recherche ,j'ai utilisé l'éditeur de requête ,mais je n'arrive pas a exécuter la requête.
    Voici le code:
    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
    SELECT 
             MOYENNES.Ansco AS Année scolaire
             MOYENNEES.IDCLASSE AS IDCLASSE,
             MOYENNES.IDELEVE AS IDELEVE,
             SUM(MOYENNES.Moy) AS La_somme_Moy,
             COUNT(AVG(MOYENNES.Moy)) as  comptage_1
    FROM
           MOYENNES
    GROUP BY
           MOYENNES.Ansco,
           MOYENNES.IDCLASSE,
           MOYENNE. IDELEVE
    ORDER BY
           Comptage_1 DESC

  5. #25
    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
    Il faut commencer simple, puis évoluer.

    Sur la base de ta requête, voici 2 ou 3 étapes. Est-ce que la 1ère requête marche ? Est-ce que la 2ème requête marche ?

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT 
        MOYENNES.Ansco AS Année scolaire
        MOYENNEES.IDCLASSE AS IDCLASSE,
        MOYENNES.IDELEVE AS IDELEVE
    FROM
        MOYENNES

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    SELECT 
        MOYENNES.Ansco AS Année scolaire
        MOYENNEES.IDCLASSE AS IDCLASSE,
        MOYENNES.IDELEVE AS IDELEVE,
        SUM(MOYENNES.Moy) AS La_somme_Moy,
        COUNT(AVG(MOYENNES.Moy)) as comptage_1
    FROM
        MOYENNES
    GROUP BY
        MOYENNES.Ansco,
        MOYENNES.IDCLASSE,
        MOYENNE. IDELEVE

    Si la 2ème requête marche, et pas celle que tu as voulu faire... tu auras diagnostiqué le problème.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  6. #26
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2018
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2018
    Messages : 25
    Points : 0
    Points
    0
    Par défaut
    Oui j'ai fais par étape avec l'éditeur de requête de selection ,tout marchait jusqu'à la Moyenne de la somme des moyenne :AVG(MOYENNES.Moy))Puis j'ai fait :COUNT(AVG(MOYENNES.Moy)) et la requête n'arrive pas a d'initialiser.

  7. #27
    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
    Argggh, je n'avais pas vu ce count(avg(moyennes.moy)) ***##*¤¤##ù!:!!

    Si un élève a comme notes 10 10 12 13 14 15 et 15 sur une année scolaire , soit 7 notes, ou encore 7 lignes dans la table moyennes, tu veux que la requete SQL donne combien, quand tu lui demandes de compter Count(avg(moyennes.moy)) ?

    As- tu regardé une initiation à SQL et la syntaxe de la fonction Count() pour comprendre pourquoi ça ne marchait pas ?
    Exemple de lien vers un tutoriel qu'on trouve en 2 minutes : https://laurent-audibert.developpez....age-sql#L4-5-2
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  8. #28
    Invité
    Invité(e)
    Par défaut
    Je crois que le mieux serait de parler de la requête SQL dans la section langage SQL qui est plus approprié

  9. #29
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2003
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2003
    Messages : 942
    Points : 1 933
    Points
    1 933
    Par défaut
    Tu ne peux pas faire de Count(AVG()). D'ailleurs ça n'aurait aucune utilité ici. A mon sens ta requête devrait s'arrêter à quelque chose comme ça
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    SELECT 
    MOYENNES.Ansco AS Année scolaire
    MOYENNEES.IDCLASSE AS IDCLASSE,
    MOYENNES.IDELEVE AS IDELEVE
    AVG(MOYENNES.Moy) as Moyenne
    FROM
    MOYENNES
    GROUP BY 
    MOYENNES.Ansco,
    MOYENNEES.IDCLASSE,
    MOYENNES.IDELEVE
    ORDER BY Moyenne
    Philippe,


    N'hésitez à lever le pouce si mon aide vous a été utile.

  10. #30
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2018
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2018
    Messages : 25
    Points : 0
    Points
    0
    Par défaut
    En effet, dans mes recherches sur le requête de classement j'ai trouvé ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Classement ="SELECT COUNT(DISTINCT(note))+1 AS rang FROM membre WHERE note>$note";
    J'aimerai adapter ça a windev mais je n'arrive pas

  11. #31
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2003
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2003
    Messages : 942
    Points : 1 933
    Points
    1 933
    Par défaut
    Tu ne pourras pas l'adapter en SQL car HFSQL n'est pas capable de le faire. Il faut que tu le fasses dans le code
    Philippe,


    N'hésitez à lever le pouce si mon aide vous a été utile.

  12. #32
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2018
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2018
    Messages : 25
    Points : 0
    Points
    0
    Par défaut
    Ce que cherche c'est méthode ou le code Wlangage pour pouvoir aboutir a ce résultat

  13. #33
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2003
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2003
    Messages : 942
    Points : 1 933
    Points
    1 933
    Par défaut
    C'est simple, si ta requête te renvoie les enregistrements triés dans le bon ordre, il te suffit de parcourir ta requete et d'incrémenter une variable de type entier de 1 a chaque fois.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Classement est entier
     
    POUR TOUT maRequete
        Classement++
        // faire le traitement ici
    FIN
    Je pense qu'il faut reprendre l'auto formation, désolé...
    Philippe,


    N'hésitez à lever le pouce si mon aide vous a été utile.

  14. #34
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2018
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2018
    Messages : 25
    Points : 0
    Points
    0
    Par défaut
    salut j’étais absent suite a soucis de connexion
    Merci pour vos conseils, j'ai trouvé la solution.

    J'ai classé les moyennes par ordre décroissant puis j'ai affiché le numéro des lignes
    Et j'ai enregistré ces numéro comme classement dans la colonne rang

    cordialement

  15. #35
    Membre actif
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations forums :
    Inscription : Janvier 2011
    Messages : 174
    Points : 287
    Points
    287
    Par défaut
    Bonjour Youdare;
    Je suis un élève dans la classe.
    Pourquoi mon camarade qui a la même moyenne comme moi est classé avant moi ?
    Bon Dev.

  16. #36
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2018
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2018
    Messages : 25
    Points : 0
    Points
    0
    Par défaut
    Bonjour merci pour la remarque, je n'avais même pas fait attention.
    donc mon problème m'est pas encore résolu.
    j’attends toujours votre aide.

  17. #37
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2003
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2003
    Messages : 942
    Points : 1 933
    Points
    1 933
    Par défaut
    j’attends toujours votre aide.
    Je pense que tu as toutes les cartes en main pour t'en sortir. Il te faut réfléchir juste à l'algo qui va te permettre d'arriver à ce que tu souhaites faire. Mets le sur papier et seulement ensuite tu pourras le retranscrire informatiquement.
    Philippe,


    N'hésitez à lever le pouce si mon aide vous a été utile.

  18. #38
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2018
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2018
    Messages : 25
    Points : 0
    Points
    0
    Par défaut
    j'ai essayé d’écrire l'algo mais je n'ai pas pu

  19. #39
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2003
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2003
    Messages : 942
    Points : 1 933
    Points
    1 933
    Par défaut
    Mets en post l'ago que tu souhaites mettre en place, on t'aidera à le corriger et éventuellement à le perfectionner
    Philippe,


    N'hésitez à lever le pouce si mon aide vous a été utile.

  20. #40
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2018
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2018
    Messages : 25
    Points : 0
    Points
    0
    Par défaut
    Voici mon algo que j'ai essayé de créer:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Monindex est un entier
    Iindex est un entier
    Nbr est un entier
    Rang est entier
     
    POUR Monindex =1 A Tablecount(TABLE_REQ_MOYENNE)
         rang ++
         POUR  Iindex A TableCount(TABLE_REQ_MOYENNE)
                  SI TABLE_REQ_MOYENNE. COL_Moy[Iindex] =TABLE_REQ_MOYENNE. COL_Moy[Monindex] ALORS
                      nbr ++
              FIN
         FIN
         TABLE_REQ_MOYENNE. COL_Rang[Monindex]=rang
    FIN
    Je voulais compter nombre d'execo et l'additionner au numéro de ligne après l'execo et attribuer le numéro de ligne du premier execo sur les autre execo

Discussions similaires

  1. Classement numéroter des enregistrements
    Par bremmo76 dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 20/06/2010, 10h16
  2. Réponses: 8
    Dernier message: 23/03/2007, 01h14
  3. [VB6] [Crystal] Selection enregistrement
    Par littlecow dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 11/01/2005, 13h08
  4. [BDD] Enregistrer le résultat d'une requête
    Par Mowgly dans le forum C++Builder
    Réponses: 5
    Dernier message: 19/06/2002, 15h26
  5. enregistrer dans un fichier avec une appli mdi
    Par ferrari dans le forum C++Builder
    Réponses: 4
    Dernier message: 05/05/2002, 15h17

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