Faire un histogramme automatiquement

PSud Messages postés 1275 Date d'inscription   Statut Membre Dernière intervention   -  
PSud Messages postés 1275 Date d'inscription   Statut Membre Dernière intervention   -

Bonjour,

J'ai une base de données ACCESS 2021 comportant une table simple nommée T :

Champ 1 : Nom du composant = T.Nom

Champ 2 : prix du composant = T.Prix

Je souhaite établir automatiquement un graphique  (histogramme) qui compterait automatiquement le nombre de composant dont le prix est compris entre borne1 et borne2 (première barre), borne2 et borne3 (deuxième barre), borne3 et borne4 (troisième barre) etc. sachant que le nombre de barres est fini et que les valeurs des bornes peuvent être elles-mêmes dans une table définie et remplie au préalable.

J'ai beau triturer ACCESS dans tous les sens (VBA et/ou Macro), je n'arrive pas à trouver comment afficher cet histogramme sans faire les calculs à la main.

Merci d'avance à ceux qui me proposeront une solution.

Cordialement
Windows / Firefox 112.0

4 réponses

PSud Messages postés 1275 Date d'inscription   Statut Membre Dernière intervention   528
 

Merci Ozone, je vais essayer ça ce matin.

Cordialement

0
PSud Messages postés 1275 Date d'inscription   Statut Membre Dernière intervention   528
 

J'ai essayé mais la requête ne retourne rien. Peut-être ai-je mal compris comment elle fonctionne. Si vous avez le temps de tester, ma base de test est disponible ici :

https://we.tl/t-OYEHK9Siab

Merci d'avance

0
PSud Messages postés 1275 Date d'inscription   Statut Membre Dernière intervention   528
 

J'ai juste apporté une petite correction et la requête fonctionne ! Il fallait juste changer le nom de la table créée par le Select dans From pour qu'il n'y ait pas de confusion avec le nom de la table Bornes.

SELECT 'Borne'& [B].[ID] AS Intervalle, B.ID, count (*) AS Nombre
FROM T, (SELECT ID, Borne FROM Bornes)  AS B
WHERE  T.Prix >= [B].[Borne] And (T.Prix)<(SELECT Borne FROM Bornes WHERE ID = B.ID + 1)
GROUP BY Bornes.ID;

Merci pour ton aide qui m'a permis de résoudre mon problème.

Cordialement

0
ozone_ Messages postés 1518 Date d'inscription   Statut Membre Dernière intervention   478
 

Bonjour,

Pour réaliser cela dans Access, vous pouvez utiliser une requête qui calcule le nombre de composants pour chaque intervalle de prix et renvoie les résultats à un formulaire qui affiche l'histogramme. Voici les étapes à suivre :

1. Créez une table nommée "Bornes" qui contient les bornes d'intervalle de prix. Cette table doit avoir une colonne "Borne" qui contient les valeurs des bornes.

2. Créez une requête qui joint la table "T" avec la table "Bornes" pour calculer le nombre de composants pour chaque intervalle de prix. Voici un exemple de requête :

SELECT 

    'Borne ' & [Bornes].[ID] AS [Intervalle], 

    Count(*) AS [Nombre de composants]

FROM 

    T, 

    (SELECT 

        ID, 

        Borne 

    FROM 

        Bornes) AS Bornes 

WHERE 

    T.Prix >= Bornes.Borne AND T.Prix < (SELECT Borne FROM Bornes WHERE ID = Bornes.ID + 1) 

GROUP BY 

    [Bornes].[ID]

Cette requête renvoie le nombre de composants pour chaque intervalle de prix en utilisant la table "Bornes" pour définir les bornes d'intervalle.

3. Créez un formulaire basé sur la requête précédente. Ajoutez un contrôle graphique de type histogramme et configurez-le pour afficher les données de la requête.

4. Dans les propriétés du graphique, définissez l'axe des X pour afficher les intervalles de prix et l'axe des Y pour afficher le nombre de composants.

5. Exécutez le formulaire pour afficher l'histogramme.

J'espère que cela vous aidera à résoudre votre problème. N'hésitez pas à me faire savoir si vous avez des questions supplémentaires.

Source: ChatGPT


-1