Statistiques VBA [Résolu]

ptitelili059 43 Messages postés jeudi 18 octobre 2007Date d'inscription 9 juin 2010 Dernière intervention - 18 nov. 2009 à 08:36 - Dernière réponse : ptitelili059 43 Messages postés jeudi 18 octobre 2007Date d'inscription 9 juin 2010 Dernière intervention
- 25 nov. 2009 à 10:07
Bonjour,

Je réalise actuellement une application qui permet de gérer les clients d'une entreprise avec une base Access.
J'ai une table Ville qui a pour identifiant un numéro auto et une table Client qui a un champ NumVille faisant référence à l'identifiant de la table Ville.
Je veux afficher certaines statistiques de ma base de données (combien de clients, etc...) et je voudrais savoir dans quelle ville se trouve le plus grand nombre de client mais je ne sais pas comment faire pour avoir cette donnée.


Si quelqu'un pouvait m'aider...
Merci
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
ptitelili059 43 Messages postés jeudi 18 octobre 2007Date d'inscription 9 juin 2010 Dernière intervention - 25 nov. 2009 à 10:07
3
Merci
Bonjour

J'ai résolu mon problème. Dans ma table Ville, j'ai rajouté un champ NombreClient et à chaque fois que j'ajoute un client j'incrémente ce champs pour la ville sélectionnée. Ensuite pour savoir la ville la plus fréquentée, je fait :
 select * from Ville order by NombreClient desc

Le premier enregistrement que je fais est forcément la ville qui a le plus de client donc la plus fréquentée

Merci ptitelili059 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 69 internautes ce mois-ci

Commenter la réponse de ptitelili059
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 18 nov. 2009 à 11:39
0
Merci
Salut
Ma première idée serait de faire une requète SQL demandant de compter les "ville_id" dans les fiches Clients et demander une liste classée par ordre de grandeur. Tu n'auras plus qu'à en extraire le premier résultat pour trouvé le gagnant.
Requète du genre (à approfondir) :
Select Count(Clients.Ville_id), Villes.Name
  From Villes, Clients
 Where Clients.Ville_id = Villes.Ville_id
 Group by Clients.Ville_id

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Commenter la réponse de cs_Jack
ptitelili059 43 Messages postés jeudi 18 octobre 2007Date d'inscription 9 juin 2010 Dernière intervention - 18 nov. 2009 à 14:08
0
Merci
J'ai essayé ce que tu m'as proposé mais j'ai l'erreur suivante :
"Vous avez essayé d'exécuter un requête ne comprenant pas l'expression spécifié Name comme une partie de la fonction d'agrégat"

Je n'ai pas la moindre idée de ce que c'est
Commenter la réponse de ptitelili059
Cybercraft2003 22 Messages postés jeudi 10 août 2006Date d'inscription 8 juillet 2010 Dernière intervention - 18 nov. 2009 à 16:24
0
Merci
Salut,

remplace Villes.Name par le champ ou tu met le nom de la ville dans ta table Villes...
------------
Même joueur joue encore
Commenter la réponse de Cybercraft2003
ptitelili059 43 Messages postés jeudi 18 octobre 2007Date d'inscription 9 juin 2010 Dernière intervention - 18 nov. 2009 à 16:35
0
Merci
C'est ce que j'ai fait
En fait ma table Client est composée (en gros)des champs suivants :
- IdClient (numero auto)
- NomClient (texte)
- VilleClient (integer)

Ma table Ville est composée des champs suivants :
- IdVille (numéro auto)
- NomVille (texte)
- CodePostal (integer)

Donc ma requête ça donne :
Select Count(Client.VilleClient), Ville.NomVille
  From Ville, Client
 Where Client.VilleClient = Ville.IdVille
 Group by Client.VilleClient


Mais j'ai toujours la même erreur
Commenter la réponse de ptitelili059
Cybercraft2003 22 Messages postés jeudi 10 août 2006Date d'inscription 8 juillet 2010 Dernière intervention - 21 nov. 2009 à 09:31
0
Merci
Ce ne serait pas plutôt :

Select Count(Client.IdVille), Ville.NomVille
From Ville, Client
Where Client.IdVille = Ville.IdVille
Group by Client.IdVille


Mélange pas les pommes de terre et les ananas. C'est pas bon ^^.
------------
Même joueur joue encore
Commenter la réponse de Cybercraft2003
ptitelili059 43 Messages postés jeudi 18 octobre 2007Date d'inscription 9 juin 2010 Dernière intervention - 23 nov. 2009 à 08:29
0
Merci
Non, le champs de ma table Client faisant référence à la Ville porte le nom de VilleClient. Donc normalement ça devrait bien être Client.VilleClient = Ville.IdVille
Commenter la réponse de ptitelili059

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.