Extraire le nombre de fois un mot est répété dans une colonne suivant les mois d
dindinfb
Messages postés48Date d'inscriptionmardi 24 mars 2009StatutMembreDernière intervention 3 janvier 2015
-
8 mai 2011 à 09:21
Calade
Messages postés1207Date d'inscriptiondimanche 20 avril 2003StatutMembreDernière intervention 4 juin 2016
-
11 mai 2011 à 08:32
bonjour tout le monde
je suis nouveau en vb 2008.
j'ai une table qui s'appelle TAb. et j'ai plusieurs colonnes ou il y a des informations. j'ai voulu faire des statistiques.
une colonne nom et une autre mois .
mon but c'est avoir un tableau qui m'affiche dans une colonne les noms et dans les 12 colonnes (mois de l'année)les nombres de fois chaque nom est répété dans ma base.
j'ai trouvé sur d'autre forum qu'il faut utiliser count case when .mais je n'arrive pas à l'adapter à ma base .
voila ma base :
colonneNom ColonneMois
bernard janvier
alain mars
xavier janvier
bernard février
dindinfb
Messages postés48Date d'inscriptionmardi 24 mars 2009StatutMembreDernière intervention 3 janvier 2015 8 mai 2011 à 20:06
je vous remercie pour votre aide.
Mais ca ne fonctionne pas . en fait je voulait un résultat sous forme d'un tableau
1ere colonne : liste des noms
de 2 au 12 eme colonne : liste des mois avec devant chaque nom le nombre de fois répété par mois .
voilà un exemple:
janvier février mars avril
Bernard 0 1 2 0
Xavier 1 0 0 1
etc 2 1 0 0
je vous remercie
dindinfb
Messages postés48Date d'inscriptionmardi 24 mars 2009StatutMembreDernière intervention 3 janvier 2015 9 mai 2011 à 18:34
salut Calade
"en fait les résultats ne sont pas ceux que j' attendais.
je t'explique autrement.
voici ma base (datagrid)il y a 2 colonnes nom et mois
[list]
Nom Mois
bernard janvier
xavier janvier
bernard mars
xavier mars
/list voici la requete que je voulais(datagrid) il y a 13 colonnes nom et les mois de l'année
[list]
nom janvier février mars
bernard 1 0 1
xavier 1 0 1
/list
je voulait te faire avec des images , mais je ne sais pas comment inserer une image avec le message . ca ne marche pas .
Vous n’avez pas trouvé la réponse que vous recherchez ?
Calade
Messages postés1207Date d'inscriptiondimanche 20 avril 2003StatutMembreDernière intervention 4 juin 201610 10 mai 2011 à 08:03
Bonjour,
Je vois ce que tu veux dire. Malheureusement je n'ai pas trop le temps de me pencher là dessus.
Je ne connais pas ton SGBD, mais si c'est SQL Server ou Access , cela s'appelle des tableaux croisés dynamiques. Regarde ton aide à ce terme. L'exemple (pour SQL Server) me parait assez clair.
En gros tu vas créer on the fly une table virtuelle qui sera le reflet de ta requête mais pivoté. A toi de lui précisé quel champ tu veux en colonne.
Des clauses utiles pourraient être aussi:
GROUP BY ou GROUPING (ce sont 2 clauses différentes pour regrouper tous les mois de même valeur ensemble.
Tu pourrais avoir aussi besoin des clauses CUBE et ROLLUP, pour ces deux là fais particulièrement attention aux valeurs nulles (si tu en as) dans chacune des colonnes SELECTées).
En tout cas, bonne chance.
Je n'ai jamais essayé ce genre de choses mais si tu as des problèmes reviens ici en postant ta requête.
dindinfb
Messages postés48Date d'inscriptionmardi 24 mars 2009StatutMembreDernière intervention 3 janvier 2015 10 mai 2011 à 10:09
Bonjour,
j'utilise une table access qui groupe environ 20 colonnes.
En fait ma base existe depuis 2 ans sous excel . et elle fonctionne parfaitement en utilisant des formules tels que BDSOMME , Sommesi ..... .
En début d'année ai commencé à découvrir les BD en vb 2008. et je trouve que c'est mille fois mieux que excel au niveau rapidité et présentation des statistiques.
Vu ton message je pense que je vais abondonner le projet que j'ai passé des heures et des heures à le préparer car j'en connais trés trés peu en SQL.
En cherchant un peu j'ai trouvé avec Count(*) comment afficher un seul mois ce qui veut dire 12 codes et 12 datagrids multiplier tout ca par le nombres des colonnes. c'est énorme pour une année. c'est pour ça j'ai voulu tout afficher d'un seul coup ( ca me permettra de faire des comparaison directement entre les mois ).
je sais que certaines personnes utilisent Count(case ... When Else End), mais c'est trop dur pour un débutant comme moi de l'adapter avec ma base.
je te remercie beaucoup pour ton aide.
je vais essayer de trouver une autre méthode , sinon je vais laisser tomber.
A+ bonne journée à toi.
je te tiendrai au courant si j'ai des nouvelles.
Calade
Messages postés1207Date d'inscriptiondimanche 20 avril 2003StatutMembreDernière intervention 4 juin 201610 10 mai 2011 à 11:03
Laisse pas tomber comme ça.
Regarde l'aide d'Access sur les tableaux croisés dynamiques. Ils sont moins puissants que ceux d'Excel mais suffisants pour ce que tu veux faire.
De plus, si mes souvenirs sont bons, il y a un assistant dans Access pour ça.
dindinfb
Messages postés48Date d'inscriptionmardi 24 mars 2009StatutMembreDernière intervention 3 janvier 2015 11 mai 2011 à 08:26
salut calade
je te remercie beaucoup pour ton aide.Effectivement aprés une recherche j'ai réussi à faire un tableau croisé dynamique depuis ma base .en fait c'est le tableau que je veux . Reste une chose c'est comme l'afficher dans une datagridview. Peux tu m'aider s'il te plaît. Merci d'avance.
Calade
Messages postés1207Date d'inscriptiondimanche 20 avril 2003StatutMembreDernière intervention 4 juin 201610 11 mai 2011 à 08:32
Bonjour,
Content que tu aies réussi.
Malheureusement j'ai peur que mes compétences s'arrêtent là. Comme je te l'ai dit je ne connais pas .NET et son DataGridView.
Par rapport à son homologue VB6 MSHFlexGrid, j'aurais tendance à dire que oui, mais sans preuve.
A toi de piocher dans la doc' où a chercher sur ce site, sur Google ou éventuellement sur ce site (en anglais désolé).