Fonction MAX() dans un iif

Signaler
-
Messages postés
14525
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
8 mars 2021
-
Bonjour,


Je souhaiterai utiliser un MAX dans iif (pour obtenir la plus grande valeur d'une colonne comme condition d'affichage d'un texte).

IIf(HtmlTableArgu.NUM=MAX(HtmlTableArgu.NUM) And HtmlTableArgu.TYPM="ARGU",HtmlTableArgu.Texte,"Erreur")


Or Access m'affiche une erreur

Help please...

3 réponses

Messages postés
14525
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
8 mars 2021
810
bonjour,
fais-tu cela dans une requête?
le message d'erreur est-il secret?
la source complète de ta requête est-elle secrète?
Messages postés
14525
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
8 mars 2021
810
connais-tu la fonction dmax?
L'erreur est la suivante : "Désolé... votre requête n'inclut pas l'expression "refciale" spécifiée en tant que partie d'une fonction d'agrégation.

Quel est le rôle de dmax?
Messages postés
14525
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
8 mars 2021
810
dmax est peut-être une piste de solution.
>
Messages postés
14525
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
8 mars 2021

Jai essayer... La meme erreur
Messages postés
14525
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
8 mars 2021
810 > Anonyme91
l'erreur, de toute évidence, est ailleurs dans la requête.
>
Messages postés
14525
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
8 mars 2021

Voici la requête complète :

INSERT INTO HtmlTableArgu ( refciale, [ID Rubis], Texte, TYPM, NUM )

SELECT TEMPLATE_EADMIN.[Référence fournisseur], TEMPLATE_EADMIN.[ID Rubis], IIf(HtmlTable.NUM=MAX(HTMLTableArgu) AND HtmlTableArgu.TYPM="ARGU",HtmlTableArgu.Texte,"Erreur") & "<BR><BR><b>Les Atouts de la gamme:</b>" & "<BR><BR>" & Replace(Replace(Replace(MEDIA.CODVAL,'|',' '),Chr(10),' '),' ',' ') AS Texte, "ARGUG", 1

FROM TEMPLATE_EADMIN, MEDIA, HtmlTableArgu
WHERE (((HtmlTableArgu.[refciale])=MEDIA.refciale) And ((MEDIA.NUM)=1) And ((MEDIA.refciale)=TEMPLATE_EADMIN.[Référence fournisseur]) And ((MEDIA.TYPM)="ARGUG") And ((MEDIA.CODVAL)<>"0"))

GROUP BY TEMPLATE_EADMIN.[Référence fournisseur], TEMPLATE_EADMIN.[ID Rubis], HtmlTableArgu.Texte, HtmlTableArgu.NUM, HtmlTableArgu.TYPM;

L'erreur concerne je pense GROUP BY.
Messages postés
14525
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
8 mars 2021
810 > Anonyme91
as-tu testé le SELECT sans l'INSERT?
es-tu certain du message d'erreur impliquant 'refciale'?
peux-tu montrer comment tu as utilisé dmax?
que penses-tu faire avec
HtmlTable.NUM
et avec
MAX(HTMLTableArgu)
?
Tout à fait, je fais cela dans une requête SQL