IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes et SQL. Discussion :

calcul nombre d'apparition des doublons [AC-2000]


Sujet :

Requêtes et SQL.

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 24
    Points : 14
    Points
    14
    Par défaut calcul nombre d'apparition des doublons
    Bonjour

    j'ai une table de produit qui comporte des produits qui se répétent et j'aimerai comptabilisé le nombre d'apprarition de chaque produit dans la table cad

    Numéro produit | Nombre d'apprition
    X200 |1
    X300 |1
    X200 |2
    X500 |1
    X300 |2
    X200 |3

    et Merci d'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 425
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 425
    Points : 20 002
    Points
    20 002
    Billets dans le blog
    67
    Par défaut
    Salut,

    Un regroupement sur le champ "Numéro produit" et une somme sur le champ "Nombre d'apparition" devrait suffire

    A+

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 24
    Points : 14
    Points
    14
    Par défaut
    en fait le champ nombre d'appartition n'existe pas dans la table et c'est lui que je veux avoir à partir d'une requête sur la table contenant les noms des produits

  4. #4
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Bonjour à tous,

    Citation Envoyé par issane
    .../... c'est lui que je veux avoir à partir d'une requête .../...
    ==> si c'est ce que je pense, alors ton exemple de ce que tu veux obtenir est faux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Numéro produit | Nombre d'apprition
    X200           |1
    X300           |1
    X200           |2
    X500           |1
    X300           |2
    X200           |3
    ==> il te faudrait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Numéro produit | Nombre d'apprition
    X200           |6
    X300           |3
    X500           |1
    Ou bien, je n'ai pas tout compris...

  5. #5
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 24
    Points : 14
    Points
    14
    Par défaut
    Non c'est pas faux le Nombre d'apparition correspend en quelque sorte à l'ordre d'apparition du Nom du produit au niveau de la table donc la sommation de nombre d'apparition n'aura aucun sens
    là j'essaie de voir le code suivant de FAQ

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Select *, (Select Count(*) From LATABLE T2 Where T2.ID=T1.ID And T2.DATE<=T1.DATE) As NUMORDRE 
    From LATABLE T1;


    mais j'ai pas compris à quoi refére T2 et T1???

  6. #6
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 24
    Points : 14
    Points
    14
    Par défaut
    c 'est résolu avec le code sql précédant il fallait juste que je m'informe plus sur la notion d'alias sous access

    Merci

    NB: je ferais attention la prochaine fois à l'utilisation des balises pour le code

  7. #7
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Bonjour Issane,

    Le "nombre d'apparition" ne veut pas dire la même chose que "l'ordre d'apparition"... c'est ça l'embêtant, avec les mots, c'est qu'ils ont une signification...

    A bientôt.

  8. #8
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 24
    Points : 14
    Points
    14
    Par défaut
    oui c'est vrai vous avez raison

    mais j'ai eu un autre problème lors de l'utilisation de la requête résultante dans une requête analyse croisé tel que le moteur de base de données microsoft jet ne reconnait pas T1.ID

    est ce que vous avez une idée la dessus ?

  9. #9
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Tu souhaites utiliser la requête que tu as présentée dans une requête "analyse-croisée" et Access se plante, c'est bien cela ?

  10. #10
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 24
    Points : 14
    Points
    14
    Par défaut
    c'est ça il me renvoit le message "le moteur de base de donnée Microsoft jet ne reconnait pas T1.ID en tant que nom de champ ou expression"

  11. #11
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Hum... je ne vois pas trop.

    Il faudrait stocker ta requête initiale sous R1, par exemple.

    Ensuite, créer une requête R2, via l'assistant "requête analyse croisée", et travailler sur R1.

  12. #12
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 24
    Points : 14
    Points
    14
    Par défaut
    c'est déjà essayer mais toujours le même message

  13. #13
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 425
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 425
    Points : 20 002
    Points
    20 002
    Billets dans le blog
    67
    Par défaut
    Bonjour,

    Il me semble que les requêtes croisées n'aiment pas trop les sous-requêtes du style :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT *, (SELECT Count(*) FROM LATABLE T2 WHERE T2.ID=T1.ID AND T2.DATE<=T1.DATE) AS NUMORDRE 
    FROM LATABLE T1;

    Il faudrait essayer avec une fonction domaine :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT *,  DCount("*","LaTable","ID=" & T1.ID & " and [Date]<=#" & Format(T1.[Date],"mm/dd/yyyy") & "#") AS NUMORDRE
    FROM LATABLE T1;

    Evite le mot réservé "Date" pour le nom d'1 champ de table...

    A+

  14. #14
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 24
    Points : 14
    Points
    14
    Par défaut
    Merci ça marche perfecto!!!!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. calculer le nombre des doublons dans une plage
    Par Mapokko dans le forum Excel
    Réponses: 1
    Dernier message: 25/12/2008, 11h23
  2. compter le nombre d'apparitions d'un doublon
    Par Mapokko dans le forum Excel
    Réponses: 3
    Dernier message: 23/12/2008, 15h23
  3. iReport diagrammes, non apparition des nombres
    Par ep31 dans le forum Jasper
    Réponses: 0
    Dernier message: 13/10/2008, 12h39
  4. Réponses: 14
    Dernier message: 06/05/2008, 16h16
  5. gestion des doublons et calculs
    Par ballad oil dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 14/03/2008, 18h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo