Requette SQL vers Access [Résolu]

Messages postés
138
Date d'inscription
dimanche 15 février 2009
Statut
Membre
Dernière intervention
6 septembre 2019
- - Dernière réponse : yoanpg
Messages postés
138
Date d'inscription
dimanche 15 février 2009
Statut
Membre
Dernière intervention
6 septembre 2019
- 19 nov. 2014 à 21:49
Bonjour à tous, :)

J'ai une application VB6 qui attaque une base de données Access.

Je voudrais faire une requette SQL en utilisant la fonction GROUP BY.
J'ai tenté avec un Recordset ou un ADODB, mais ça ne semble pas fonctionner (j'ai des erreurs d'exécution).

Est-ce que c'est possible ?
Par quel moyen ?

Merci d'avance de votre aide ;)
Afficher la suite 

7 réponses

Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
46
0
Merci
Bonjour

Ben si ton application attaque ta bdd ...
Montre ce que tu as tenté d'écrire
Commenter la réponse de cs_ShayW
Messages postés
138
Date d'inscription
dimanche 15 février 2009
Statut
Membre
Dernière intervention
6 septembre 2019
3
0
Merci
Voilà mon code, qui fonctionne pour des requêtes sans GROUP BY :
Public Db As Database
Public Rs As Recordset

Set Db = OpenDatabase([chemin de la base])
Set Rs = Db.OpenRecordset("SELECT SUM(Points) FROM Enregistrement WHERE Enregistré = True GROUP BY Club ORDER BY Points", dbOpenSnapshot)


Ce code renvoie une erreur du genre "Nombre de paramètre insuffisant, 1 attendu" ou quelque chose comme ça (je n'ai pas moyen refaire l'essai pour le moment pour avoir l'erreur exacte)
Commenter la réponse de yoanpg
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
215
0
Merci
Bonjour,
SUM implique déjà une notion de groupe
GROUP BY précise cette notion
Question : sur quoi, exactement, veux-tu TRIER ?
Commenter la réponse de ucfoutu
Messages postés
138
Date d'inscription
dimanche 15 février 2009
Statut
Membre
Dernière intervention
6 septembre 2019
3
0
Merci
J'ai une table avec des participants, et chaque participants a un certain nombre de points et un club associé :

Participant | Point | Club
Toto | 5 | Paris
Dupond | 10 | Toulouse
Antoine | 3 | Lyon
Michel | 5 | Toulouse
Jérome | 5 | Lyon

Et je veux un classement par Club :

Club | Total
Toulouse | 15
Lyon | 8
Paris | 5
Commenter la réponse de yoanpg
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
215
0
Merci
c'est alors ton tri, qu'il te faut supprimer
A moins (et c'est alors autre chose) que tu ne veuilles un résultat trié par totaux obtenus (et ce n'est alors pas par points et il te faudra dans ce cas faire deux recordsets successifs).
points est un champ. Il n'est pas le total d'un groupe
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend
Commenter la réponse de ucfoutu
Messages postés
138
Date d'inscription
dimanche 15 février 2009
Statut
Membre
Dernière intervention
6 septembre 2019
3
0
Merci
Mon tri, tu veux dire la clause "ORDER BY" ?
Tu penses que c'est ça qui pose problème ?

C'est vrai que la requête ci-dessus n'est pas tout à fait juste, c'est plutôt :
SELECT SUM(Points) AS Total FROM Enregistrement GROUP BY Club ORDER BY Total


Je vais essayer de la supprimer, mais j'avais quand même l'impression que le problème venait de la clause "GROUP BY" ou "SUM". Je teste et te tiens informé.

Merci
Commenter la réponse de yoanpg
Messages postés
138
Date d'inscription
dimanche 15 février 2009
Statut
Membre
Dernière intervention
6 septembre 2019
3
0
Merci
Bon, je sais pas trop ce que j'ai foutu, mais en fait ça marche ! ET même avec ORDER BY.
J'ai dû me tromper dans les noms de colonne.

Ca donne donc :
SELECT Club, SUM(Points) FROM Enregistrement GROUP BY Club ORDER BY SUM(Points)


Merci de ton aide, et désolé pour ce post "inutile" :)
cs_ShayW
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
46 -
tu avais juste oublié Club après select
le champ après group by doit aussi apparaitre après select
Merci de ton aide, et désolé pour ce post "inutile" :)
non ce n'est pas inutile
ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
215 -
C'est surtout parce que, cette fois-ci, son tri est sur SUM(points) et non plus sur Points
yoanpg
Messages postés
138
Date d'inscription
dimanche 15 février 2009
Statut
Membre
Dernière intervention
6 septembre 2019
3 -
Oui, il y avait plusieurs erreurs cumulées !
En fait, le "AS" qui permettait de renommer SUM(Points) en Total ne fonctionne visiblement pas.
Commenter la réponse de yoanpg