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 :

insert avec numéro auto violation de clé


Sujet :

Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 84
    Points : 55
    Points
    55
    Par défaut insert avec numéro auto violation de clé
    Bonjour,
    J'ai une requête qui ne fonctionne pas et je ne comprends pas trop pourquoi:
    je fais un insert dans une table dont la clé et un "numéroAuto".
    Voici la structure de ma table:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LigneConstat(NumLigneConstat, Unite, NumConstat, NumPrixConstat, QuantiteCommandees, QuantiteConstatees, NumLigneDevis)
    La clé primaire de la table est composée des deux champs NumLigneConstat et Unite. Le champs NumLigneConstat est un numéroAuto. Le champ Unite est un champ texte.

    Lorsque j'effectue cette requête, j'obtient une erreur de violation de clé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO LignesConstats(NumPrixConstat,QuantiteConstatees,QuantiteCommandees,NumConstat, Unite) Values('A 1010',1,0,922, 'PCTTO')
    Je ne comprend pas trop, pourquoi. J'ai toujours la solution de renseigner dans ma requête le champ NumLigneConstat en calculant le max de ce champ. Mais je ne trouve pas ça très propre et j'ai déjà utiliser cette solution dan d'autres endroits de mon appli, sans comprendre la vraie erreur. Est ce que quelqu'un peut m'expliquer tout ça?
    Cordialement
    CGodefrw

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 84
    Points : 55
    Points
    55
    Par défaut
    Une petite rectification et une précision:
    lorsque je calcule le max du champs NumLigneConstat (+1) pour faire une insertion moi même j'obtient la même erreur.
    avec un champ "unite" différents des valeurs de tous les autres enregistrements j'obtient la même erreur aussi.(c'est normal vu que le contrainte d'unicité porte sur la combinaison des deux champs)
    Cordialement
    CGodefrw

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Points
    1 579
    Par défaut
    Essai avec une requête par le QBE pour voir si ca passe.
    Amicalement

  4. #4
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    316
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 316
    Points : 367
    Points
    367
    Par défaut
    Bonjour,

    Je n'ai pas compris pourquoi tu calcule le max(NumLigneConstat) puisque c'est un numéroAuto(compteur) et ne doit pas figurer dans l'insert.

    A+

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 84
    Points : 55
    Points
    55
    Par défaut
    Quelques petites précisions sur ma démarche donc:
    dans un premier temsp ma requête était codé en VBA. J'ai constaté que je n'obtenais pas d'enregistrement supplémentaire dans ma table. Je me suis alors dis qu'elle ne devait pas être correct. Je l'ai donc exécuter en la stockant sous une requête access. C'est à ce moment là que j'obtiens l'erreur de violation de clé.
    En fait la deuxième solution que je voulais tester (c'est vrai que mon test était pas très significatif) consistait à contourner le problème, en auto incrémentant moi même, et en précisant la nouvelle valeur du champs lors de l'insert. J'aurais du changer le type de mon champ de numéroAuto en numérique.
    Cordialement
    Cgodefrw

Discussions similaires

  1. Insertion avec numéro auto
    Par Imageek dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 02/04/2010, 15h32
  2. [BO 5.1.8]Problemes avec Numéro autos sur Mysql
    Par zalalus dans le forum Designer
    Réponses: 10
    Dernier message: 17/10/2007, 17h41
  3. Requete d'insertion avec n° auto
    Par zapatta dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 24/07/2006, 10h37
  4. [Jdbc] insertion avec numero auto
    Par ice69 dans le forum JDBC
    Réponses: 2
    Dernier message: 31/10/2005, 19h19
  5. INSERT INTO numéro auto.
    Par Pfeffer dans le forum Langage SQL
    Réponses: 9
    Dernier message: 17/02/2005, 19h04

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