Bonjour,
J'aimerais supprimer de ma table [TEMP_PDA] les enregistrements déjà présents dans la table [Traçabilité] et je ne comprends vraiment pas en quoi ceci est complexe...
J'ai deux requêtes différentes et les deux me posent un soucis:
Requête avec liaison :
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 DELETE DISTINCTROW [TEMP_PDA].[OF], [TEMP_PDA].[Connecteur], [TEMP_PDA].[Cms composant], [TEMP_PDA].[Trace composant] FROM TEMP_PDA INNER JOIN [Traçabilité-Composants] ON ([TEMP_PDA].[Trace composant]=[Traçabilité-Composants].[Trace Composant]) AND ([TEMP_PDA].[Cms composant]=[Traçabilité-Composants].[Cms Composant]) AND ([TEMP_PDA].[Connecteur]=[Traçabilité-Composants].[Connecteur]) AND ([TEMP_PDA].[OF]=[Traçabilité-Composants].[OF]);
Requête sans liaison :
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 DELETE TEMP_PDA.OF, TEMP_PDA.Connecteur, TEMP_PDA.[Cms composant], TEMP_PDA.[Trace composant], TEMP_PDA.[Login opérateur], TEMP_PDA.Date FROM TEMP_PDA, [Traçabilité-Composants] WHERE (((TEMP_PDA.OF)=[Traçabilité-Composants].[OF]) AND ((TEMP_PDA.Connecteur)=[Traçabilité-Composants].[Connecteur]) AND ((TEMP_PDA.[Cms composant])=[Traçabilité-Composants].[Cms Composant]) AND ((TEMP_PDA.[Trace composant])=[Traçabilité-Composants].[Trace Composant]) AND ((TEMP_PDA.[Login opérateur])=[Traçabilité-Composants].[Login Opérateur]) AND ((TEMP_PDA.Date)=[Traçabilité-Composants].[Date]));
Le soucis c'est qu'Access m'affiche ce message :
"spécifier la table contenant les enregistrements que vous voulez supprimer"
Après avoir chercher j'ai vu que dans le cas de la requête utilisant des liaisons je pouvais utiliser les jointures externes et que combinées à un DISTINCTROW cela devrait marcher... Le problème c'est que la requête me propose de supprimer 106 champs au lieu de 101 comme prévu (ce que propose la requête avec jointure interne)
Je suis un peu paumé, merci d'avance.
Partager