Utiliser des Paramètres dans les Requêtes, les Formulaires et les Rapports

Vous pouvez également créer un formulaire afin de collecter des valeurs de paramètres à utiliser et limiter ainsi les enregistrements renvoyés pour les requêtes, formulaires ou rapports. Cet article explique comment utiliser des formulaires pour faire meilleur usage des paramètres dans les requêtes, formulaires et rapports.

Vue d’ensemble

Dans Access, vous pouvez utiliser des critères dans une requête Paramètre afin de limiter le jeu d’enregistrements renvoyés par cette requête. Vous jugerez peut-être les boîtes de dialogue fournies par une requête Paramètre insuffisantes. Si tel est le cas, vous pouvez créer un formulaire mieux adapté à vos besoins en matière de collecte de paramètres. Cet article explique comment créer un formulaire qui collecte des paramètres de requête et de rapport. Cet article suppose que vous sachiez créer des requêtes et définir des paramètres dans les requêtes. Vous devez au moins savoir comment créer une requête Sélection avant de poursuivre.

Cet article propose des exemples d’utilisation de paramètres dans les requêtes. Il ne fait pas office de référence exhaustive pour spécifier des critères.

 

Utiliser des paramètres dans les requêtes

Utiliser un paramètre dans une requête est aussi simple que créer une requête utilisant 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 correspondant à ce paramètre.

Ajouter un paramètre à une requête

  1. Créez une requête Sélection, puis ouvrez-la dans mode Création.
  2. Dans la ligne Critères du champ auquel appliquer un paramètre, entrez le texte que vous souhaitez que la boîte de dialogue du paramètre affiche, entre crochets, par exemple :[Date de début]

    Lorsque vous exécutez la requête Paramètre, l’invite s’affiche dans une boîte de dialogue sans les crochets.

    Vous pouvez également utiliser une expression avec vos invites de paramètre, par exemple :

    Entre [Date de début] et [Date de fin]

    Remarque : Une boîte de dialogue distincte s’affiche pour chaque invite de paramètre. Dans le deuxième exemple, deux boîtes de dialogue s’affichent : une pour la Date de début et une autre pour la Date de fin.

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

Utilisez les étapes précédentes pour ajouter un paramètre à l’un des types de requêtes suivants : Sélection, Analyse croisée, Ajout, Création de table ou Mise à jour.

Vous pouvez également ajouter un paramètre à une requête Union en procédant comme suit :

  1. Ouvrez la requête Union en mode SQL.
  2. Ajoutez une clause WHERE contenant les différents champs pour lesquels vous souhaitez demander un paramètre.Si une clause WHERE existe déjà, vérifiez que les champs pour lesquels vous souhaitez utiliser une invite de paramètre figurent dans cette clause. Si ce n’est pas le cas, ajoutez-les.
  3. Plutôt qu’un critère dans la clause WHERE, utilisez une invite de paramètre.

 

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

Vous pouvez également spécifier le type de données qu’un paramètre doit accepter. Vous pouvez spécifier le type de données de n’importe quel paramètre, mais il est particulièrement important de le spécifier pour les données de type numérique, devise ou date/heure. Lorsque vous spécifiez le type de données qu’un paramètre doit accepter, les utilisateurs obtiennent un message d’erreur plus utile dans l’hypothèse où ils entrent un type de données incorrect (par exemple, du texte alors qu’une devise était attendue).

Remarque : Si un paramètre est configuré pour accepter des données Texte, toute entrée est interprétée en tant que 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, procédez comme suit :

  1. Après avoir ouvert la requête en mode Création, sous l’onglet Création, 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 dont 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.

 

Créer un formulaire qui collecte des paramètres

