Problème pour designer une clé primaire

Bonjour,

j'ai un problème pour désigner une clé primaire

bon je m'explique

j'ai une base de données que je ramène d'excel où il y a : n° de compte client, le nom du client, adresse, ......

le numéro de compte de mon client est normalement ma clé primaire que je désigne lors de l'importation de mon fichier mais access la refuse car d’après lui il y des doublons

le n° de compte est constitué de trois chiffres, tiré du 6 puis six chiffres. ex: 356-300045

les 03 chiffres avant le tiré du 6 peuvent se répéter mais jamais le numéro entier
donc je peux avoir
356-300046
356-300047
mais jamais deux fois 356-300046

ma base de données est grandes plus de 100.000 lignes

comment faire pour rendre ce numéro de client ma clé primaire

merci de m'orienter

5 réponses

  1. bonjour
    toujours pas décider à donner une reponse
    1
    1. Bonjour,

      si tu mets le champs comme texte, cela devrait passer.

      A+
      0
      1. Bonjour

        a yb, regardez d'abord je sais ce que je dis et je ne fais pas n'importe quoi

        je n'ai pas de doublons mais access génère des doublons
        la table est importé d'excel, en faisant l'importation access génère des doublons
        bon bref, chaque fois je les supprime

        mais la question n'est pas là

        a HDU j'ai effectivement changé de format en texte, mais ca ne marche pas

        je pense qu'il y a autres choses mais je n'arrive pas à trouver

        et c'est pour cette raison que je m'adresse a vous

        a bon entendeur

        merci de vouloir bien m'aider
        0
      2. Contributeur Ambassadeur
        @amo-51D'habitude, Access fait ce qu'on lui demande. Donc je pense qu'il faut analyser ce que tu lui a demandé de faire.
        Nous ne pourrons t'aider que si tu nous donnes des informations factuelles et utiles.
        Dans quel cas génère-t'il des doublons?
        Comment sais-tu que les doublons ne sont pas présents dans Excel?
        0
      3. c'est simple j'ai cherché des doublons dans excel mais j'ai rien trouvé

        j'ai utilisé la mise en forme conditionnelle, valeur en double
        c'est facile sur excel.......UN JEU D ENFANTS
        ce n'est pas le cas sur access

        bref, je pense que mon problème réside dans les relations entre tables
        et ce problème j'ai pas pu le résoudre a cause de la clé primaire

        j'ai choisi n° de compte du client puisque ce champs revient dans deux tables DEDI et DGA

        Mon souci est de savoir pourquoi access pense qu'il y a des doublons alors que le total enregistrement sur access = nombre de ligne sur excel et que excel n'a trouvé aucun doublon

        y a t'il un moyen de trouver l'erreur
        0
      4. Contributeur Ambassadeur
        @amo-51peut-être que Access supprime les espaces au moment d'importer les données?
        puisque tu connais les comptes qui deviennent des doublons, as-tu regardé dans excel si il y avait quelque chose de particulier avec ces comptes?
        tu écris "pourquoi Access pense qu'il y a des doublons", tandis que en #3, tu écrivais "j'ai trouvé les doublons". donc ce n'est pas clair pour moi si tu es d'accord ou pas qu'il y a des doublons en Access.
        0
      5. @amo-51bonjour
        mets ta base compressée dans un lien c joint sur le site de comment ca marche.
        on pourra mieux comprendre et voire le probleme
        0
    2. Contributeur Ambassadeur
      bonjour, moi, à ta place, je chercherais les doublons. cela t'aidera à comprendre si tes données sont vraiment uniques.
      je pense que tu peux faire cette recherche facilement à l’aide de l’Assistant Requête "trouver les doublons".
      0
      1. bonjour;

        a UDH, le champ est effectivement en texte

        a yb, j'ai trouvé les doublons et comme solution je pense prendre le dernier en date mais je n'arrive pas à le faire

        j'ai mis dans le champ date, dernier et max mais ca n'a rien donné

        et comme je ne suis pas forte en sql access, je préfère trouver une fonction qui m'aiderai
        à afficher la dernière date
        0
      2. Contributeur Ambassadeur
        @amo-51ta question, c'était :"comment faire pour rendre ce numéro de client ma clé primaire", et tu as écrit "les 03 chiffres avant le tiré du 6 peuvent se répéter mais jamais le numéro entier".
        as-tu changé d'avis?
        si tu cherches la dernière date par client:
        select client, max(date) as maxdate from tableclient group by client
        0
      3. @yg_benon monsieur je n'ai pas changé d'avis pourquoi vous dites ca
        0
      4. Contributeur Ambassadeur
        @amo-51au début, tu écris que Access "croit" qu'il y a des doublons.
        maintenant, tu reconnais qu'il y a des doublons.
        que veux-tu obtenir exactement?
        0
      5. @yg_beEffectivement,

        il y a des doublons ou pas ???

        Si aucun doublon, et champ texte suffisamment long, pas de souci...

        A+
        0
    3. bonjour
      as tu fait une recherche de doublon avec access?
      0