Bonjour,
Je n'arrive pas à mettre à jour un champs d'une table pour certains enregistrements.
J'ai d'abord créer une requête pour sélectionner les enregistrements que je voulais modifier
cette requête marche parfaitement. Je trouve 872 enregistrements.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT Mouvement.code_stat FROM Mouvement INNER JOIN ligne_mouvements ON (Mouvement.Date_creat = ligne_mouvements.Date_creat) AND (Mouvement.[N° bon consigne] = ligne_mouvements.[N° bon consigne]) GROUP BY Mouvement.[N° bon consigne], Mouvement.Date_creat, Mouvement.[Code transporteur], Mouvement.code_stat HAVING (((Count(ligne_mouvements.type_mvt))=2) AND ((Sum(IIf([type_mvt]="RF",[qte_mvt],0))-Sum(IIf([type_mvt]="LP",[qte_mvt],0)))=0));
Ensuite je veux modifier la valeur de mon champ Mouvement.code_stat
j'ai écrit le code suivant :
Cette requête modifie tous les enregistrements de ma table MOuvemenent (2694 enregistrements) et pas juste les 872 enregistrements que j'avais précédemment sélectionné.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 UPDATE Mouvement SET Mouvement.code_stat ="D" WHERE Mouvement.code_stat in (SELECT Mouvement.code_stat FROM Mouvement INNER JOIN ligne_mouvements ON (Mouvement.Date_creat = ligne_mouvements.Date_creat) AND (Mouvement.[N° bon consigne] = ligne_mouvements.[N° bon consigne]) GROUP BY Mouvement.[N° bon consigne], Mouvement.Date_creat, Mouvement.[Code transporteur], Mouvement.code_stat HAVING (((Count(ligne_mouvements.type_mvt))=2) AND ((Sum(IIf([type_mvt]="RF",[qte_mvt],0))-Sum(IIf([type_mvt]="LP",[qte_mvt],0)))=0)));
J'espère que c'est très clair. J'ai beaucoup cherché. Je ne trouve pas. En fait, si on travaille uniquement en mode création sur les requêtes d'Access, le problème vient du passage de la requête de sélection où j'active les regroupements et la requête de Mise à jour où je n'arrive pas à faire la mise à jour sur la sélection avec regroupement d'origine.
Je continue malgré tout d'explorer le site pour trouver le chemin pour y arriver.
Si quelqu'un voit une piste merci d'avance.
Partager