Utiliser des paramètres pour demander la saisie d’informations lors de l’exécution d’une Requête

Pour qu’une requête dans des bases de données de bureau demande des critères quand elle est exécutée, créez une requête avec paramètres. Cela permet de réutiliser la même requête sans avoir à l’ouvrir en mode Création pour modifier les critères.

Remarque : Cet article ne s’applique pas aux applications web Access.

Présentation de la terminologie

Avant de démarrer cette procédure pas à pas, il est nécessaire de comprendre les termes suivants :

  • Paramètre   Un paramètre est un élément d’information fourni à une requête pour qu’elle s’exécute. Les paramètres peuvent être utilisés de façon indépendante ou dans le cadre d’une expression plus complexe pour former un critère dans la requête. Vous pouvez ajouter des paramètres aux types de requêtes suivants :
    • Sélection
    • Analyse croisée
    • Ajout
    • Création de table
    • Mise à jour
  • Critères   Les critères sont les « filtres » que vous ajoutez à une requête pour spécifier les éléments renvoyés quand la requête est exécutée.

Pour plus d’informations sur les types de requête ci-dessus, voir Présentation des requêtes.

Créer une requête Paramètre

La création d’un paramètre revient à ajouter un critère normal à une requête :

  1. Créez une requête Sélection, puis ouvrez-la en mode Création.
  2. Dans la ligne Critères du champ auquel vous souhaitez appliquer un paramètre, tapez le texte à afficher dans la zone du paramètre, entre crochets. Par exemple, [Enter the start date:]

    Requête Paramètres simple.

  3. Répétez l’étape 2 pour chaque champ auquel ajouter des paramètres.

Quand vous exécutez la requête, l’invite s’affiche sans les crochets.

Invite de paramètre comportant le texte "Entrez la date de début :"

Remplissez la valeur recherchée, puis cliquez sur OK.

Vous pouvez utiliser plusieurs paramètres dans un critère. Par exemple, Between [Enter the start date:] And [Enter the end date:] génère deux invites quand vous exécutez la requête.

Requête Paramètre comportant deux paramètres.

Spécifier les types de données des paramètres

Vous pouvez définir le paramètre pour accepter uniquement un certain type de données. Cela est très utile pour des types de données tels que des nombres, des devises ou des date/heure, car les utilisateurs reçoivent un message d’erreur plus explicite s’ils tapent un type de données erroné, par exemple du texte au lieu d’une valeur monétaire.

Remarque : Si un paramètre est configuré pour accepter des données de type texte, toute entrée est interprétée comme étant du texte, et aucun message d’erreur ne s’affiche.

Pour spécifier le type de données pour les paramètres d’une requête :

  1. Après avoir ouvert la requête en mode Création, sous l’onglet Créer, dans le groupe Afficher/Masquer, cliquez sur Paramètres.
  2. Dans la boîte de dialogue Paramètres de la requête, dans la colonne Paramètre, tapez l’invite de chaque paramètre pour lequel vous souhaitez spécifier le type de données. Assurez-vous que chaque paramètre correspond à l’invite que vous utilisez dans la ligne Critères de la grille de création de requête.
  3. Dans la colonne Type de données, sélectionnez le type de données de chaque paramètre.

Ajouter un paramètre à une requête Union

Comme vous ne pouvez pas afficher une requête Union dans la grille de création de requête, vous devez procéder différemment :

  1. Ouvrez la requête Union en mode SQL.
  2. Ajoutez une clause WHERE qui contient les champs auxquels vous souhaitez ajouter des paramètres.

    Si une clause WHERE existe déjà, vérifiez que les champs auxquels vous voulez ajouter des paramètres figurent déjà dans la clause. Si ce n’est pas le cas, ajoutez-les.

  3. Tapez votre invite de paramètre dans la clause WHERE, par exemple, WHERE [StartDate] = [Enter the start date:]

    Requête Union comportant la clause suivante dans les deux parties à combiner : WHERE StartDate = [Entrez la date de début :]

    Vous devez ajouter le même filtre à chaque section de la requête. Dans l’image ci-dessus, la requête comporte deux sections (séparées par le mot clé UNION). Le paramètre doit donc être indiqué deux fois, mais l’invite n’apparaît qu’une seule fois lorsque vous exécutez la requête (si vous avez indiqué exactement la même invite dans chacune des sections).

Pour plus d’informations sur les requêtes Union, voir Utiliser une requête Union pour combiner plusieurs requêtes dans un seul résultat.

Combiner des paramètres avec des caractères génériques pour plus de flexibilité

Comme avec des critères normaux, vous pouvez combiner des paramètres avec le mot clé Like et des caractères génériques pour rechercher un plus grand nombre d’éléments. Par exemple, vous pouvez utiliser une requête pour demander le pays d’origine, mais faire en sorte que toutes les valeurs contenant la chaîne du paramètre soient renvoyées. Voici comment procéder :

  1. Créez une requête Sélection, puis ouvrez-la dans en mode Création.
  2. Dans la ligne Critères du champ auquel vous voulez ajouter un paramètre, tapez Like “*”&[, le texte à utiliser pour l’invite, puis ]&”*”.

    Grille de création de requête comportant les critères suivants dans la colonne CountryRegion : Comme "*" & [Entrez le pays/la région :] & "*"

Lorsque vous exécutez la requête avec paramètres, l’invite s’affiche dans la boîte de dialogue sans les crochets et sans le mot clé Like ou les

caractères génériques : Invite de paramètre comportant le texte "Entrez le pays/la région".

Une fois le paramètre entré, la requête renvoie les valeurs qui contiennent la chaîne du paramètre. Par exemple, la chaîne us renvoie les éléments contenant les valeurs Australia et USA.

Pour plus d’informations sur les caractères génériques, voir Utilisation de caractères génériques comme critères.

Renvoyer des éléments qui ne correspondent pas au paramètre

Au lieu de renvoyer les éléments qui correspondent à votre paramètre, la requête peut renvoyer ceux qui ne correspondent pas. Par exemple, vous pouvez demander une année, puis renvoyer les éléments dont l’année est ultérieure à celle-ci. Pour cela, entrez un opérateur de comparaison à gauche du crochet ouvrant de l’invite du paramètre, par exemple,>[Enter a year:].

Vidéo : Utiliser des paramètres dans les requêtes

L’utilisation d’un paramètre dans une requête est aussi simple que la création d’une requête contenant des critères. Vous pouvez créer une requête pour vous demander une information, comme un numéro de référence, ou plusieurs informations, comme deux dates. Pour chaque paramètre, une requête Paramètre affiche une boîte de dialogue distincte qui vous demande une valeur correspondante.

Regardez cette vidéo pour en savoir plus sur la création de paramètres dans les requêtes.