Afficher en anglais

Partage via


Erreur « Impossible de regrouper sur les champs sélectionnés avec '*' » lorsque vous exécutez une requête dans Access

Numéro de la base de connaissances d’origine : 835414

Remarque

Cet article s’applique à un fichier de base de données Microsoft Access .MDB ou .ACCDB. Vous devez disposer de connaissances de base en macro, codage et interopérabilité avant de commencer.

Symptômes

Vous pouvez recevoir un message d’erreur lorsque vous exécutez une requête dans une base de données Microsoft Access qui utilise l’une des fonctions d’agrégation suivantes :

  • Sum
  • Min
  • Max

Le message d’erreur que vous recevez est le suivant :

Impossible d’effectuer un regroupement sur les champs sélectionnés avec ’*’.

Cause

Ce problème se produit lorsque vous utilisez des fonctions d’agrégation dans la requête et que vous ne définissez pas la propriété Output All Fields de la requête sur Non.

Lorsque vous définissez la propriété Sortie tous les champs de la requête sur Oui, un astérisque (*) caractère générique qui représente toutes les colonnes de la table de base de données est ajouté à la clause select de la requête Access. Toutefois, vous ne pouvez pas avoir un caractère générique astérisque (*) avec une fonction d’agrégation dans la clause select de la requête Access. Par conséquent, lorsque vous exécutez la requête Access, vous pouvez recevoir le message d’erreur mentionné dans la section « Symptômes ».

Résolution

Pour résoudre ce problème, définissez la propriété Sortie tous les champs de la requête sur Non, puis exécutez la requête Access qui utilise une fonction d’agrégation. Pour cela, procédez comme suit :

  1. Démarrez Access.

  2. Ouvrez la base de données Access qui contient la requête du problème.

  3. Dans la fenêtre Base de données, cliquez sur Requêtes sous la section Objets .

    Remarque

    Dans Access 2007, cliquez sur le groupe Requêtes dans le volet de navigation gauche.

  4. Cliquez avec le bouton droit sur la requête à modifier, puis cliquez sur Mode Création.

  5. Dans le menu Affichage , cliquez sur Propriétés.

    Remarque

    Dans Access 2007, cliquez sur l’onglet Création , puis sur Feuille de propriétés dans le groupe Outils .

  6. Dans la boîte de dialogue Propriétés de la requête , définissez la valeur de la propriété de requête Sortie tous les champs sur Non.

    Remarque

    Dans Access 2007, cliquez sur l’onglet Procédure stockée dans la boîte de dialogue Propriété . Assurez-vous que l’option Sortie toutes les colonnes n’est pas sélectionnée.

  7. Dans le menu Requête , cliquez sur Exécuter.

    Remarque

    Dans Access 2007, cliquez sur l’onglet Création , puis sur Exécuter dans le groupe Outils .

Informations supplémentaires

Vous pouvez utiliser l’option Sortie tous les champs pour inclure automatiquement tous les champs des tables sous-jacentes dans les résultats de la requête finale. Vous pouvez également utiliser l’option Sortie de tous les champs pour inclure automatiquement tous les champs des requêtes dans les résultats de la dernière requête. Dans ce cas, vous n’avez pas besoin d’ajouter tous les champs des tables sous-jacentes ou tous les champs des requêtes à la grille de conception.

Pour ce faire dans Access 2003 et dans les versions antérieures d’Access, procédez comme suit :

  1. Démarrez Access.
  2. Dans la fenêtre Base de données, cliquez sur Options dans le menu Outils .
  3. Dans la boîte de dialogue Options, cliquez pour sélectionner la zone Sortie de tous les champs case activée sous l’onglet Tables/Requêtes.
  4. Dans la zone Plan de numérotation (contexte téléphonique), cliquez sur Parcourir pour localiser le plan de numérotation de l’utilisateur.

Dans Access 2007, procédez comme suit :

  1. Démarrez Access.
  2. Cliquez sur le bouton Microsoft Office, puis sur Options d’accès.
  3. Cliquez sur Concepteurs d’objets.
  4. Cliquez pour sélectionner la zone Sortie de tous les champs case activée sous Conception de la requête, puis cliquez sur OK.

Remarque

Lorsque vous modifiez l’option Sortie de tous les champs , cela affecte uniquement le paramètre de propriété pour les nouvelles requêtes que vous créez. Lorsque vous modifiez l’option Sortie tous les champs , cela n’affecte pas les requêtes existantes.

Étapes pour reproduire le problème dans Access 2003

  1. Démarrez Access.

  2. Ouvrez l’exemple de base de données Northwind.mdb.

  3. Exécutez la requête Order Subtotals dans l’exemple de base de données Northwind.mdb pour vous assurer que la requête Order Subtotals s’exécute correctement. Pour cela, procédez comme suit :

    1. Dans la fenêtre Base de données, cliquez sur Requêtes sous la section Objets .
    2. Dans le volet droit, cliquez avec le bouton droit sur la requête Sous-totaux de commande, puis cliquez sur Ouvrir.
    3. Dans le menu Fichier , cliquez sur Fermer.

    Notez que la requête Sous-totaux d’ordre utilise la fonction d’agrégationSum().

  4. Ouvrez la requête Sous-totaux de commande en mode Création. Pour cela, procédez comme suit :

    1. Dans la fenêtre Base de données, cliquez sur Requêtes sous la section Objets .
    2. Dans le volet droit, cliquez avec le bouton droit sur la requête Sous-totaux de commande, puis cliquez sur Mode Création.
  5. Cliquez n’importe où dans la fenêtre Requête en dehors de la grille de requête et en dehors des listes de champs.

  6. Dans le menu Affichage , cliquez sur Propriétés.

  7. Dans la boîte de dialogue Propriétés de la requête , définissez la valeur de la propriété de requête Sortie tous les champs sur Oui.

  8. Fermez la boîte de dialogue Propriétés de la requête.

  9. Dans le menu Requête , cliquez sur Exécuter.

    Lorsque vous exécutez la requête, vous pouvez recevoir le message d’erreur mentionné dans la section « Symptômes ».