Bonjour à tous!
J'ai un problème quelque peu épineux.
Contexte:
Je développe une BDD Access 2010 pour gérer le suivi documentaire de mon projet.
Notre client nous envoi un fichier Excel contenant les données que j'importe dans ma base Access. Comme ce fichier source laisse sérieusement à désirer, je met en place des requêtes pour traiter les éventuelles bourdes qu'ils auraient laissé (Par exemple, une référence en double sur deux documents différents...). Dans le cas présent, la requête en question cherche si des documents précédemment importés n'auraient pas disparu du fichier source.
Fonctionnement:
Ma table "T_Import" collecte toutes les versions des fichiers sources de mon client. ma table "T_Document" contient les références et le nom de chacun des documents présents dans mon suivi.
Si un document est présent dans mon suivi mais pas dans la table import, c'est que le document a été supprimé.
Reqûete:
(Le T_Import. Version est là pour cibler une version spécifique du fichier importé).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT T_Document.NumDoc , T_Document.TitreDoc FROM T_Document WHERE NOT EXISTS ( SELECT T_Import.NumDoc FROM T_Import WHERE T_Import.NumDoc = T_Document.NumDoc AND T_Import.Version=[Formulaires]![F_Principal]![Txt_TableRef]) ;
Problème:
Dans les résultats de ma requêtes j'ai malheureusement 3 cas de figure:
-le cas normal ==> La référence remontée existe dans ma table T_Document mais pas dans ma table T_Import
-le cas gênant ==> La référence est présente dans les deux table (donc ne devrait pas apparaitre)
-le cas WTF==> La référence est présente dans ma table T_Import mais pas dans ma table T_Document... SELECT T_Document... FROM T_Document... Comment Access peut il me remonter un résultat qui n’existe pas dans la table ciblée??
Je m'en remet à vous messieurs!
Partager