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 :

Epurer les doublons


Sujet :

Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 93
    Points : 57
    Points
    57
    Par défaut Epurer les doublons
    Bonjour,

    Voilà, j'ai une base de données qui accueille les données de deux autres bases. Il faut que la mise à jour soit la plus automatique possible et la plus juste possible.

    Dans la table d'arrivée, à la fin de la mise à jour, je me retrouve avec les doublons des autres tables, tels que :

    N° Automatique(base d'arrivée)----N°LISA(base de départ)-----Nom(base de départ)
    1-----B156-----SA
    2-----B156-----Société Anonyme
    3-----H523-----Association
    4-----H523-----Assoc M
    5-----H523-----AM
    6-----F895-----SARL

    Donc, comme vous pouvez le voir, il y a 2 enregistrements pour un même organisme... Moi ce qui m'interresse, c'est l'organisme, donc je voudrai supprimer ces doublons, mais en gardant un enregistrement tel que :

    N° Automatique(base d'arrivée)----N°LISA(base de départ)-----Nom(base de départ)
    2-----B156-----Société Anonyme
    4-----H523-----Assoc M
    6-----F895-----SARL


    Je ne peux pas "indexer-sans doublon" le champ de la table d'arrivée, en raison de la mise à jour à partir de l'autre base (les doublons ne sont alors pas représentatifs d'un organisme, le champ clé est différent).
    Et quand je fais une requête SQL de supression des doublons, elle supprime tout les enregistrements...

    Donc ce que je voudrais, c'est un truc qui fasse :
    "Pour chaque enregistrement,
    tu compares le N°LISA à l'enregistrement suivant,
    si ils sont identiques, tu supprimes l'enregistrement, sinon, tu le laisses"

    Je ne sais pas comment le traduire... je suis un peu nulle aussi

    Merci de vos idées

  2. #2
    Membre expérimenté
    Avatar de Frank
    Homme Profil pro
    Chef de projet Informatique
    Inscrit en
    Avril 2002
    Messages
    1 095
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chef de projet Informatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 095
    Points : 1 392
    Points
    1 392
    Par défaut
    l'assistant de requête d'Access propose entre autre une requête permettant de relever tous les doublons d'une table.

    Tu fais la requête, puis tu la transformes en requête de suppression.

  3. #3
    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,

    cependant il y a quand même un problème qui se pose. si l'on considère l'ensemble des champs de ta table, tu n'as pas de doublons !! puisque pour deux enregistrements N°LISA identiques tu as des sociétés différentes.
    en tenant donc compte de ton résultat : pourquoi garder Assoc M plutot que Association ? je pense toute la question se situe à ce niveau là !

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 93
    Points : 57
    Points
    57
    Par défaut
    En réponse à Frank :

    C'est une solution que j'ai déjà essayé, mais le problème est que la requête suppression, supprime TOUS les enregistrements en doublon sur le champs n° LISA :
    de
    N° Automatique(base d'arrivée)----N°LISA(base de départ)-----Nom(base de départ)
    1-----B156-----SA
    2-----B156-----Société Anonyme
    3-----H523-----Association
    4-----H523-----Assoc M
    5-----H523-----AM
    6-----F895-----SARL

    il ne reste que:
    N° Automatique(base d'arrivée)----N°LISA(base de départ)-----Nom(base de départ)
    <N° Auto>-----<vide>-----<vide>

    Je ne veux pas perdre ces données.


    En réponse à petogaz :
    Pour deux numéros LISA identiques, je n'ai pas 2 sociétés différentes, mais deux façon d'écrire le nom d'une société (Association=Assoc M=AM), cela dépend de la personne qui saisie les données et sur qui je ne peux avoir aucun contrôle.

    Chaque N° LISA est associé à un projet au moins. Ces projets, de la base d'origine, doivent être transférés dans une table différente de la table bénéficiaire de la base d'arrivée. Ce transfert ce fait par l'intermédiaire d'une requête selection où les champs joints sont les n°LISA.
    <N°LISA de la table bénéficiaire de la base d'arrivée> lié à <N°LISA de la base de départ>

    Si je garde ces doublons sur les N° LISA, le même projet va être enregistré autant de fois que le même N°LISA apparait dans la table bénéficiaire, ce qui créé des enregistrements parasites et fausse les calculs sur les données.


    Donc pour l'instant, le futur administrateur de la base devra épurer ces doublons à la main.... ce qui permet, entre nous, un meilleur contrôle des données à supprimer.

  5. #5
    Membre actif Avatar de samlepiratepaddy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 320
    Points : 217
    Points
    217
    Par défaut
    Slt,
    La question de Petogaz est pertinente!!!
    Mais tu as dit :
    Pour deux numéros LISA identiques, je n'ai pas 2 sociétés différentes, mais deux façon d'écrire le nom d'une société (Association=Assoc M=AM), cela dépend de la personne qui saisie les données et sur qui je ne peux avoir aucun contrôle.
    Si cette donnée est saisie dans Accèss, rien de plus facile !
    Il faut que ce champ soit renseignés par une liste déroulante de choix NON modifiable !!!!
    Ainsi les utilisateurs n'auront que le choix des intitulés qu'il y a dans la liste !
    Et en plus la "saisie" ne comportera jamais d'erreur !
    De ce fait, en regroupant les deux post qui te sont proposés, tu as le réponse a ton problème!
    1/Je regle une fois pour toute le problème de la saisie de ce champ qui m'occasionne des doublons mais avec deux intitulés!
    2/Je batie ma requete de recherche de doublons....
    3/et je supprime celui que je ne veux pas garder!

    Si tu le souhaite, tu peux aussi "monter" un formulaire sur cette requete de doublon en Continu et installer un bouton qui tu supprimera l'enregistrement de la ligne correspondante, ce qui rend ce travail plus conviviale

    Mais le mieux est de ne pas importer de doublon
    C'est de là qu'il faut travailler !
    Faire ta requete de doublon AVANT de mettre dans ta table "based'arrivée) et tu ne met dans cette table que les enregistrements NON doublon !
    Une requte de non correspondance avec l'assistant te ferra ça sans problème!!
    @+

  6. #6
    Membre régulier
    Inscrit en
    Septembre 2005
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 137
    Points : 74
    Points
    74
    Par défaut
    Tu as défini la clé primaire de ta table qui réceptionne les données comme N° + N° LISA ?
    Dans ce cas, le fait d'avoir une clé primaire multi champs permet d'éviter automatiquement les doublons que tu présentes.

  7. #7
    Membre actif Avatar de samlepiratepaddy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 320
    Points : 217
    Points
    217
    Par défaut
    Citation Envoyé par Aurèl90
    Tu as défini la clé primaire de ta table qui réceptionne les données comme N° + N° LISA ?
    Dans ce cas, le fait d'avoir une clé primaire multi champs permet d'éviter automatiquement les doublons que tu présentes.
    Oui j'y est pensé aussi, de mettre le champ N°Lisa en clef primiare de la table de reception, mais si les données sont importer en "groupe", et qu'il y a des doublons ça va bugguer !!!
    a moins, toujours, de faire une requete de recherche de doublon avant de mettre a jour cette table de reception des données !!
    Par contre
    Dans ce cas, le fait d'avoir une clé primaire multi champs permet d'éviter automatiquement les doublons que tu présentes
    NON, pas dans son cas !!!
    1-----B156-----SA
    2-----B156-----Société Anonyme
    3-----H523-----Association
    4-----H523-----Assoc M
    5-----H523-----AM
    6-----F895-----SARL
    La double clef primaire me donne
    1B156
    2B156
    3H523
    4H523
    5H523

    Pas de doublons la dedans !!!

  8. #8
    Membre régulier
    Inscrit en
    Septembre 2005
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 137
    Points : 74
    Points
    74
    Par défaut
    Ah oui, c'est vrai ; on voit que je ne suis pas bien réveillé ce matin !
    Alors, il faudrait définir comme clé primaire juste le champ "N°LISA".

    Et tu es sûr que l'importation avec doublons va faire bugguer le truc ou juste ne pas les insérer ?

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 93
    Points : 57
    Points
    57
    Par défaut
    Merci pour vos réponses.

    Précision :

    Si cette donnée est saisie dans Accèss, rien de plus facile !
    Les données sont saisies dans une autre base de données, dont je ne reçois que les exports excel.

    Il faut que ce champ soit renseignés par une liste déroulante de choix NON modifiable !!!!
    C'est ce qui est prévu dans la base d'arrivée que je suis entrain de faire, en revanche, pour la base de départ, je n'ai aucun pouvoir... L'idée de la liste déroulante est effectivement la meilleure, mais cela n'a sans doute (je précise que je n'ai pas accès à cette base de départ) pas été pensé par les concepteurs... Par conséquent, les risques de d'orthographe différente pour un même organisme existeront toujours.
    Voilà pourquoi, j'ai besoin d'une requête qui supprime les doublons.


    Après les précisions, les questions :

    3/et je supprime celui que je ne veux pas garder!
    je supprime à la main ? (en direct sur la table ou par formulaire)

    Faire ta requete de doublon AVANT de mettre dans ta table "based'arrivée) et tu ne met dans cette table que les enregistrements NON doublon !
    Une requte de non correspondance avec l'assistant te ferra ça sans problème!!
    Je ne comprend pas comment peut fonctionner la requête de non correspondance. Car si je fais une non correspondance entre la table de départ et la requête de doublon, il va me sortir, les enregistrements de la table de départ sans les doublons. Mais du coup, ses organismes là sont perdus...

    Ce que je fais :

    Actuellement ça fonctionne comme ça :
    1. Selection des bénéficiaires (organisme)
    2. Import dans la table d'arrivée
    3. Requête de selection des doublons sur la table d'arrivée
    4. Suppression manuelle des enregistrements parasites, conservation d'une orthographe par organisme. Pour l'instant cette suppression se fait directement dans la requête, il n'y a pas d'interface conviviale, mais ça pourrait s'envisager. --> c'est cette étape manuelle que j'aimerai supprimer et automatiser
    5. Selection et import des projets... etc...

    Est-ce que cela correspond à vos réponses ?

  10. #10
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Les données sont saisies dans une autre base de données, dont je ne reçois que les exports excel.
    Tout le problème est là

    Si les données arrivent n'importe comment, ça va être trés difficile de pouvoir définir quels façon de noter telle information garder

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 93
    Points : 57
    Points
    57
    Par défaut
    Si les données arrivent n'importe comment, ça va être trés difficile de pouvoir définir quels façon de noter telle information garder
    Eh oui, c'est bien pour ça que je dors mal la nuit
    Au passage, j'ai ce problème sur les noms des organismes, mais pas que, je l'ai aussi sur les codes postaux qui sont saisies n'importe nawak, les noms des villes j'en parle même pas et le tout sur au moins deux bases sources différentes... c'est dire...

    Donc selon toi, le contrôle manuel de supression des données du style :
    "je finis de mettre à jour ma table, un formulaire s'ouvre me proposant de choisir quels enregistrements doublons sont à effacer. Je supprime et je continue de mettre à jour la base", serait la solution ?

    Dans le fond, si l'administrateur de la base bosse un peu (ça sera pas moi), ça lui fera pas de mal

    En tout cas merci !

  12. #12
    Membre actif Avatar de samlepiratepaddy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 320
    Points : 217
    Points
    217
    Par défaut
    re,
    Hélas oui.....
    Si tu n'a aucun moyen de pouvoir corriger les "défaults" des données, elles arriveront toujours.......
    Et le seul moyen que je vois est celui de rechercher les doublons sur le N°Lisa....
    Et supprimer manuellement les enregistrements...
    Accèss fait beaucoup de chose, mais n'est pas magique....
    En plus tu ne peux même pas dire que
    Pour deux numéros LISA identiques, je n'ai pas 2 sociétés différentes, mais deux façon d'écrire le nom d'une société (Association=Assoc M=AM), cela dépend de la personne qui saisie les données et sur qui je ne peux avoir aucun contrôle.
    Association ne sera pas t'il pas inscrit un jour, selon l'humeur, Asso, ou encore Asociation (faute volontaire de ma part, mais possible en saisie !), enfin un nombre indéfinissable de possibilité....
    Tu dois te concentrer sur le N°Lisa qui lui apparement est fiable !
    et surtout, il est plus radical d'interdire d'ajouter des doublons que de tout importer !!!!
    Donc, il te faut soit utiliser une table temporaire qui receptionne les données des différents fichiers et ensuite ne mettre dans la table que ceux qui t'interressent.......
    Soit faire cette manip, vu plus haut, pour supprimer les doublons.....
    Bon courage

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 93
    Points : 57
    Points
    57
    Par défaut
    Eh bien ok !

    Merci pour ces réponses !

    Bonne journée

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

Discussions similaires

  1. Comment supprimer les doublons
    Par djelloulc dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 17/09/2013, 14h30
  2. Éviter les doublons dans une requete
    Par royrremi dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 03/08/2004, 19h37
  3. [langage] 2 fichier dans 1 en evitant les doublons
    Par remixxl dans le forum Langage
    Réponses: 6
    Dernier message: 26/07/2004, 17h05
  4. empecher les doublons
    Par florent dans le forum Requêtes
    Réponses: 4
    Dernier message: 11/06/2004, 15h59
  5. tri a bulle sans les doublons
    Par comme de bien entendu dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 10/03/2003, 16h29

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