Problème violation de clé
Résolu
geoffrey0258
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
geoffrey0258 Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
geoffrey0258 Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un souci pour remplir des tables sous accès j'ai un message d'erreur correspondant à une violation de clé. J'ai cherché partout je n'arrive pas à résoudre ce problème.
Voici sur ce lien mon schéma relationnel
http://www.zimagez.com/zimage/sanstitrec10674e0ebe184fa7f1a1fa897bb76fb.php
Pour créer ces tables j'ai fait les requêtes suivantes :
create table client
(numéro integer,
nom char(50),
prénom char(50),
ville char(50),
département char(50),
région char(50),
constraint PK_client primary key (numéro))
create table produit
(référence char(10),
désignation char(50),
marque char(50),
catégorie char(50),
secteur char(50),
[taux tva] single,
constraint PK_produit primary key (référence))
create table temps
([date facture/achat] date,
mois char,
année integer,
constraint PK_temps primary key ([date facture/achat]))
create table vente
(ID counter,
réfprod char(10),
[date facture] date,
numéro integer,
quantité integer,
montant single,
constraint PK_vente primary key (id),
constraint FK_vente foreign key ([date facture]) references temps ([date facture/achat]),
constraint FK2_vente foreign key (réfprod) references produit (référence),
constraint FK3_vente foreign key (numéro) references client (numéro))
Je veux ensuite remplir mes tables à partir d'une autre base de données sur mon ordinateur.
J'ai donc fait les instructions d'enregistrement suivant pour chaque table :
INSERT INTO client ( numéro, nom, prénom, ville, département, région )
SELECT client.numéro, client.nom, client.prénom, ville.nom, département.nomdépt, région.nomrégion
FROM [Intermédiaire 1 remplissage table client], [Intermédiaire 2 remplissage table client]
WHERE [Intermédiaire 1 remplissage table client].[code postal]=val([Intermédiaire 2 remplissage table client].[code postal]);
INSERT INTO produit ( référence, désignation, marque, catégorie, secteur, [taux tva] )
SELECT produit.référence, produit.désignation, produit.marque, produit.catégorie, produit.secteur, produit.tauxtva
FROM produit IN 'C:\Users\Geoffrey\Documents\cours (ORDIDEGEO)\M1 MER\Hubert\FRINGUES_CLIENTS.mdb';
INSERT INTO temps ( [date facture/achat], mois, année )
SELECT facture.[date facture], month(facture.[date facture]) & "/" & year(facture.[date facture]), year(facture.[date facture])
FROM facture IN 'C:\Users\Geoffrey\Documents\cours (ORDIDEGEO)\M1 MER\Hubert\FRINGUES_CLIENTS.mdb';
INSERT INTO vente ( réfprod, [date facture], numéro, quantité, montant )
SELECT référencer.réfprod, facture.[date facture], facture.numéro, référencer.quantité, round(produit.prixunitht*(1-référencer.remise)*(1+produit.tauxtva)*référencer.quantité,2) AS montant
FROM facture, référencer, produit IN 'C:\Users\Geoffrey\Documents\cours (ORDIDEGEO)\M1 MER\Hubert\FRINGUES_CLIENTS.mdb'
WHERE facture.numéro=référencer.n°facture And référencer.réfprod=produit.référence;
Les enregistrements dans les tables clients et produits fonctionnent. Mais pas dans les tables vente et temps. Voici les deux message d'erreur suivant respectivement pour la table vente et la table temps :
http://www.zimagez.com/zimage/sanstitre19270f85a64fb0d174b5f11f20306c270.php 67 enregistrements sur 67 ne fonctionnent pas
http://www.zimagez.com/zimage/sanstitre25339b4a6802832b508a58d36ab915328.php 15 enregistrements sur 34 ne fonctionnement pas
voici les liens des schémas relationnels des 2 bases de données source dans laquelle je vais chercher les infos :
http://www.zimagez.com/zimage/sanstitre37527be7cfc9ec0de4d66329459c44019.php
http://www.zimagez.com/zimage/sanstitre42ca06df5522d7ffa16d3f42cdff3664a.php
Merci pour votre aide
J'ai un souci pour remplir des tables sous accès j'ai un message d'erreur correspondant à une violation de clé. J'ai cherché partout je n'arrive pas à résoudre ce problème.
Voici sur ce lien mon schéma relationnel
http://www.zimagez.com/zimage/sanstitrec10674e0ebe184fa7f1a1fa897bb76fb.php
Pour créer ces tables j'ai fait les requêtes suivantes :
create table client
(numéro integer,
nom char(50),
prénom char(50),
ville char(50),
département char(50),
région char(50),
constraint PK_client primary key (numéro))
create table produit
(référence char(10),
désignation char(50),
marque char(50),
catégorie char(50),
secteur char(50),
[taux tva] single,
constraint PK_produit primary key (référence))
create table temps
([date facture/achat] date,
mois char,
année integer,
constraint PK_temps primary key ([date facture/achat]))
create table vente
(ID counter,
réfprod char(10),
[date facture] date,
numéro integer,
quantité integer,
montant single,
constraint PK_vente primary key (id),
constraint FK_vente foreign key ([date facture]) references temps ([date facture/achat]),
constraint FK2_vente foreign key (réfprod) references produit (référence),
constraint FK3_vente foreign key (numéro) references client (numéro))
Je veux ensuite remplir mes tables à partir d'une autre base de données sur mon ordinateur.
J'ai donc fait les instructions d'enregistrement suivant pour chaque table :
INSERT INTO client ( numéro, nom, prénom, ville, département, région )
SELECT client.numéro, client.nom, client.prénom, ville.nom, département.nomdépt, région.nomrégion
FROM [Intermédiaire 1 remplissage table client], [Intermédiaire 2 remplissage table client]
WHERE [Intermédiaire 1 remplissage table client].[code postal]=val([Intermédiaire 2 remplissage table client].[code postal]);
INSERT INTO produit ( référence, désignation, marque, catégorie, secteur, [taux tva] )
SELECT produit.référence, produit.désignation, produit.marque, produit.catégorie, produit.secteur, produit.tauxtva
FROM produit IN 'C:\Users\Geoffrey\Documents\cours (ORDIDEGEO)\M1 MER\Hubert\FRINGUES_CLIENTS.mdb';
INSERT INTO temps ( [date facture/achat], mois, année )
SELECT facture.[date facture], month(facture.[date facture]) & "/" & year(facture.[date facture]), year(facture.[date facture])
FROM facture IN 'C:\Users\Geoffrey\Documents\cours (ORDIDEGEO)\M1 MER\Hubert\FRINGUES_CLIENTS.mdb';
INSERT INTO vente ( réfprod, [date facture], numéro, quantité, montant )
SELECT référencer.réfprod, facture.[date facture], facture.numéro, référencer.quantité, round(produit.prixunitht*(1-référencer.remise)*(1+produit.tauxtva)*référencer.quantité,2) AS montant
FROM facture, référencer, produit IN 'C:\Users\Geoffrey\Documents\cours (ORDIDEGEO)\M1 MER\Hubert\FRINGUES_CLIENTS.mdb'
WHERE facture.numéro=référencer.n°facture And référencer.réfprod=produit.référence;
Les enregistrements dans les tables clients et produits fonctionnent. Mais pas dans les tables vente et temps. Voici les deux message d'erreur suivant respectivement pour la table vente et la table temps :
http://www.zimagez.com/zimage/sanstitre19270f85a64fb0d174b5f11f20306c270.php 67 enregistrements sur 67 ne fonctionnent pas
http://www.zimagez.com/zimage/sanstitre25339b4a6802832b508a58d36ab915328.php 15 enregistrements sur 34 ne fonctionnement pas
voici les liens des schémas relationnels des 2 bases de données source dans laquelle je vais chercher les infos :
http://www.zimagez.com/zimage/sanstitre37527be7cfc9ec0de4d66329459c44019.php
http://www.zimagez.com/zimage/sanstitre42ca06df5522d7ffa16d3f42cdff3664a.php
Merci pour votre aide
A voir également:
- Violation de contrainte d'intégrité clé parent introuvable
- Clé usb non détectée - Guide
- Clé windows 8 - Guide
- Formater clé usb - Guide
- Clé usb - Accueil - Stockage
- Clé de registre - Guide