Bonjour, et au secours svp.. J'avais posté initialement dans le forum SQL mais il semblerait que mon pb soit plus spécifique à Access qu'à SQL.
Je n'arrive pas à faire marcher la requête ci-dessous : Elle sert à archiver les données de la table 'sinistres' (des 'sinistres' antérieurs à une certaine date) dans la table 'ArchiveSinistres'. Cette dernière est de même format que 'sinistres' mais elle est dans une autre base de données dont le chemin est donné dans la directive 'IN'.
En fait, la clause WHERE ne trouve pas la table 'ArchiveSinistres' (malgré le IN 'C:\Documents and Settings\Pierre\Bureau\Archivage.accdb').
Cette requête ne marche que si j'importe avec liaison la table d'archive dans la base de départ. D'ailleurs, si je l'importe, je n'ai évidemment plus besoin de donner son chemin d'accès dans la requête.
Je voudrais éviter de l'importer. Mais dans ce cas la clause WHERE ne voit pas la table externe, alors que la clause 'INSERT INTO' la trouve bien grâce au 'IN'.
Y-a-t'il un moyen d'éviter d'importer la table ? et de faire cette requête d'insertion avec un LEFT JOIN sur cette table externe ?
+ de 48h que je suis collé là dessus !!! Merci d'avance
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 INSERT INTO ArchiveSinistres IN 'C:\Documents and Settings\Pierre\Bureau\Archivage.accdb' SELECT sinistres.* FROM sinistres LEFT JOIN ArchiveSinistres ON sinistres.N_interne = ArchiveSinistres.N_interne WHERE (((sinistres.date_envoi)<[forms]![Archivage]![DateArchivage]) AND ((ArchiveSinistres.N_interne) IS NULL));
Partager