Bien que les requêtes Paramètre intègrent une boîte de dialogue qui collecte des paramètres, leurs fonctionnalités sont limitées. L’utilisation d’un formulaire pour collecter des paramètres vous offre ce qui suit :

  • La possibilité d’utiliser des contrôles spécifiques au type de données, comme des contrôles de calendrier pour les dates.
  • La conservation des paramètres collectés pour vous permettre de les utiliser dans plusieurs requêtes.
  • La possibilité de proposer une zone de liste modifiable ou une zone de liste pour la collecte des paramètres afin de choisir dans une liste de valeurs de données disponibles.
  • La possibilité de proposer des contrôles pour d’autres fonctions, comme l’ouverture ou l’actualisation d’une requête.

La vidéo suivante vous montre comment créer un formulaire simple afin de collecter des paramètres pour une requête plutôt que d’utiliser des boîtes de dialogue normalement associées aux requêtes avec paramètres.

Créer un formulaire qui collecte des paramètres pour un rapport

Il existe plusieurs manières de procéder, mais nous vous présenterons une seule technique utilisant principalement des macros. Pour créer un formulaire qui collecte des paramètres pour un rapport, procédez comme suit.

 

Étape 1 : Créer un formulaire qui accepte la saisie d’informations

  1. Dans l’onglet Création, dans le groupe Formulaires, cliquez sur Création de formulaire.
  2. En mode Création, appuyez sur F4 pour afficher la feuille de propriétés, puis spécifiez les propriétés du formulaire, comme indiqué dans le tableau suivant.
    Propriété Définition
    Légende Entrez le nom que vous souhaitez voir apparaître dans la barre de titre du formulaire.
    Affichage par défaut Formulaire unique
    Autoriser le mode Formulaire Oui
    Autoriser le mode Feuille de données Non
    Autoriser le mode Tableau croisé dynamique Non
    Autoriser le mode Graphique croisé dynamique Non
    Barres de défilement Aucune
    Sélecteurs d’enregistrement Non
    Boutons de navigation Non
    Style de bordure Boîte de dialogue
  3. Pour chaque paramètre que vous souhaitez que le formulaire collecte, cliquez sur Zone de texte dans le groupe Contrôles de l’onglet Création.
  4. Définissez les propriétés des zones de texte, comme indiqué dans le tableau suivant.
    Propriété Définition
    Nom Entrez un nom qui décrit le paramètre, par exemple, DateDébut.
    Format Choisissez un format qui reflète le type de données du champ du paramètre. Par exemple, sélectionnez Date, général pour un champ de date.
  5. Enregistrez le formulaire et donnez-lui un nom, tel que frmCriteria.

 

Étape 2 : Créer un module de code pour vérifier si le formulaire de paramètre est déjà chargé

  1. Sous l’onglet Créer, dans le groupe Macros et code, cliquez sur Module.Un nouveau module s’ouvre dans Visual Basic Editor.
  2. Entrez ou collez le code suivant dans Visual Basic Editor :
    Function IsLoaded(ByVal strFormName As String) As Boolean
    Dim oAccessObject As AccessObject
    Set oAccessObject = CurrentProject.AllForms(strFormName)
    If oAccessObject.IsLoaded Then
      If oAccessObject.CurrentView <> acCurViewDesign Then
        IsLoaded = True
      End If
    End If
    End Function
    
  3. Enregistrez le module avec un nom unique, puis fermez Visual Basic Editor.

 

Étape 3 : Créer une macro qui contrôle le formulaire et le rapport

Les fonctionnalités de sous-macro des macros Access nous permettent de définir toutes les étapes nécessaires pour créer une macro unique. Nous allons créer quatre sous-macros (Boîte de dialogue Ouvrir, Boîte de dialogue Fermer, OK et Annuler) pour contrôler les différentes tâches requises dans le cadre de cette procédure. À l’aide de la capture d’écran ci-dessous, créez une nouvelle macro avec les actions et sous-macros suivantes. Pour cet exemple, notez que notre paramètre est appelé frmCriteria. Ajustez votre macro pour la faire correspondre au nom du formulaire créé précédemment. Assurez-vous également de cliquer sur Afficher toutes les actions sous l’onglet Création pour afficher toutes les actions de macro.

