Salut,
Ce qui serait assez sympa pour distinguer les objets de ta bdd, d'ajouter un préfixe pour les tbl, req, form et rep
Ta reqAGE_ACTUEL devrait avoir la syntaxe suivante
1 2 3
| SELECT CAPTURE.SITE, CAPTURE.ID_ANIMAL, Max(CAPTURE.Date) AS DATE_CAPT_MAX, CAPTURE.AGE AS AGE_CAPT_MAX, Iif(Left([ID_ANIMAL,4)="CHEV",CAPTURE.AGE,Nz(Int(CAPTURE.AGE+((Date()-Max(CAPTURE.Date))/365.25)),0)) AS AGE_ACTUEL
FROM ANIMAL_MARQUE INNER JOIN CAPTURE ON (ANIMAL_MARQUE.SITE = CAPTURE.SITE) AND (ANIMAL_MARQUE.ID_ANIMAL = CAPTURE.ID_ANIMAL)
GROUP BY CAPTURE.SITE, CAPTURE.ID_ANIMAL, CAPTURE.AGE; |
Comme te l'indique tee_grandbois, et j'ai manqué d'assiduité sur ce coup-là, est qu'on ne peut pas utiliser une requête de regroupement (GROUP BY) pour source d'une requête action (Update). Ce qui est ton cas.
Donc, pour contourner la difficulté, il te faudrait créer une tbl (tblAGE_ACTUEL_tmp) avec les mêmes champs que ta reqAGE_ACTUEL.
Tu crées ensuite une req Insert into (ajout) ayant pour source ta reqAGE_ACTUEL qui te permettra d'alimenter la tblAGE_ACTUEL_tmp.
Une fois la tblAGE_ATUEl_tmp alimentée, tu crées ta req Update (màJ) ayant pour source ta tblAGE_ACTUEL_tmp pour mettre à jour ta tblANIMAL_MARQUE
UPDATE tblANIMAL_MARQUE INNER JOIN tblAGE_ACTUEL_tmp ON (tblANIMAL_MARQUE.ID_ANIMAL = tblAGE_ACTUEL_tmp.ID_ANIMAL) AND (tblANIMAL_MARQUE.SITE = tblAGE_ACTUEL_tmp.SITE) SET tblANIMAL_MARQUE.tblAGE_ACTUEL_tmp = tblAGE_ACTUEL_tmp.tblAGE_ACTUEL_tmp;
Partager