Fonction MAX() dans un iif

Anonyme91 -  
yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   -
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

  1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    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?
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      connais-tu la fonction dmax?
      0
  2. Anonyme91
     
    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?
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      dmax est peut-être une piste de solution.
      0
    2. Anonyme91 > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
       
      Jai essayer... La meme erreur
      0
    3. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > Anonyme91
       
      l'erreur, de toute évidence, est ailleurs dans la requête.
      0
    4. Anonyme91 > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
       
      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.
      0
    5. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > 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)
      ?
      0
  3. Anonyme91
     
    Tout à fait, je fais cela dans une requête SQL
    0