Capture d’écran d’une macro Access avec quatre sous-macros et actions.

Enregistrez et fermez la macro. Donnez un nom à la macro, par exemple, Macro plage de dates.

 

Étape 4 : Ajouter les boutons de commande OK et Annuler au formulaire

  1. Rouvrez le formulaire de paramètre créé précédemment dans le mode Création.
  2. Sous l’onglet Création, dans le groupe Contrôles, vérifiez que l’option Utiliser les Assistants Contrôle n’est pas sélectionnée.
  3. Sous l’onglet Création, dans le groupe Contrôles, cliquez sur Bouton.
  4. Positionnez le pointeur sous les zones de texte de votre formulaire, puis faites-le glisser pour créer un bouton de commande OK.
  5. Si la feuille de propriétés n’est pas visible, appuyez sur F4 pour l’afficher.
  6. Définissez les propriétés du bouton OK, comme indiqué dans le tableau suivant.
    Propriété Définition
    Nom OK
    Légende OK
    Par défaut Oui
    OnClick Entrez le nom de la macro, par exemple, Macro plage de dates.OK.
  7. Créez un bouton de commande Annuler et définissez ses propriétés, comme indiqué dans le tableau suivant.
    Propriété Définition
    Nom Annuler
    Légende Annuler
    OnClick Entrez le nom de la macro, par exemple, Macro plage de dates.Annuler.
  8. Enregistrez et fermez le formulaire.

 

Étape 5 : Utiliser les données du formulaire en tant que critères de requête

  1. Rouvrez la requête créée précédemment dans le mode Création.
  2. Entrez les critères des données. Utilisez l’objet Formulaires, le nom du formulaire et le nom de la contrôle :
    • Par exemple, dans une base de données Access (.accdb ou .mdb), pour un formulaire nommé frmCriteria, vous utilisez l’expression suivante pour faire référence aux contrôles Date de début et Date de fin dans la requête :Entre [Formulaires]![frmCriteria]![Date de début] et [Formulaires]![frmCriteria]![Date de fin]

 

Étape 6 : Ajouter les actions de macro aux événements de rapport

  1. Ouvrez le rapport que vous souhaitez utiliser dans le mode Création.
  2. Si la feuille de propriétés n’est pas visible, appuyez sur F4 pour l’afficher.
  3. Vérifiez que la propriété Source d’enregistrement du rapport utilise la requête Paramètre définie précédemment.
  4. Définissez ces deux propriétés de rapport supplémentaires, comme indiqué dans le tableau suivant.
    Propriété Définition
    OnOpen Entrez le nom de la macro, par exemple, Macro plage de dates.Boîte de dialogue Ouvrir.
    OnClose Entrez le nom de la macro, par exemple, Macro plage de dates.Boîte de dialogue Fermer.

    Dans l’événement Ouvrir du rapport, Access exécute les actions définies dans la sous-macro de boîte de dialogue Ouvrir de l’objet Macro plage de dates. De même, lorsque vous fermez le rapport, Access exécute les actions définies dans la sous-macro de boîte de dialogue Fermer de l’objet Macro plage de dates.

  5. Enregistrez et fermez le rapport.

 

Étape 7 : Exercices pratiques

Une fois tous les objets Access créés, faites quelques essais. Ouvrez votre rapport dans Mode État ou Aperçu avant impression et notez qu’avant qu’Access n’affiche le rapport, votre formulaire de paramètre s’ouvre dans la boîte de dialogue. Entrez les critères requis dans les zones de texte que vous avez précédemment créées, puis dans le formulaire, cliquez sur le bouton de commande OK. Access masque alors le formulaire (Visible = Non) et ouvre le rapport avec uniquement les données correspondant à vos critères. Une telle opération est possible car la requête Paramètre sur laquelle repose le rapport peut lire les valeurs dans les contrôles du formulaire masqué. Lorsque vous fermez le rapport, Access ferme également le formulaire de paramètre.