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

Access Discussion :

Supression des doublons avec contraintes sur certains champs


Sujet :

Access

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 35
    Points : 22
    Points
    22
    Par défaut Supression des doublons avec contraintes sur certains champs
    ce message fais suite au topic suivant :

    http://www.developpez.net/forums/vie...505528#2505528

    mais un nouveau pb viens s'ajouter....
    j'ai donc une table avec des enregistrements.
    les variables sont : IDUnique (identifiant unique), idpersonne, date, autreInfos (un dixaine de oui/non et 2 entier)

    Les doublons se trouve sur idpersonne et j'aimerai les supprimer.
    nous avons donc d'abor fais avec ce code :

    SELECT matable.idunique, matable.idpersonne, matable.date, matable.autreinfo
    FROM matable
    GROUP BY matable.idunique, matable.idpersonne, matable.date, matable.autreinfo
    HAVING (((matable.date)=DMax("date","matable","idpersonne=" & [idpersonne])));

    qui classe selon la date. Mais la nouvelle conditions, c'est que je doit prendre tantot les infos dans les 1 enregistrement, tantot dans le second, pour ne former qu'un seul enregistremement pour l'identifiant de la personne.
    je dois prendre la valeur la + grande des 2.
    Exemple sur 2 enregistrements avec doublons :

    idunique | idpersonne | date | item1 | item2 | item3 | ...
    1 | 5 | 01/01/04| 0 | 1 | 0 .
    2 | 5 | 01/02/04| 1 | 0 | 0 .

    enregistrement final :
    idunique | idpersonne | date | item1 | item2 | item3 | ...
    2 | 5 | 01/02/04| 1 | 1 | 0 .

    Sans oublié qu'il y a des cas sans doublons....
    Qqn aurais une idée??

    merci

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 35
    Points : 22
    Points
    22
    Par défaut
    personne n'a d'idée alors??

  3. #3
    Provisoirement toléré
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 291
    Points : 188
    Points
    188
    Par défaut
    si tu veux supprimer les doublons d'une table tu regardes dans les propriétés de cette table et tu regardes à Indexé tu as le choix entre oui avec doublon, oui sans doublon et non. Je pense que ça pourrait t'aider!

  4. #4
    Membre régulier
    Femme Profil pro
    Inscrit en
    Décembre 2005
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Togo

    Informations forums :
    Inscription : Décembre 2005
    Messages : 113
    Points : 87
    Points
    87
    Par défaut j'espère pouvoir t'aider
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT matable.idunique, matable.idpersonne, max(matable.date), matable.autreinfo 
    FROM matable 
    GROUP BY  matable.idpersonne;
    cette requette ne gardera qu'une seul ligne par idpersonne celle ou la date est le plus élevé

  5. #5
    Provisoirement toléré
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 291
    Points : 188
    Points
    188
    Par défaut
    idunique correspond à un distinct?

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 35
    Points : 22
    Points
    22
    Par défaut
    edzodziman> oui, cette requette ne garde qu'une ligne, et c'était l'objet de mon 1er topic.
    mais maintenant il faut que je recupere soit la variable du 1er enregistrement, soit le 2nd ( en fait la + grand)

    b_steph_2> ouio, mais ca n'est pas des doublons communs que je dois supprimer... le doublon ne porte que sur le champs IdPersonne.
    le chanmps IdUnique etant une clef unique par definition, n'a pas de doublon.

    le pb reste entier

  7. #7
    Membre confirmé
    Avatar de Petogaz
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 479
    Points : 580
    Points
    580
    Par défaut
    salut,

    en effet comme l'a souligné b_steph_2 idunique est distinct donc la requête de edzodzinam ne correspond pas.
    voici ma proposition :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Max(P.idunique) as idunique , P.idpersonne, max(P.madate) as madate ,sum([item1]), sum([item2]),sum([item3])
    FROM table3 AS P
    group by P.idpersonne;
    en supposant que idunique est un numauto.

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 35
    Points : 22
    Points
    22
    Par défaut
    Petogaz> idunique est bien en auto
    et ton code marche a merveille

    une derniere question, sur un des champs, il faut prendre le + grand, sauf si le + grand est egal a 5 ... c'est possible?

    merci a vous!


    vive l'entre aide

  9. #9
    Membre confirmé
    Avatar de Petogaz
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 479
    Points : 580
    Points
    580
    Par défaut
    Citation Envoyé par nicko5959
    une derniere question, sur un des champs, il faut prendre le + grand, sauf si le + grand est egal a 5 ... c'est possible?
    tu dis su un des champs. mais de quel champ ?

  10. #10
    Membre confirmé
    Avatar de Petogaz
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 479
    Points : 580
    Points
    580
    Par défaut
    Citation Envoyé par nicko5959
    une derniere question, sur un des champs, il faut prendre le + grand, sauf si le + grand est egal a 5 ... c'est possible?
    tu dis su un des champs. mais de quel champ ?

  11. #11
    Membre confirmé
    Avatar de Petogaz
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 479
    Points : 580
    Points
    580
    Par défaut
    Citation Envoyé par nicko5959
    une derniere question, sur un des champs, il faut prendre le + grand, sauf si le + grand est egal a 5 ... c'est possible?
    tu dis su un des champs. mais de quel champ ?

    ps: oula !! j'ai rafraichis +sieurs fois je vais me faire par les modos !!

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 35
    Points : 22
    Points
    22
    Par défaut
    on va dire le champ taille ( non repertorié avant) P.taille donc

  13. #13
    Membre confirmé
    Avatar de Petogaz
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 479
    Points : 580
    Points
    580
    Par défaut
    regarde l'aide sur la fonction IIF() ou vraifaux() en français, cette fonction te permet de mettre une condition dans une requête.

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 35
    Points : 22
    Points
    22
    Par défaut
    ok, j'y vais de ce pas!!
    merci encore pour l'aide


    ** Pb résolu**

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

Discussions similaires

  1. Réponses: 12
    Dernier message: 14/04/2015, 17h07
  2. Réponses: 1
    Dernier message: 17/05/2011, 10h29
  3. [AC-2007] Gestion des doublons avec 2 champs indexés
    Par bestall666 dans le forum VBA Access
    Réponses: 4
    Dernier message: 08/06/2010, 18h53
  4. Requete avec disctinct sur certains champs
    Par zandeparis dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 11/12/2009, 14h57
  5. [AC-2003] Ne garder que les doublons, avec critère sur 2 champs.
    Par Faenors dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 22/07/2009, 09h30

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