Requette SQL vers Access

Résolu
yoanpg
Messages postés
145
Date d'inscription
dimanche 15 février 2009
Statut
Membre
Dernière intervention
22 février 2021
- 18 nov. 2014 à 17:22
yoanpg
Messages postés
145
Date d'inscription
dimanche 15 février 2009
Statut
Membre
Dernière intervention
22 février 2021
- 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 ;)

7 réponses

cs_ShayW
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
56
18 nov. 2014 à 17:30
Bonjour

Ben si ton application attaque ta bdd ...
Montre ce que tu as tenté d'écrire
0
yoanpg
Messages postés
145
Date d'inscription
dimanche 15 février 2009
Statut
Membre
Dernière intervention
22 février 2021
3
19 nov. 2014 à 08:09
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)
0
ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
235
19 nov. 2014 à 10:44
Bonjour,
SUM implique déjà une notion de groupe
GROUP BY précise cette notion
Question : sur quoi, exactement, veux-tu TRIER ?
0
yoanpg
Messages postés
145
Date d'inscription
dimanche 15 février 2009
Statut
Membre
Dernière intervention
22 février 2021
3
19 nov. 2014 à 10:52
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
235
Modifié par ucfoutu le 19/11/2014 à 11:08
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
0
yoanpg
Messages postés
145
Date d'inscription
dimanche 15 février 2009
Statut
Membre
Dernière intervention
22 février 2021
3
19 nov. 2014 à 11:09
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
0
yoanpg
Messages postés
145
Date d'inscription
dimanche 15 février 2009
Statut
Membre
Dernière intervention
22 février 2021
3
19 nov. 2014 à 20:52
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" :)
0
cs_ShayW
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
56
Modifié par cs_ShayW le 19/11/2014 à 21:35
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
0
ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
235
19 nov. 2014 à 21:46
C'est surtout parce que, cette fois-ci, son tri est sur SUM(points) et non plus sur Points
0
yoanpg
Messages postés
145
Date d'inscription
dimanche 15 février 2009
Statut
Membre
Dernière intervention
22 février 2021
3
19 nov. 2014 à 21:49
Oui, il y avait plusieurs erreurs cumulées !
En fait, le "AS" qui permettait de renommer SUM(Points) en Total ne fonctionne visiblement pas.
0