Demoiselle en détresse à cause d'ACCESS...
Quand je démarre ma query de mise à jour, il me met toujours qu'il ne peut pas ajouter les champs demandés à cause d'une "key violation"
Quand je démarre une autre requête de mise à jour il me met carrément "numeric field overflow" alors que la première fois il m'avait bien mis une erreur type "key violation" également.
Le but est de rajouter dans une table (confimation) le résultat de requêtes select :
INSERT INTO Confirmation ( Type, Chargement, [Code Pays], [Code Postal], Ville, Cochargement, Tranporteur, Prix ) SELECT [prix Query].[Bulk or Pack], [prix Query].Shipment, [prix Query].[Code Pays], [prix Query].[Postal code], [prix Query].Ville, [prix Query].Cochargement, [prix Query].Transporteur, [prix Query].Prix FROM [prix Query];
Requête : Prix Query :
1 2 3
| SELECT DISTINCT Shipments.Shipment, Shipments.[Postal code], Shipments.Ville, Shipments.Cochargement, Shipments.Transporteur, Prix.Prix, Shipments.[Bulk or Pack], Shipments.[Code Pays] FROM Prix RIGHT JOIN Shipments ON (Prix.Transporteur =
Shipments.Transporteur) AND (Prix.[Postal Code] = Shipments.[Postal code]) AND (Prix.[Code Pays] = Shipments.[Code Pays]) AND (Prix.Ville =
Shipments.Ville) AND (Prix.Type = Shipments.[Bulk or Pack]); |
=> En tout cela est censé rajouter à la table confirmation les chargements (sans les doublons) avec les prix, attribués au moyen d'une jointure avec le cide postal, le code pays, le transporteur et la ville (parce que des fois il n'y a pas tout) remarque : j'ai mis 0 en valeur par défaut mais il ne l'affiche pas. A priori il existe une fonction nulltozero ou nz qui permettrait de faire ça.
aucune de mes tables a de null interdit ni de validation rule. Une idée?
INSERT : MAJ poids
INSERT INTO Confirmation ( [Poids Net] ) SELECT [Poids Query2].[SumOfAvgOfDelivery realized net weight] FROM [Poids Query2];
Requête : Poids Query2
SELECT [poids Query1].Shipment, Sum([poids Query1].[AvgOfDelivery realized net weight]) AS [SumOfAvgOfDelivery realized net weight] FROM [poids Query1] GROUP BY [poids Query1].Shipment;
Requête : Poids Query1 (pas réussi à les fusionner)
SELECT Shipments.Shipment, Shipments.[Delivery number], Avg(Shipments.[Delivery realized net weight]) AS [AvgOfDelivery realized net weight] FROM Shipments GROUP BY Shipments.Shipment, Shipments.[Delivery number];
=> Le résultat de cette requête est:
query1 : sélectionner tous les shipments qui contiennent des DN (= environ des produits) différentes sans les doublons, car les poids sont donnés par DN et non pas par chargement et on veut le poids par chargement ;
query2 : ensuite, faire la somme de ces poids pour faire un poids total par shipment; MAJ POIDS: insérer dans la table confirmation, colonne poids, ce poids avec le shipment correspondant.
Il l'affiche très bien, le problème est comme à chaque fois à l'insertion dans la table ...
Une idée ?
Merci d'avance pour votre aide,
Cream
Partager