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

IHM Discussion :

Faire ressortir les doublons par MFC


Sujet :

IHM

  1. #21
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 768
    Points
    7 768
    Par défaut
    Bonjour,

    essaie sans le signe = devant CpteDom

    A+

  2. #22
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Citation Envoyé par Smint Voir le message
    Je ne trouve pas comment adapter le code de l'ami MOUT1234. Il y a systématiquement une erreur de syntaxe.

    Merci à la bonne âme qui pourrait le corriger ...

    Bon weekend à tous !
    Remets-nous ce que tu as mis (copier/coller)... peut être qu'il y a un petit truc que tu n'as pas repéré...

  3. #23
    Membre régulier
    Profil pro
    Inscrit en
    Août 2005
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 202
    Points : 122
    Points
    122
    Par défaut
    Bonjour, merci de continuer à me suivre sur ce fil.

    En fait, je n'ai rien de plus à copier/coller actuellement puisque ce que je n'arrive pas à faire, c'est ça :

    Une fonction de domaine telle CpteDom attend trois arguments, assimilables aux composantes d'une requête SQL simple, respectivement:
    SELECT
    FROM
    WHERE

    Dans ton cas, il te faut donc compléter le troisème argument
    Donc, pour l'instant, voici la requête qui alimente le formulaire en mode SQL :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Entreprises.SIRET, Entreprises.[Raison Sociale], Entreprises.Enseigne, Entreprises.APE
    FROM Entreprises
    WHERE (((Entreprises.NumLStat)=25));

    et, dans la MFC du champ APE, dans le formulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =CpteDom("APE";"Entreprises";"APE='" & [APE] & "' AND NumLStat=25")>4
    Je ne sais pas écrire de code .... Je ne sais que copier/coller les codes que vous avez la gentillesse de me donner....

  4. #24
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Bonsoir,

    Bon, je viens de refaire un test... je ne suis pas convaincu que l'on puisse un CpteDom dans une expression de MFC (ou alors je suis tombé dans le même piège de syntaxe....)


    Par contre j'ai fait un essai réussi en modifiant la source du formulaire - comme je le proposais au début - afin d'y ajouter le dénombrement.

    Dans ton cas, cela pourrais s'écrire comme ceci:
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT tE.SIRET, Entreprises.[Raison Sociale], tE.Enseigne, tE.APE, qC.NB 
    FROM Entreprises as tE 
    INNER JOIN 
    (SELECT COUNT(*) as NB FROM Entreprises WHERE tE.NumLStat=25 GROUP BY APE) as qC ON qC.APE=tE.APE
    WHERE tE.NumLStat=25


    Il te reste alors simplement à tester la valeur NB par une expression du genre

  5. #25
    Membre régulier
    Profil pro
    Inscrit en
    Août 2005
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 202
    Points : 122
    Points
    122
    Par défaut
    Bonjour mout1234, le fil,

    J'ai un message d'erreur "Erreur réseau ou erreur disque" !

    J'ai modifié le code SQL de la requête actuellement source de données en le remplaçant par le tien, incluant le test de la valeur NB, comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT tE.SIRET, Entreprises.[Raison Sociale], tE.Enseigne, tE.APE, qC.NB 
    FROM Entreprises AS tE 
    INNER JOIN 
    (SELECT COUNT(*) AS NB>4 FROM Entreprises WHERE tE.NumLStat=25 GROUP BY APE) AS qC ON qC.APE=tE.APE
    WHERE tE.NumLStat=25
    C'est moi qui me plante ou .. ??

    Encore merci !

  6. #26
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Bonjour,

    Je ne pense pas que l'erreur vienne de là mais je viens de repérer une boulette dans le SQL

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT tE.SIRET, Entreprises.[Raison Sociale], tE.Enseigne, tE.APE, qC.NB 
    FROM Entreprises AS tE 
    INNER JOIN 
    (SELECT COUNT(*) AS NB>4 FROM Entreprises as tE2 WHERE tE2.NumLStat=25 GROUP BY APE) AS qC ON qC.APE=tE.APE
    WHERE tE.NumLStat=25

    A part ça ... "Erreur réseau ou Erreur Disque".... tu arrives à ouvrir la table Directement?

  7. #27
    Membre régulier
    Profil pro
    Inscrit en
    Août 2005
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 202
    Points : 122
    Points
    122
    Par défaut
    Idem avec ce code SQL, j'ai le même message "Erreur réseau ou erreur disque"

    A part ça ... "Erreur réseau ou Erreur Disque".... tu arrives à ouvrir la table Directement?
    La table Entreprise ? Oui, bien sûr.

    Cette manip que je voudrais faire est une fonctionnalité supplémentaire d'une base de données comportant plusieurs tables liées, requêtes et formulaire, le tout fonctionnant très bien ! .. Grâce à vous d'ailleurs car c'est en m'appuyant sur vos tutos et conseils que je l'ai créée il y a plus d'un an...

    Pour ce qui est de la requête source, le code actuel fonctionne aussi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Entreprises.SIRET, Entreprises.[Raison Sociale], Entreprises.Enseigne, Entreprises.APE
    FROM Entreprises
    WHERE (((Entreprises.NumLStat)=25));
    Le formulaire qu'elle alimente s'ouvre correctement aussi, la MFC restant aléatoire, bien sûr.

  8. #28
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Citation Envoyé par Smint Voir le message

    La table Entreprise ? Oui, bien sûr.
    Ok, je posais la question simplement parce le message est le même lorsqu'on lance une requête basée sur une table liée non accessible (cela m'arrive souvent quand j'oublie de mettre à jour un lien...).


    Sinon, as-tu essayé de créer une requête avec le code SQL de ton form?
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT tE.SIRET, Entreprises.[Raison Sociale], tE.Enseigne, tE.APE, qC.NB 
    FROM Entreprises AS tE 
    INNER JOIN 
    (SELECT COUNT(*) AS NB>4 FROM Entreprises as tE2 WHERE tE2.NumLStat=25 GROUP BY APE) AS qC ON qC.APE=tE.APE
    WHERE tE.NumLStat=25

    histoire de vérifier qu'il n'y a pas d'autres boulettes

  9. #29
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 768
    Points
    7 768
    Par défaut
    Bonsoir,

    Il y a d'autres petites boulettes Besoin de vacances mout1234 ?

    * AS NB>4
    * ON qC.APE=tE.APE (APE n'est pas selectionné dans la sous-requête)

    Celle-ci devrait marcher (y a intérêt, je veux pas me faire chambrer)
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT tE.SIRET,  tE.[Raison Sociale], tE.Enseigne, tE.APE, qC.NB 
    FROM Entreprises AS tE 
    INNER JOIN 
       (SELECT tE2.APE,  COUNT(*) AS NB FROM Entreprises AS tE2 GROUP BY tE2.APE) AS qC ON qC.APE=tE.APE
    WHERE tE.NumLStat=25
    A+

  10. #30
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Citation Envoyé par LedZeppII Voir le message
    Besoin de vacances mout1234 ?

    Toujours

    Merci d'avoir repéré mes étourderies

  11. #31
    Membre régulier
    Profil pro
    Inscrit en
    Août 2005
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 202
    Points : 122
    Points
    122
    Par défaut
    Bonjour à tous,

    En utilisant le code de LedZepII, le formulaire s'ouvre et, effectivement, ça en est fini du message d'erreur !

    En revanche, pour le boulet que je suis, le résultat obtenu est le même qu'avec le code original, ormis la colonne NB supplémentaire...

    A quoi correspondent les valeurs NB affichées en face de chaque code APE ?

    Quid de ma demande originale qui était de faire ressortir par une MFC (par exemple), les suites de codes APE identiques (puisque classés en ordre croissant) ? Pour ce qui est du résultat à l'écran obtenu, il me semble être revenu à la case départ !!

    Bonne journée tous !

  12. #32
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    met un peut d'ordre et t'y verras plus clair...
    ORDER BY

  13. #33
    Membre régulier
    Profil pro
    Inscrit en
    Août 2005
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 202
    Points : 122
    Points
    122
    Par défaut
    Bâ, en demandant un classement croissant dans la colonne en question, j'obtiens la même chose, non ?

    Et, pour vraiment y voir plus clair parmis des centaines de valeurs, il faudrait faire ressortir les suites de doublons par une couleur .... ce qui est l'objet de la discussion (cf mon premier message) ... et des efforts conjugués de Starec, Mout1234 et LedZepII ...

  14. #34
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Donc en résumant, toutes les méthodes proposés ne te conviennent pas et te donnes des résultats aléatoires, n'est-ce-pas ?
    Peux-tu être un peu plus précis sur ces résultats aléatoires.

    Starec

  15. #35
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    tu m'excuseras d'avoir survolé le sujet, car j'ai vu que tu étais en de bonne main
    mais:
    Bâ, en demandant un classement croissant dans la colonne en question, j'obtiens la même chose, non ?
    sans trop me tromper: non.

    ces résultats aléatoires proviennent (surement) du fait que les enregistrements de même code APE ne se suivent pas: ce que te résolve le ORDER BY sur ce champ.

  16. #36
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 768
    Points
    7 768
    Par défaut
    Bonjour,

    Je me suis planté.
    Il faut laisser le "WHERE tE2.NumLStat=25" à l'intérieur de la sous-requête (ce qu'avait très bien fait Mout1234),
    pour ne compter qu'en fonction de ce critère.
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT tE.SIRET,  tE.[Raison Sociale], tE.Enseigne, tE.APE, qC.NB 
    FROM Entreprises AS tE 
    INNER JOIN 
       (SELECT tE2.APE,  COUNT(*) AS NB FROM Entreprises AS tE2 WHERE tE2.NumLStat=25 GROUP BY tE2.APE) AS qC ON qC.APE=tE.APE
    Cette fois ci NB ne devrait représenter le compte de APE que pour NumLStat=25.

    A+

  17. #37
    Membre régulier
    Profil pro
    Inscrit en
    Août 2005
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 202
    Points : 122
    Points
    122
    Par défaut


    LedZepII, en utilisant ton code, je me suis aperçu que j'avais beaucoup trop de résultats à la requête et , en y regardant de plus près, j'ai vu qu'il n'y avait plus de sélection pour la valeur NumLStat = 25 ...

    Je ne suis pas peu fier d'avoir réussi à le modifier ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT tE.SIRET, tE.[Raison Sociale], tE.Enseigne, tE.APE, qC.NB, tE.NumLStat
    FROM Entreprises AS tE INNER JOIN [SELECT tE2.APE,  COUNT(*) AS NB FROM Entreprises AS tE2 WHERE tE2.NumLStat=25 GROUP BY tE2.APE]. AS qC ON tE.APE = qC.APE
    WHERE (((tE.NumLStat)=25));
    Là, la sélection est OK et NB me donne bien le nombre de codes APE identiques présent. Il ne m'est plus resté qu'à appliquer une MFC tout ce qu'il y a de plus classique sur la valeur NB pour que les résultats que je voulais mettre en valeur sautent aux yeux.

    Un grand grand merci à vous tous d'être aussi présents, gentils et compétents !

    So long!

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/08/2011, 16h52
  2. Marquer les doublons par paire
    Par Cercle dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/10/2008, 12h31
  3. Réponses: 0
    Dernier message: 16/09/2008, 11h49
  4. [vba-e] faire ressortir les valeurs différentes d'une sélection
    Par legillou dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/03/2007, 17h19
  5. [SQL] Enlever les doublons par rapport a une colonne
    Par irenee dans le forum Langage SQL
    Réponses: 2
    Dernier message: 19/12/2005, 19h23

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