Bonjour,
J'aimerais mettre à jour les données d'une table depuis les données d'une requête.
Cette requête s'appuie sur un fichier Excel lié.
Dans ce fichier il y a des ID_Promotion et les ID_Articles les composants ainsi que la DateDebut, DateFin et Mois de l'ID_Promotion
Mon but est de mettre à jour la partie Promotion, je cherche donc à regrouper les informations par ID_Promotion pour ne pas faire la même mise à jour n fois.
J'ai découvert la condition IN dont j'arrive à me servir pour isoler mes ID_Promotion.
Le problème est que je n'arrive pas à m'en servir pour récupérer les informations d'autres champs de la requête.
Mais il me retourne les messages suivants :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 UPDATE T_Promotion_Et_Annee SET T_Promotion_Et_Annee.Mois = R_ImportPromo_Norme!Mois, T_Promotion_Et_Annee.DateDebut = R_ImportPromo_Norme!DateDebut, T_Promotion_Et_Annee.DateFin = R_ImportPromo_Norme!DateFin WHERE (((T_Promotion_Et_Annee.ID_Promotion_Et_Annee) In (SELECT T_Promotion_Et_Annee.ID_Promotion_Et_Annee FROM R_ImportPromo_Norme INNER JOIN T_Promotion_Et_Annee ON (R_ImportPromo_Norme.ID_NomPromotion = T_Promotion_Et_Annee.ID_NomPromotion) AND (R_ImportPromo_Norme.Annee = T_Promotion_Et_Annee.Annee))));
"Entrer une valeur de paramètre :
R_ImportPromo_Norme!Mois"
R_ImportPromo_Norme!DateDebut
R_ImportPromo_Norme!DateFin
Et il m'indique qu'il ne peut pas faire les modification à la suite de violations de la règle de validation.
En fait, à l'affichage, je viens de voir que les informations pour le mois semblent provenir de la table T_Prromotion_Et_Annee et non de la requête T_Import_Promo_Norme...
Et voici le code (merci jimay) qui me permet de mettre à jour un champ oui/non. Il marche nikel.
C'est ce que j'ai essayé d'adapter.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 SELECT * FROM T_Promotion_Et_Annee WHERE ID_Promotion_Et_Annee IN ( SELECT T_Promotion_Et_Annee.ID_Promotion_Et_Annee FROM R_ImportPromo_Norme RIGHT JOIN T_Promotion_Et_Annee ON (R_ImportPromo_Norme.ID_NomPromotion = T_Promotion_Et_Annee.ID_NomPromotion) AND (R_ImportPromo_Norme.Annee = T_Promotion_Et_Annee.Annee) WHERE (((R_ImportPromo_Norme.ID_NomPromotion) IS NULL)) OR (((R_ImportPromo_Norme.Annee) IS NULL)))
Partager