OVH Cloud OVH Cloud

Classement / Rangs d'enregistrements (encore et encore)

3 réponses
Avatar
le_pouvoir_des_utopistes
Bonjour =E0 tous,

Ce sujet a =E9t=E9 abord=E9 maintes fois.
Je m'excuse donc pour cette nouvelle question mais si je la pose ...
c'est que je n'ai pas r=E9ussi =E0 appliquer les r=E9ponses trouv=E9es.

Mon besoin :

J'ai la table suivante :
El=E8ve
Mati=E8re
Date
Note

Je souhaiterai r=E9alis=E9 un classement des notes des =E9l=E8ves par
mati=E8res et par dates.

Ceci est une variante de l'exemple le plus souvent cit=E9 qui ne
comporte qu'une colonne =E9l=E8ve et qui est d=E9crit sur le site :
http://access.developpez.com/sources/?page=3DRequete#RequeteClassement

J'ai cherch=E9 =E0 ins=E9rer des group by et des order by mais sans
succ=E8s.

Merci d'avance pour vos judicieuses r=E9ponses

Amicalement

Utopie2025

3 réponses

Avatar
Eric
Bonjour,

Je n'ai pas regardé le lien mais pour avoir un classement par matiere
sur la base d'une table tNotes, en supposant que les contôles par
matière ont lieu à la même date pour tout le groupe d'élèves :
Mettre les champs,
tri croissant sur la matière,
tri croissant sur la note,
et un champ calculé :
ClassementMatiere: CpteDom("*";"tNotes";"Matiere='" & [matiere] & "' and
note>" & [note])+1

Par extension, pour avoir le classement sur la date des différents
controles par matière, peut-être rajouter une condition supplémentaire
au DCount() ou CpteDom().

Bonjour à tous,

Ce sujet a été abordé maintes fois.
Je m'excuse donc pour cette nouvelle question mais si je la pose ...
c'est que je n'ai pas réussi à appliquer les réponses trouvées.

Mon besoin :

J'ai la table suivante :
Elève
Matière
Date
Note

Je souhaiterai réalisé un classement des notes des élèves par
matières et par dates.

Ceci est une variante de l'exemple le plus souvent cité qui ne
comporte qu'une colonne élève et qui est décrit sur le site :
http://access.developpez.com/sources/?page=Requete#RequeteClassement

J'ai cherché à insérer des group by et des order by mais sans
succès.

Merci d'avance pour vos judicieuses réponses

Amicalement

Utopie2025



--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
le_pouvoir_des_utopistes
Merci Eric pour ta réponse et pour cette idée

J'ai testé la fonction mais elle me renvoie le message d'erreur
suivant :

Erreur d'éxécution 2465
Impossible de trouver le champ '|' auquel il fait référence dans
votre expression


Ci-joint le code que j'ai saisi :

Private Sub Commande0_Click()
Dim Rang As String
Rang = DCount("*", "tbl_note", "Matière='" & [Matière] & "' and
Note>" & [Note]) + 1
DropTableIfExists "tbl_note2"
requete = "SELECT Nom, Matière, Note, " & Rang & " INTO tbl_note2 FROM
tbl_note"
CurrentDb.Execute requete
End Sub

Sachant que mon objet requete a été défini dans un module séparé
et qu'il fonctionne correctement.


Merci d'avance pour ton aide

Cordialemement

Arno


Eric wrote:
Bonjour,

Je n'ai pas regardé le lien mais pour avoir un classement par matiere
sur la base d'une table tNotes, en supposant que les contôles par
matière ont lieu à la même date pour tout le groupe d'élèves :
Mettre les champs,
tri croissant sur la matière,
tri croissant sur la note,
et un champ calculé :
ClassementMatiere: CpteDom("*";"tNotes";"Matiere='" & [matiere] & "' and
note>" & [note])+1

Par extension, pour avoir le classement sur la date des différents
controles par matière, peut-être rajouter une condition supplémenta ire
au DCount() ou CpteDom().

Bonjour à tous,

Ce sujet a été abordé maintes fois.
Je m'excuse donc pour cette nouvelle question mais si je la pose ...
c'est que je n'ai pas réussi à appliquer les réponses trouvées.

Mon besoin :

J'ai la table suivante :
Elève
Matière
Date
Note

Je souhaiterai réalisé un classement des notes des élèves par
matières et par dates.

Ceci est une variante de l'exemple le plus souvent cité qui ne
comporte qu'une colonne élève et qui est décrit sur le site :
http://access.developpez.com/sources/?page=Requete#RequeteClassement

J'ai cherché à insérer des group by et des order by mais sans
succès.

Merci d'avance pour vos judicieuses réponses

Amicalement

Utopie2025



--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl= fr



Avatar
Eric
Bonsoir Arno,

Le problème vient de ton instruction SQL de création de la table tbl_note2.
Tu utilises l'instruction SELECT ... INTO ... FROM ...
Derrière le mot clé SELECT tu dois mettre des noms de champs et non des
valeurs (issues de ta variable Rang) comme dans cet exemple:
SELECT LeNom, LePrenom INTO UneAutreTable From LaTable (WHERE ...)
De plus, tu déclares Rang comme String alors que c'est un entier ou
Entier Long. D'autre part, telle que publiée, ta procédure ne calcule
qu'une fois le rang !

Si tu veux ajouter dans la table le classement par matière et note, le
plus simple serait de créer la requête te donnant ce classement, puis de
faire un Insert Into From cette requête (avec une condition Where
éventuellement sur les dates) ou pour une création de table SELECT ...
INTO ... FROM cette requête.

Pour un ajout dans une table:
INSERT INTO tbl_Note2 ( Matiere, Eleve, Rang )
SELECT RQNotes.Matiere, RQNotes.Eleve, RQNotes.ClassementMatiere
FROM RQNotes;
ou encore pour une création de table :
SELECT RQNotes.Matiere, RQNotes.Eleve, RQNotes.ClassementMatiere INTO
tbl_Notes2
FROM RQNotes;

Merci Eric pour ta réponse et pour cette idée

J'ai testé la fonction mais elle me renvoie le message d'erreur
suivant :

Erreur d'éxécution 2465
Impossible de trouver le champ '|' auquel il fait référence dans
votre expression


Ci-joint le code que j'ai saisi :

Private Sub Commande0_Click()
Dim Rang As String
Rang = DCount("*", "tbl_note", "Matière='" & [Matière] & "' and
Note>" & [Note]) + 1
DropTableIfExists "tbl_note2"
requete = "SELECT Nom, Matière, Note, " & Rang & " INTO tbl_note2 FROM
tbl_note"
CurrentDb.Execute requete
End Sub

Sachant que mon objet requete a été défini dans un module séparé
et qu'il fonctionne correctement.


Merci d'avance pour ton aide

Cordialemement

Arno




--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr