Dans un formulaire InfoPath, vous pouvez remplir une zone de liste, une zone de liste déroulante ou une zone de liste déroulante avec les données d’une connexion de données de requête à une base de données Microsoft Office Access 2007 (format .accdb) ou une base de données Access enregistrée dans une version antérieure (format .mdb).
Contenu de cet article
- Présentation
- Considérations en matière de compatibilité
- Avant de commencer
- Étape 1 : Ajouter une connexion de données de requête
- Étape 2 : Configurer le contrôle
- Facultatif : définir un filtre pour limiter les éléments du contrôle
Vue d’ensemble
Une zone de liste, une zone de liste déroulante ou une zone de liste déroulante affiche les éléments que les utilisateurs peuvent sélectionner lorsqu’ils remplissent un formulaire InfoPath. Lorsque vous concevez un modèle de formulaire, vous pouvez configurer ces types de contrôles pour afficher les données d’une connexion de données secondaire à une base de données Access.
Une connexion de données secondaire est toute connexion de données à une source de données externe que vous ajoutez à un modèle de formulaire. Vous pouvez configurer des connexions de données secondaires pour récupérer les données dont vos utilisateurs ont besoin pour remplir des formulaires basés sur votre modèle de formulaire ou pour envoyer des données de formulaire à une source de données externe, telle qu’un service Web.
Lorsque vous ajoutez une connexion de données secondaire qui interroge des données dans votre modèle de formulaire, InfoPath crée une source de données secondaire qui contient des champs de données et des groupes qui correspondent à la façon dont les données sont stockées dans la base de données. La connexion de données de requête récupère les données du service Web, puis stocke ces données dans la source de données secondaire du formulaire.
Vous pouvez configurer la connexion de données secondaire pour enregistrer les résultats de la requête sur les ordinateurs de vos utilisateurs afin que ces utilisateurs aient accès aux données même lorsque leurs ordinateurs ne sont pas connectés à un réseau. Selon la nature des données, vous pouvez afficher les résultats de la requête uniquement lorsque les utilisateurs sont connectés à un réseau.
Remarque
Si vous utilisez une connexion de données secondaire pour récupérer des données sensibles à partir d’une source de données externe, vous pouvez désactiver cette fonctionnalité pour protéger les données contre toute utilisation non autorisée en cas de perte ou de vol de l’ordinateur. Si vous désactivez cette fonctionnalité, les données ne seront disponibles que si l’utilisateur est connecté au réseau.
Si vous souhaitez limiter le nombre d’éléments dans un contrôle de zone de liste, vous pouvez utiliser un filtre. Utilisez un filtre chaque fois que vous avez besoin d’afficher un sous-ensemble des données retournées par une requête basée sur des critères sélectionnés par un utilisateur. Ce critère peut être un élément sélectionné dans un autre contrôle (tel qu’une zone de liste, une zone de liste déroulante, une zone de liste déroulante ou une zone de texte) lié à un champ dans la source de données.
Étant donné que la structure des données dans la source de données secondaire doit correspondre à la façon dont les données sont stockées dans la base de données, vous ne pouvez pas modifier les champs ou groupes existants dans la source de données secondaire. Vous trouverez des liens vers plus d’informations sur les connexions de données et les sources de données dans la section Voir aussi de cet article.
Haut de la page
Considérations en matière de compatibilité
Vous pouvez ajouter une connexion de données de requête à une base de données Access uniquement si vous concevez un modèle de formulaire qui n’est pas un modèle de formulaire compatible avec le navigateur.
Haut de la page
Avant de commencer
Avant de pouvoir utiliser les valeurs d’une base de données Access pour remplir un contrôle sur votre modèle de formulaire, vous avez besoin des informations suivantes de votre administrateur de base de données :
Nom et emplacement de la base de données.
Remarque
Si d’autres utilisateurs du réseau créent des formulaires basés sur ce modèle de formulaire, assurez-vous que votre base de données est accessible à ces utilisateurs.
Nom de la table ou de la requête qui fournit les valeurs des contrôles. Vous utiliserez cette table ou requête comme table principale lorsque vous configurez la connexion de données de requête.
Les noms des autres tables ou requêtes à partir desquelles la table ou la requête principale peut nécessiter des données. Dans la plupart des cas, les relations de table sont déjà établies dans la base de données. Si vous devez établir manuellement les relations entre la table ou la requête principale et une autre table ou requête, vous aurez besoin des noms de champs associés des tables ou des requêtes.
Haut de la page
Étape 1 : Ajouter une connexion de données de requête
Si vous n’avez pas de connexion de données de requête existante que vous pouvez utiliser dans votre modèle de formulaire, utilisez la procédure suivante pour ajouter une connexion de données secondaire qui interroge les données dans votre modèle de formulaire. Si votre modèle de formulaire dispose déjà d’une connexion de données secondaire que vous pouvez utiliser, vous pouvez ignorer cette section et passer à l’Étape 2 : Configurer le contrôle.
Dans le menu Outils , cliquez sur Connexions de données.
Dans la boîte de dialogue Connexions de données , cliquez sur Ajouter.
Dans l’Assistant Connexion de données, cliquez sur Créer une connexion à, sur Recevoir des données, puis sur Suivant.
Dans la page suivante de l’Assistant, cliquez sur Base de données (Microsoft SQL Server ou Microsoft Office Access uniquement), puis cliquez sur Suivant.
Dans la page suivante de l’Assistant, cliquez sur Sélectionner une base de données.
Dans la boîte de dialogue Sélectionner une source de données , accédez à l’emplacement de votre base de données.
Remarque
Si votre base de données est stockée dans un emplacement réseau, accédez au chemin d’accès UNC (Universal Naming Convention) de l’emplacement. N’accédez pas à l’emplacement réseau via un lecteur réseau mappé. Si vous utilisez un lecteur réseau mappé (autrement dit, en affectant une lettre à un lecteur réseau, tel que H : ou Z :), les formulaires créés par les utilisateurs et basés sur ce modèle de formulaire recherchent la base de données sur ce lecteur réseau mappé spécifique. Si le lecteur réseau de l’utilisateur n’est pas mappé exactement de la même façon, le formulaire ne trouve pas la base de données.
Cliquez sur le nom de votre base de données, puis sur Ouvrir.
Dans la boîte de dialogue Sélectionner une table , cliquez sur la table ou la requête principale que vous souhaitez utiliser, puis cliquez sur OK.
Dans la page suivante de l’Assistant, sélectionnez la zone Afficher les colonnes de la table case activée.
Par défaut, tous les champs de la table ou de la requête sont ajoutés à la source de données principale du modèle de formulaire.Désactivez les zones case activée pour les champs que vous ne souhaitez pas inclure dans la source de données principale.
Ajoutez toutes les tables ou requêtes supplémentaires que vous souhaitez inclure dans la connexion de données de requête.
Comment?- Cliquez sur Ajouter une table.
- Dans la boîte de dialogue Ajouter une table ou une requête , cliquez sur le nom de la table enfant, puis sur Suivant. InfoPath tente de définir les relations en faisant correspondre des noms de champs dans les deux tables. Si vous ne souhaitez pas utiliser la relation suggérée, sélectionnez la relation, puis cliquez sur Supprimer la relation. Pour ajouter une relation, cliquez sur Ajouter une relation. Dans la boîte de dialogue Ajouter une relation , cliquez sur le nom de chaque champ associé dans la colonne correspondante, puis cliquez sur OK.
- Cliquez sur Terminer.
- Pour ajouter des tables enfants supplémentaires, répétez ces étapes.
Cliquez sur Suivant.
Pour rendre les résultats de la connexion de données de requête disponibles lorsque le formulaire n’est pas connecté à un réseau, sélectionnez la zone Stocker une copie des données dans le modèle de formulaire case activée.
Remarque
La sélection de cette zone de case activée stocke les données sur l’ordinateur de l’utilisateur lorsque le formulaire utilise cette connexion de données. Si le formulaire récupère des données sensibles à partir de cette connexion de données, vous pouvez désactiver cette fonctionnalité pour protéger les données en cas de perte ou de vol de l’ordinateur ou d’un accès par un utilisateur non autorisé.
Cliquez sur Suivant.
Dans la page suivante de l’Assistant, tapez un nom descriptif pour cette connexion de données secondaire, puis vérifiez que les informations de la section Résumé sont correctes.
Pour configurer le formulaire afin qu’il reçoive automatiquement des données lorsqu’il s’ouvre, sélectionnez la zone Récupérer automatiquement les données lors de l’ouverture du formulaire case activée.
Haut de la page
Étape 2 : Configurer le contrôle
Si le modèle de formulaire comporte plusieurs affichages, cliquez sur Nom de l’affichage dans le menu Affichage pour accéder à l’affichage avec le contrôle dans lequel vous souhaitez afficher les données de la source de données secondaire.
Double-cliquez sur la zone de liste, la zone de liste déroulante ou le contrôle de zone de liste déroulante sur votre modèle de formulaire que vous souhaitez configurer.
Cliquez sur l’onglet Données.
Sous Entrées de zone de liste, cliquez sur Rechercher des valeurs à partir d’une source de données externe.
Dans la liste Source de données, cliquez sur la source de données que vous souhaitez utiliser.
Cliquez sur Sélectionner XPath
, en regard de la zone Entrées .Dans la boîte de dialogue Sélectionner un champ ou un groupe , spécifiez le champ ou le groupe dont les champs contiennent les données qui seront affichées à l’utilisateur et les données qui seront envoyées à la source de données externe en effectuant l’une des opérations suivantes.
Spécifiez que les données que l’utilisateur verra sont les mêmes que celles qu’il soumettra.- Cliquez sur un champ, puis sur OK.
Spécifier que les données que l’utilisateur verra sont différentes des données que l’utilisateur soumettra
Remarque
Dans ce scénario, les données que l’utilisateur verra proviennent de l’un des champs du groupe, et les données que l’utilisateur soumettront sont contenues dans un autre champ du même groupe.
- Cliquez sur un groupe, puis sur OK.
- Dans la boîte de dialogue Propriétés du contrôle , cliquez sur Sélectionner XPath
, en regard de la zone Valeur . - Dans la boîte de dialogue Sélectionner un champ ou un groupe , cliquez sur un champ qui contient les données que l’utilisateur soumettra à la source de données externe, puis cliquez sur OK.
- Dans la boîte de dialogue Propriétés du contrôle , cliquez sur Sélectionner XPath
, en regard de la zone Nom d’affichage . - Dans la boîte de dialogue Sélectionner un champ ou un groupe , cliquez sur un champ qui contient les données qui apparaîtront dans le contrôle, puis cliquez sur OK.
Si le champ dans la zone Nom d’affichage contient des valeurs avec des noms complets similaires et que vous souhaitez afficher uniquement des noms uniques, sélectionnez la zone Afficher uniquement les entrées avec des noms d’affichage uniques case activée.
Haut de la page
Haut de la page
Facultatif : définir un filtre pour limiter les éléments du contrôle
Double-cliquez sur la zone de liste, la zone de liste déroulante ou le contrôle de zone de liste déroulante sur votre modèle de formulaire que vous souhaitez configurer.
Cliquez sur l’onglet Données.
Cliquez sur Sélectionner XPath
en regard de la zone Entrées .Dans la boîte de dialogue Sélectionner un champ ou un groupe , cliquez sur le champ ou le groupe qui contient les champs qui fournissent les valeurs du contrôle, puis cliquez sur Filtrer les données.
Dans la boîte de dialogue Filtrer les données , cliquez sur Ajouter.
Remarque
Si vous souhaitez ajouter une condition à un filtre existant, cliquez sur le filtre à appliquer, puis sur Modifier.
Dans la première zone de la boîte de dialogue Spécifier les conditions de filtre , cliquez sur le nom du champ dont vous souhaitez filtrer les données.
Dans la deuxième zone, cliquez sur le type de filtre que vous souhaitez utiliser.
Dans la troisième zone, cliquez sur le type de condition que vous souhaitez appliquer au filtre, puis tapez la condition.
Pour configurer plusieurs conditions pour le filtre, cliquez sur Et, puis effectuez l’une des opérations suivantes :
- Pour appliquer la condition existante et la nouvelle condition à votre filtre, cliquez sur et, puis ajoutez votre nouvelle condition.
- Pour appliquer la condition existante ou la nouvelle condition à votre filtre, cliquez sur ou, puis ajoutez la condition supplémentaire.
Cliquez sur OK pour fermer les boîtes de dialogue.
Pour tester vos modifications, cliquez sur Aperçu dans la barre d’outils Standard, ou appuyez sur Ctrl+Maj+B.
Le modèle de formulaire s’ouvre dans une nouvelle fenêtre.Dans la fenêtre d’aperçu, sélectionnez différentes valeurs dans le contrôle de filtre pour vérifier que le filtre fonctionne correctement.
Le filtre ne fonctionne pas correctement
Si les valeurs du contrôle qui contient un filtre ne sont pas correctes, soit parce qu’il y a trop de valeurs, soit parce qu’il n’y a pas assez de valeurs, essayez les opérations suivantes :- Si vous utilisez plusieurs conditions dans votre filtre, supprimez toutes les conditions sauf une afin de case activée que les valeurs correctes sont retournées à partir de cette condition unique. Si la première condition retourne les valeurs correctes, ajoutez une autre condition et testez-la.
- Les filtres font une distinction entre les caractères majuscules et minuscules. Si vous souhaitez afficher des données commençant par un caractère majuscule ou minuscule, créez un filtre avec une condition de lettres majuscules, sélectionnez ou dans la boîte de dialogue Spécifier la condition de filtre, puis créez une condition de lettre minuscule.
- Si les valeurs filtrées sont exactement opposées à ce que vous attendez, par exemple les produits de tous les fournisseurs affichés au lieu des produits d’un seul fournisseur, modifiez le type de filtre dans la condition. Par exemple, si votre condition utilise le type de filtre est égal à et que vous obtenez trop de produits, essayez d’utiliser le type de filtre n’est pas égal à.
Haut de la page