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 :

Warning lors d'une requête d'ajout [AC-2003]


Sujet :

Access

  1. #1
    Membre à l'essai
    Homme Profil pro
    Ergonome
    Inscrit en
    Juin 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ergonome
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2012
    Messages : 23
    Points : 22
    Points
    22
    Par défaut Warning lors d'une requête d'ajout
    Hello tout le monde,
    J'ai actuellement une requête d'ajout de Dealers (Distributeurs en FR) dans une table dédiée à cet effet. (T_DEALER)

    Les informations viennent toutes d'une table temporaire (TEMP_DEALERS)

    Cette requête vise à insérer uniquement les dealers qui ne sont pas encore présents dans ma table T_DEALER.

    Mon problème : Après exécution de la requête j'ai ce warning : 301 enregistrement(s) n'ont pas été ajoutés à la table à la suite de violations de clé

    Hors TOUT a été enregistré dans ma table T_DEALER

    Si j'exécute ma requête à nouveau, 0 insertions sont effectuées ... Et aucun warning ! Le warning apparait seulement quand un élément n'existe pas encore dans la table de destination ....

    Voici ma requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    INSERT INTO T_DEALER ( ID_SAP, Legal_Name, Commercial_name, Street, City, Zip_Code, Country, Phone, Commercial_Email, General_Fax, Website, VAT_Registration_Number )
    SELECT TEMP_DEALERS.[Bill-To_SAP_Number], TEMP_DEALERS.[Bill-To_Legal_Name], TEMP_DEALERS.[Bill-To_Commercial_Name], TEMP_DEALERS.[Bill-To_Street], TEMP_DEALERS.[Bill-To_City], TEMP_DEALERS.[Bill-To_Postal_Code], TEMP_DEALERS.[Bill-To_Country], TEMP_DEALERS.[Ship-to phone], TEMP_DEALERS.General_Email, TEMP_DEALERS.General_Fax, TEMP_DEALERS.Web_Site, TEMP_DEALERS.VAT_Registration_Number
    FROM TEMP_DEALERS LEFT JOIN T_DEALER ON TEMP_DEALERS.[Bill-To_SAP_Number] = T_DEALER.ID_SAP
    WHERE (((TEMP_DEALERS.[Bill-To_SAP_Number]) Is Not Null) AND ((T_DEALER.ID_SAP) Is Null))
    ORDER BY TEMP_DEALERS.[Bill-To_SAP_Number], T_DEALER.ID_SAP;

  2. #2
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 108
    Points : 5 231
    Points
    5 231
    Par défaut
    Bonjour,

    Cette syntaxe de programmation permet une bien meilleure gestion d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CurrentDb.Execute "INSERT INTO ... ", dbFailOnError
    Il est possible que les warnings soient dûs à une contrainte de liaison entre T_dealer et une autre table...

  3. #3
    Membre à l'essai
    Homme Profil pro
    Ergonome
    Inscrit en
    Juin 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ergonome
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2012
    Messages : 23
    Points : 22
    Points
    22
    Par défaut
    Merci à Minot 83 qui m'a corrigé ma requête !
    La voici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    INSERT INTO T_DEALER ( ID_SAP, Legal_Name, Commercial_name, Street, City, Zip_Code, Country, Phone, Commercial_Email, General_Fax, Website, VAT_Registration_Number )
    SELECT TEMP_DEALERS.[Bill-To_SAP_Number], TEMP_DEALERS.[Bill-To_Legal_Name], TEMP_DEALERS.[Bill-To_Commercial_Name], TEMP_DEALERS.[Bill-To_Street], TEMP_DEALERS.[Bill-To_City], TEMP_DEALERS.[Bill-To_Postal_Code], TEMP_DEALERS.[Bill-To_Country], First(TEMP_DEALERS.[Ship-to phone]) AS [PremierDeShip-TO phone], TEMP_DEALERS.General_Email, TEMP_DEALERS.General_Fax, TEMP_DEALERS.Web_Site, TEMP_DEALERS.VAT_Registration_Number
    FROM TEMP_DEALERS LEFT JOIN T_DEALER ON TEMP_DEALERS.[Bill-To_SAP_Number] = T_DEALER.ID_SAP
    GROUP BY TEMP_DEALERS.[Bill-To_SAP_Number], TEMP_DEALERS.[Bill-To_Legal_Name], TEMP_DEALERS.[Bill-To_Commercial_Name], TEMP_DEALERS.[Bill-To_Street], TEMP_DEALERS.[Bill-To_City], TEMP_DEALERS.[Bill-To_Postal_Code], TEMP_DEALERS.[Bill-To_Country], TEMP_DEALERS.General_Email, TEMP_DEALERS.General_Fax, TEMP_DEALERS.Web_Site, TEMP_DEALERS.VAT_Registration_Number, T_DEALER.ID_SAP
    HAVING (((TEMP_DEALERS.[Bill-To_SAP_Number]) Is Not Null) AND ((T_DEALER.ID_SAP) Is Null))
    ORDER BY TEMP_DEALERS.[Bill-To_SAP_Number], T_DEALER.ID_SAP;

  4. #4
    Membre à l'essai
    Homme Profil pro
    Ergonome
    Inscrit en
    Juin 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ergonome
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2012
    Messages : 23
    Points : 22
    Points
    22
    Par défaut
    Citation Envoyé par nico84 Voir le message
    Bonjour,

    Cette syntaxe de programmation permet une bien meilleure gestion d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CurrentDb.Execute "INSERT INTO ... ", dbFailOnError
    Il est possible que les warnings soient dûs à une contrainte de liaison entre T_dealer et une autre table...
    Merci, je retiens la syntaxe !

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

Discussions similaires

  1. [AC-2010] Probléme lors d'une requête ajout
    Par pierre031 dans le forum Access
    Réponses: 0
    Dernier message: 07/04/2014, 10h18
  2. [AC-2010] Probléme lors d'une requête ajout
    Par pierre031 dans le forum Access
    Réponses: 0
    Dernier message: 14/03/2014, 12h25
  3. Attraper message d'erreur lors d'une requête d'ajout
    Par steps5ive dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 21/12/2006, 16h53
  4. Erreur lors d'une requête d'ajout
    Par olivia.of dans le forum Access
    Réponses: 13
    Dernier message: 14/02/2006, 12h18
  5. Mauvais noms de colonnes lors d'une requête
    Par nmathon dans le forum Bases de données
    Réponses: 2
    Dernier message: 09/04/2004, 07h27

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