PB Requête Access

Bonjour,

J'effectue une requête sous Access à partir d'une autre requête issue de ma table T Budgets.

Voici ma requête :

SELECT DISTINCT [R Bdgt max Global].Société, [R Bdgt max Global].[Num Budget],Max([R Bdgt max Global].Effort) AS MaxDeEffort
FROM [R Bdgt max Global]
GROUP BY [R Bdgt max Global].Société
HAVING ((([R Bdgt max Global].[Num Budget])>0));

Num Budget est l'identifiant de ma table T Budgets.

Mais ma requête ne fonctionne pas : voici le message d'erreur :

" Vous avez essayé d'exécuter une requête ne comprenant pas l'expression spécifiée 'Num Budget' comme une partie de la fonction d'agrégat ".

Je tiens absolument à afficher mon nom de société, mon max budget et mon identifiant.

Comment faire ?

Merci d'avance pour votre aide.
Configuration: Windows XP
Internet Explorer 6.0

10 réponses

  1. Bonjour,

    Avant de te proposer une solution, voyons si j'ai bien compris ton problème:
    tu veux sélectionner dans ta table R Bdgt max Global les informations pour un Num Budget bien précis et dont la valeur vient d'une requête précedente, c'est bien çà ?
    A plus
    0
    1. Personne peut m'aider ???

      Merci d'avance...
      0
      1. Personne peut m'aider ???

        Merci d'avance...
        0
        1. Je suis vraiment désolée mais en essaynt les 4 requêtes, j'ai toujours le même type de message d'erreur.
          0
          1. Oups pour le 4) enlève le DISTINCT :)
            -1
            1. Essayes plusieurs choses :

              1)
              SELECT DISTINCT [R Bdgt max Global].Société, Max([R Bdgt max Global].Effort) AS MaxDeEffort
              FROM [R Bdgt max Global]
              WHERE [R Bdgt max Global].[Num Budget] >'0';

              2)
              SELECT DISTINCT [R Bdgt max Global].Société, Max([R Bdgt max Global].Effort) AS MaxDeEffort, COUNT(*)
              FROM [R Bdgt max Global]
              WHERE [R Bdgt max Global].[Num Budget] >'0'
              GROUP BY [R Bdgt max Global].Société;

              3)
              SELECT [R Bdgt max Global].Société, Max([R Bdgt max Global].Effort) AS MaxDeEffort, COUNT(*)
              FROM [R Bdgt max Global]
              WHERE [R Bdgt max Global].[Num Budget] >'0'
              GROUP BY [R Bdgt max Global].Société;

              4)
              SELECT DISTINCT [R Bdgt max Global].Société, Max([R Bdgt max Global].Effort) AS MaxDeEffort
              FROM [R Bdgt max Global]
              WHERE [R Bdgt max Global].[Num Budget] >'0'
              GROUP BY [R Bdgt max Global].Société;
              -1
              1. Merci de ton aide. Voici le nouveau message d'erreur :

                Cette expression présente une syntaxe incorrecte ou est trop complexe pour être évaluée. Par exemple, une expression numérique peut contenir des éléments trop compliqués. Essayez de la simplifier en affectant des parties à des variables.

                Est-ce que tu sais quoi faire ? Merci...
                -1
                1. SELECT DISTINCT [R Bdgt max Global].Société, Max([R Bdgt max Global].Effort) AS MaxDeEffort
                  FROM [R Bdgt max Global]
                  WHERE [R Bdgt max Global].[Num Budget] >'0'
                  GROUP BY [R Bdgt max Global].Société;

                  Essayes celle-ci
                  0
                  1. J'ai essayé ta requête mais voici le message d'erreur qu'Access m'affiche :

                    " Vous avez essayé d'exécuter une requête ne comprenant pas l'expression spécifiée '[R Bdgt max global].[num budget]>0' comme une partie de la fonction d'agrégat.

                    Vois-tu une autre solution ?

                    Merci d'avance pour ton aide...
                    0
                    1. SELECT DISTINCT [R Bdgt max Global].Société, Max([R Bdgt max Global].Effort) AS MaxDeEffort
                      FROM [R Bdgt max Global]
                      GROUP BY [R Bdgt max Global].Société
                      HAVING ((([R Bdgt max Global].[Num Budget])>0));

                      Essaye ceci, ca devrait régler ton problème
                      0