Fonction agrégat

marwakarim Messages postés 40 Date d'inscription samedi 27 mars 2010 Statut Membre Dernière intervention 11 juin 2010 - 10 mai 2010 à 14:00
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 - 11 mai 2010 à 22:37
bonjour je Bonjour
je travail sur un projet utilisant ACCESS et vb 6, j'essaie d'executer une requete mais l'erreur suivante se produit a chaque fois :
Vous avez essayé d'exécuter une requête ne comprenant pas l'expression spécifiée
Nombre_d'intervention_par_Mois comme une partie de la fonction d'agrégat.
Private Sub Command2_Click()
MSChart1.Visible = True
Frame1(0).Visible = True
Adodc1.RecordSource = "SELECT [Nombre_d'intervention_par_Mois] ,COUNT ([Nombre_d'intervention_par_Mois]) From diagramme GROUP BY [Nombre d'intervention par Mois] "
Adodc1.Refresh
Adodc1.Caption = Adodc1.RecordSource
Adodc1.Recordset.MoveNext
End Sub

Merci d'avance

8 réponses

Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 10
10 mai 2010 à 14:26
Bonjour,

Pour autant que je sache, une fonction d'agrégat (Count()) ne peut pas côtoyer un SELECT classique.

En gros, il faut utiliser l'une des2 requêtes suivantes:

Adodc1.RecordSource = "SELECT COUNT ([Nombre_d'intervention_par_Mois]) From diagramme GROUP BY [Nombre d'intervention par Mois] "

ou bien

Adodc1.RecordSource = "SELECT [Nombre_d'intervention_par_Mois] From diagramme GROUP BY [Nombre d'intervention par Mois] "

qui bien sur ne renverront pas du tout la même chose.

Calade
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
10 mai 2010 à 16:12
Salut,


SELECT [Nombre_d'intervention_par_Mois] ,COUNT ([Nombre_d'intervention_par_Mois]) From diagramme GROUP BY [Nombre_d'intervention_par_Mois]


Fautes d'orthographe dans le nom de colonne.

(Je hais les ' et les espaces et les accents dans les noms de colonnes)

Bon dev.
0
marwakarim Messages postés 40 Date d'inscription samedi 27 mars 2010 Statut Membre Dernière intervention 11 juin 2010
11 mai 2010 à 11:10
Bonjour merci ce code
Adodc1.RecordSource = "SELECT COUNT ([Nombre_d'intervention_par_Mois]) From diagramme GROUP BY [Nombre d'intervention par Mois] "
se compile mais le problème qu'il m'affiche ce message
Aucune valeur donnée pour un ou plusieurs des de paramètres requis
merci
0
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 10
11 mai 2010 à 11:30
Bonjour,

Le nom de la colonne dans le Count() et le GROUP BY doit être le même.

Il manque les "_" dans le 2ème cas.

De plus comme te l'a dit nhervagault, supprime la quote dans ton nom de colonne, c'est source d'ennuis.

Calade
0

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

Posez votre question
marwakarim Messages postés 40 Date d'inscription samedi 27 mars 2010 Statut Membre Dernière intervention 11 juin 2010
11 mai 2010 à 11:49
salut le probléme quand j'écris
Adodc1.RecordSource = "SELECT COUNT ([Nombre_d'intervention_par_Mois]) From diagramme GROUP BY [Nombre d'intervention par Mois] "
il m'affiche chaque mois son nombre d'intervention mais juste il m'affiche cette message
"Aucune valeur donnée pour un ou plusieurs des de paramètres requis"
Alors quand je fait Adodc1.RecordSource = "SELECT COUNT ([Nombre_d'intervention_par_Mois]) From diagramme GROUP BY [Nombre_d'intervention_par_ Mois] "
Il s'execute mais il m'affiche pas les mois merci
0
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 10
11 mai 2010 à 14:37
Pour le 1ère requête, c'est normal, il ne faut pas de blanc après Count(). La parenthèse ouvrante doit être collé au nom de la fonction.

Pour la 2ème, hormis la quote que tu n'as toujours pas supprimé et bien que je ne connaisse pas ta BD, pourquoi veux-tu qu'il t'affiche des mois alors que tu demandes des Nombre d'intervention ?


Calade
0
marwakarim Messages postés 40 Date d'inscription samedi 27 mars 2010 Statut Membre Dernière intervention 11 juin 2010
11 mai 2010 à 20:18
Salut je veux affichier pour chaque mois le nombre d'intervention la base est constitué de 3 champs mois , nombre_d'intervention_par_mois ,nombre_de reclamation_par_mois merci
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
11 mai 2010 à 22:37
Pour avoir le nombre d'intervention par mois

Un simple select ois , nombre_d'intervention_par_mois from matable

suffit

@marwakarim

Ta requete n'est pas correcte

SELECT COUNT ([Nombre_d'intervention_par_Mois]) From diagramme GROUP BY [Nombre d'intervention par Mois]

exemple plus simple

table
client idcommande
1 5
1 6
3 2


--> select client, count(idcommande) as nbcommande
from matable
group by client

-->

client nbcommande
1 2
3 1

Voila
0
Rejoignez-nous