Bonjour,
Je souhaite mettre à jour (avec une requête de Mise à jour) le champ « N° Operation » d’une table intermédiaire qui comporte de 2 à 4 enregistrements, relatifs à un même « évènement ».
Chaque évènement est identifié avec un seul et même « N° d’Opération » ; donc c’est le même N° pour les 2 à 4 enregistrements et il est calculé comme le « numéro max + 1 » du champ « N° Opération » de la table opérationnelle.
Cette table intermédiaire me sert à valider un « événement » avant de l’ajouter à ma table opérationnelle.
J’ai essayé en mettant directement un champ calculé dans la ligne « Mise à jour » de la requête de la façon suivante :
UPDATE [Tbl-Nouvel-evenement-par-libelle] SET [Tbl-Nouvel-evenement-par-libelle].[N° Operation] = "Max([Tbl-MtRg-Compt]![N° Operation])+1"
La requête commence bien avec « vous allez mettre à jour 3 lignes .. », mais finit mal avec le message :
J’ai essayé les 2 solutions préconisées dans une discussion de ce forum relative au même problème : sans succès.
J’ai alors essayé de passer par une requête intermédiaire qui calcule la valeur « max + 1 » (et qui me donne bien le bon résultat), de la façon suivante.
UPDATE [Tbl-Nouvel-evenement-par-libelle] SET [Tbl-Nouvel-evenement-par-libelle].[N° Operation] = "[Rqt-Compt-Num-Op-Max]![Expr1]";
Mais je retombe sur la même erreur.
Enfin, en mettant un entier dans la ligne « Mise à jour » de la requête de mise à jour, ça fonctionne très bien ; mais c’est pas le but de l’opération ;-((.
Le champ « N° Operation » des 2 tables est de type numérique.
J’utilise Access 2007 2010
J’avoue que je tourne maintenant en rond. Quelqu’un saurait-il me sortir de là ? Par avance merci
Partager