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 :

Importation de doublons (clef primaire)


Sujet :

Access

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Apprenti Ingénieur Généraliste
    Inscrit en
    Février 2017
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Apprenti Ingénieur Généraliste
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2017
    Messages : 35
    Points : 30
    Points
    30
    Par défaut Importation de doublons (clef primaire)
    Bonjour,

    Situation actuelle : j'importe depuis un fichier excel des enregistrements dans des tables.

    Problème : le fichier excel comporte plusieurs fois le même enregistrement or l'un des champs est une clef primaire (non-négociable), donc lorsque j'importe les données j'obtiens un problème de doublon.

    Comment faire comprendre à Access/Excel que la donnée à importer existe déjà dans la table et qu'il ne faut donc pas lancer la procédure d'importation une seconde fois?



    Merci d'avance si vous avez déjà rencontré ce problème.

  2. #2
    Membre émérite Avatar de vttman
    Homme Profil pro
    Développeur "couteau mosellan"
    Inscrit en
    Décembre 2002
    Messages
    1 140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur "couteau mosellan"
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 140
    Points : 2 286
    Points
    2 286
    Par défaut
    Question (bête) : Pourquoi ne pas importer le fichier Excel dans une table temporaire, faire
    le ménage dans cette table (suppression (ou repérage) des doublons etc.) puis à partir de cette table
    passer les requêtes de MAJ pour toutes les tables et enfin RAZ de la table temporaire en fin de traitement ?
    Emérite, émérite je ne pense pas ... plutôt dans le développement depuis FORT FORT longtemps, c'est mon job, ça oui
    A part ça ... Il ne pleut jamais en Moselle !

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Apprenti Ingénieur Généraliste
    Inscrit en
    Février 2017
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Apprenti Ingénieur Généraliste
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2017
    Messages : 35
    Points : 30
    Points
    30
    Par défaut
    Bonjour,

    Merci pour votre réponse/question (qui est loin d'être bête), je ne suis pas familier avec ce type de procédure (table temporaire, repérage/suppression des doublons, etc...) donc votre solution ne m'est pas venu à l'esprit.

    Le repérage des doublons et la MAJ des enregistrements se font-ils automatiquement ou manuellement ?
    Via un module Access ou depuis le fichier Excel ?
    Avez-vous un exemple de code?

  4. #4
    Membre émérite Avatar de vttman
    Homme Profil pro
    Développeur "couteau mosellan"
    Inscrit en
    Décembre 2002
    Messages
    1 140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur "couteau mosellan"
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 140
    Points : 2 286
    Points
    2 286
    Par défaut
    Je n'ai pas d'exemple sous le coude mais si vous savez importer un fichier Excel
    et alimenter des tables ... vous saurez je pense créer un nouvelle table MATABLE_TEMP, modifier
    la procédure d'importation pour alimenter MATABLE_TEMP et ensuite modifier vos requêtes pour "attaquer "
    vos tables cible avec MATABLE_TEMP !?

    Sinon donnez plus de détails, comment l'importation est elle faite ?, les requêtes qui passent ensuite etc.
    Dans tous les cas vous augmenterez vos chances d'avoir plus de réponses (de moi et autres forumeurs)
    avec plus d'éléments de votre part ... enfin je pense
    Emérite, émérite je ne pense pas ... plutôt dans le développement depuis FORT FORT longtemps, c'est mon job, ça oui
    A part ça ... Il ne pleut jamais en Moselle !

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Apprenti Ingénieur Généraliste
    Inscrit en
    Février 2017
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Apprenti Ingénieur Généraliste
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2017
    Messages : 35
    Points : 30
    Points
    30
    Par défaut
    Citation Envoyé par vttman Voir le message
    ensuite modifier vos requêtes pour "attaquer "
    vos tables cible avec MATABLE_TEMP !?
    Comme vous l'aurez deviné et d'aprés les 3 questions posées précédemment, c'est cette partie qui me bloque et non pas l'importation dans une table temporaire.


    Citation Envoyé par vttman Voir le message
    Sinon donnez plus de détails, comment l'importation est elle faite ?, les requêtes qui passent ensuite etc.
    Dans tous les cas vous augmenterez vos chances d'avoir plus de réponses (de moi et autres forumeurs)
    avec plus d'éléments de votre part ... enfin je pense
    L'importation s'effectue via un recordset qui vient ouvrir une table dans ma BDD et attribuer la valeur d'une cellule du fichier excel à un champ, rien de plus. (aucune requête additionnelle)

  6. #6
    Membre émérite Avatar de vttman
    Homme Profil pro
    Développeur "couteau mosellan"
    Inscrit en
    Décembre 2002
    Messages
    1 140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur "couteau mosellan"
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 140
    Points : 2 286
    Points
    2 286
    Par défaut
    Pouvez vous donner le code en question ?
    Dans votre cas, quand vous insérez dans la table, normalement 2 façons de faire :
    1) Insertion directe (même pas peur) puis traitement des erreurs notamment l'erreur "enregistrement déjà existant" qu'il faut repérer (code d'erreur SQL à cibler)
    2) Avant Insertion : Vérification si enregistrement déjà existant et selon la réponse alors insertion ou passage ligne suivante ...

    https://access.developpez.com/faq/?page=SQL
    Emérite, émérite je ne pense pas ... plutôt dans le développement depuis FORT FORT longtemps, c'est mon job, ça oui
    A part ça ... Il ne pleut jamais en Moselle !

Discussions similaires

  1. Réponses: 2
    Dernier message: 29/08/2014, 08h04
  2. [AC-97] Requête qui retire les doublons en fonctions de 3 clefs primaires.
    Par Jazz_ dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 13/10/2010, 10h26
  3. Problème recup clef Primaire doublons
    Par nathieb dans le forum SQL
    Réponses: 4
    Dernier message: 13/09/2007, 15h55
  4. Gestion des erreurs (doublon clef primaire)
    Par capitaine dans le forum Access
    Réponses: 3
    Dernier message: 19/06/2006, 12h22
  5. Clef primaire access, Indexé avec doublon
    Par Asurmena dans le forum Access
    Réponses: 1
    Dernier message: 05/06/2006, 11h04

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