Bonjour à tous,
Je reviens vers vous pour vos bons conseils.
Je désire récupérer pour chaque client (Table T_Clients) la date de la facture la plus ancienne (Table T_Import_Impayees ).
J’ai donc édité la requête SR_Import7_Clients_Maj suivante, sur le fichier contenant les factures, et qui récupère correctement la date de facture la plus ancienne
Pour mettre à jour cette date dans le fichier client, j’ai fait la requête suivante qui devait récupérer le résultat de la sous-requête ci-dessus.
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT T_Import_Impayees.CodeClient, Min(T_Import_Impayees.DateFacture) AS MinDeDateFacture FROM T_Import_Impayees GROUP BY T_Import_Impayees.CodeClient ORDER BY T_Import_Impayees.CodeClient;
Mais là, j’ai le message d’erreur : L'opération doit utiliser une requête qui peut être mise à jour
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part UPDATE T_Clients INNER JOIN SR_Import7_Clients_Maj ON T_Clients.CodeClient = SR_Import7_Clients_Maj.CodeClient SET T_Clients.DateMaxRetard = SR_Import7_Clients_Maj.MinDeDateFacture ;
Après des recherches sur Internet, qui n’ont pas éclairé ma lanterne, j’ai tenté de faire, sans sous-requête, de la façon suivante
Mais là, j’ai le message d’erreur : Désolé... Votre requête n’inclut pas l’expression << DateMaxRetard >> spécifié en tant que partie d’une fonction d’agrégation.
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part UPDATE T_Clients INNER JOIN T_Import_Impayees ON T_Clients.CodeClient = T_Import_Impayees.CodeClient SET T_Clients.DateMaxRetard = Min([T_Import_Impayees]![DateFacture]);
J’ai créé toutes ces requêtes en utilisant le mode création de l’éditeur de requête.
Ce pourrait-il que malgré ce que permet de faire cet éditeur, j’utilise mal les possibilités de la fonction Min() ?
Merci d’avance pour votre éclairage.
Partager