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

Bases de données Delphi Discussion :

Refus d'enregistrer table Accès


Sujet :

Bases de données Delphi

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    803
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 803
    Points : 182
    Points
    182
    Par défaut Refus d'enregistrer table Accès
    Bonjour à tous,

    Voici le code utilisé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    function TBDM.WriteRIPQuantiOk( const Nbr: Integer; var Rec: TSegColorVec ):boolean;
    var
      k: Integer;
    begin
      result:= Nbr=Length(Rec);
      if result then for k := 0 to Nbr - 1 do
      begin
        ADOTable.Close;
        ADOTable.ConnectionString:= Format(_ConnString,[_UserName,_PassWord,CurDBPath]);
        ADOTable.TableName:= 'SEGCOLOR';
        ADOTable.Open;
        ADOTable.Edit; //set to edit mode for insertion of data  //begin insert
        ADOTable.Insert;  //set values
        ADOTable.FieldByName('RipNo').Value := Rec[k].SegNo;
        ADOTable.FieldByName('SegNum').Value := Rec[k].RipNo;
        ADOTable.FieldByName('Owner').Value := Rec[k].Owner;
        ADOTable.FieldByName('RFloat').Value := Rec[k].RGB[_R];
        ADOTable.FieldByName('GFloat').Value := Rec[k].RGB[_G];
        ADOTable.FieldByName('BFloat').Value := Rec[k].RGB[_B];
        ADOTable.FieldByName('L').Value := Rec[k].Lab[_L];
        ADOTable.FieldByName('a').Value := Rec[k].Lab[_Astar];
        ADOTable.FieldByName('b').Value := Rec[k].Lab[_Bstar];
        ADOTable.Post;
      end;
    end;
    arrivé à la dernière ligne (fonction post) j'obtiens le message Vous ne pouvez pas ajouter ou modifier un enregistrement car l'enregistrement associé est requis dans la table RIP"
    La table RIP existe dans la BD mais elle est bien entendu différente de la table SEGCOLOR.
    Quelqu'un peut-il m'expliquer la cause de l'erreur et donc comment y remédier ?

  2. #2
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 407
    Points : 3 027
    Points
    3 027
    Par défaut
    Problème de clé étrangère à mon avis .
    Il manque un enregistrement correspondant dans l'autre table.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    803
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 803
    Points : 182
    Points
    182
    Par défaut Ok hypothèse vérifiée
    Merci

    Effectivement l'un des champs, le champ RipNo, concerne une clé secondaire qui se réfère à un enregistrement dans la table RIP. Ledit enregistrement dans la table RIP n'a pas été effectué.

    Bonne fin de journée. Je coche résolu.

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

Discussions similaires

  1. [VB6] Allez en avant dernier enregistrement d'une table acce
    Par bb62 dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 10/02/2006, 15h42
  2. table acces champ mail pour mailing ???
    Par jockey1 dans le forum Access
    Réponses: 3
    Dernier message: 17/09/2005, 21h19
  3. lier les tables acces oracle
    Par xtaze dans le forum Access
    Réponses: 5
    Dernier message: 12/06/2005, 21h39
  4. Enregistrer table
    Par James64 dans le forum Bases de données
    Réponses: 1
    Dernier message: 26/10/2004, 11h01
  5. [VB6] [ADO] Pb ajout enregistrement table liée
    Par fikou dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 01/10/2002, 11h49

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