Procédure pas à pas : création d'une table de correspondance
Mise à jour : novembre 2007
Une table de correspondance est utilisée pour afficher les informations provenant d'une table selon la valeur d'un champ clé étrangère dans une autre table. Prenons l'exemple d'une table Orders dans une base de données des ventes. Chaque enregistrement contenu dans la table Orders comprend un CustomerID qui indique le client qui a passé la commande. Ce CustomerID est une clé étrangère qui désigne un enregistrement de client dans la table Customers. Lors de la présentation d'une liste de commandes (à partir de la table Orders), vous pouvez afficher le nom réel des clients plutôt que le CustomerID. Étant donné que le nom des clients se trouve dans la table Customers et que vous présentez des données provenant de la table Orders, vous devez créer une table de correspondance qui importe la valeur CustomerID dans l'enregistrement Orders et utilise cette valeur pour parcourir la relation et retourner le nom de client plus lisible. Ce concept est connu sous le nom de table de correspondance.
Cette procédure pas à pas illustre les tâches suivantes :
Création d'un nouveau projet Application Windows.
Création et configuration d'un groupe de données avec l'Assistant Configuration de source de données.
Sélectionnez le contrôle à créer sur le formulaire lors du déplacement d'éléments à partir de la fenêtre Sources de données. Pour plus d'informations, consultez Comment : définir le contrôle à créer lors d'une opération de glisser-déplacer à partir de la fenêtre Sources de données.
Création de contrôles liés aux données en faisant glisser des éléments depuis la fenêtre Sources de données jusqu'à un formulaire.
Installation d'une table de recherche en faisant glisser une table connexe jusqu'à un contrôle lié par l'intermédiaire d'une relation de clé étrangère.
Composants requis
Pour exécuter cette procédure pas à pas, vous devez utiliser :
- avoir accès à l'exemple de base de données Northwind. Pour plus d'informations, consultez Comment : installer des exemples de bases de données.
Création d'une nouvelle application Windows
Pour créer le nouveau projet Application Windows
Dans le menu Fichier, créez un nouveau projet.
Nommez le projet LookupTableWalkthrough.
Sélectionnez Application Windows, puis cliquez sur OK. Pour plus d'informations, consultez Création d'applications Windows.
Le projet LookupTableWalkthrough est créé et ajouté à l'Explorateur de solutions.
Création d'une nouvelle source de données
Pour créer la source de données
Dans le menu Données, cliquez sur Afficher les sources de données.
Dans la fenêtre Sources de données, sélectionnez Ajouter une nouvelle source de données pour démarrer l'Assistant Configuration de source de données.
Sélectionnez Base de données dans la page Choisir un type de source de données, puis cliquez sur Suivant.
Dans la page Choisir votre connexion de données, effectuez l'une des opérations suivantes :
Si une connexion de données à l'exemple de base de données Northwind est disponible dans la liste déroulante, sélectionnez-la.
- ou -
Sélectionnez Nouvelle connexion pour afficher la boîte de dialogue Ajouter/Modifier la connexion. Pour plus d'informations, consultez Ajouter/Modifier une connexion, boîte de dialogue (Général).
Si votre base de données requiert un mot de passe, sélectionnez l'option pour inclure les données sensibles, puis cliquez sur Suivant.
Cliquez sur Suivant dans la page Enregistrer la chaîne de connexion dans le fichier de configuration de l'application.
Développez le nœud Tables dans la page Choisir vos objets de base de données.
Sélectionnez les tables Customers et Orders, puis cliquez sur Terminer.
NorthwindDataSet est ajouté à votre projet et les deux tables s'affichent dans la fenêtre Sources de données.
Création de contrôles liés aux données sur le formulaire
Pour créer des contrôles liés aux données sur le formulaire
Développez le nœud Customers dans la fenêtre Sources de données.
Remplacez le type de déplacement de la table Orders connexe par Détails en sélectionnant Détails dans la liste de contrôles du nœud Orders. Pour plus d'informations, consultez Comment : définir le contrôle à créer lors d'une opération de glisser-déplacer à partir de la fenêtre Sources de données.
Développez le nœud Orders connexe et remplacez le type de déplacement de la colonne CustomerID par une zone de liste déroulante en sélectionnant ComboBox dans la liste déroulante du nœud CustomerID.
Faites glisser le nœud Orders connexe depuis la fenêtre Sources de données jusqu'à Form1.
Les contrôles liés aux données avec des étiquettes descriptives s'affichent sur le formulaire, ainsi qu'une barre d'outils (BindingNavigator) pour naviguer au sein des enregistrements. Un NorthwindDataSet, un CustomersTableAdapter, un BindingSource et un BindingNavigator apparaissent dans la barre d'état des composants.
Création de la table de correspondance
Vous devez établir la table de correspondance en définissant des propriétés dans la zone de liste déroulante CustomerID :
Pour créer la fonctionnalité de table de correspondance sur le formulaire
Faites glisser directement le nœud Customers principal depuis la fenêtre Sources de données jusqu'à la zone de liste déroulante CustomerID de Form1.
Remarque : Le tableau suivant est fourni à titre de référence uniquement ; les propriétés sont définies automatiquement au cours de la procédure de déplacement décrite ci-dessus. Le concepteur définit les propriétés suivantes comme décrit dans la section « Explication de la définition » ci-dessous. Selon les structures de votre table, il se peut que vous deviez ajuster les propriétés pour que la table de correspondance fonctionne correctement.
Propriété
Explication de la définition
DataSource
Visual Studio affecte à cette propriété la valeur BindingSource créée pour la table que vous faites glisser jusqu'au contrôle (et non la valeur BindingSource créée lors de la génération du contrôle).
Si vous devez faire un réglage, affectez comme valeur à cette propriété le BindingSource de la table avec la colonne que vous souhaitez afficher. (CustomersBindingSource pour cette procédure pas à pas.)
DisplayMember
Visual Studio affecte à cette propriété la valeur de la première colonne après la clé primaire qui possède un type de données string pour la table que vous faites glisser jusqu'au contrôle.
Si vous devez faire un réglage, affectez à cette propriété le nom de la colonne que vous souhaitez afficher.
ValueMember
Visual Studio affecte à cette propriété la valeur de la première colonne participant à la clé primaire, ou la première colonne de la table si aucune clé n'est définie.
Si vous devez faire un réglage, affectez comme valeur à cette propriété la clé primaire de la table avec la colonne que vous souhaitez afficher.
SelectedValue
Visual Studio affecte comme valeur à cette propriété la colonne d'origine déplacée depuis la fenêtre Sources de données.
Si vous devez faire un réglage, affectez comme valeur à cette propriété la colonne de clé étrangère contenue dans la table connexe. (CustomerID dans la table Orders pour cette procédure pas à pas.)
Exécution de l'application
Pour exécuter l'application
Appuyez sur F5.
Parcourez les commandes et vérifiez que la zone de liste déroulante CustomerID affiche le CompanyName de chaque commande de la table Customers (et non la colonne CustomerID de la table Orders).
Étapes suivantes
Selon les exigences de votre application, vous pouvez exécuter différentes étapes après la création d'un formulaire lié aux données. Vous pouvez apporter à cette procédure pas à pas les améliorations suivantes :
Ajouter la fonctionnalité de recherche au formulaire. Pour plus d'informations, consultez Comment : ajouter une requête paramétrée à un formulaire dans une application Windows.
Ajouter la fonctionnalité permettant de renvoyer les mises à jour à la base de données. Pour plus d'informations, consultez Procédure pas à pas : enregistrement de données dans une base de données (table unique).
Ajouter la table Orders au groupe de données en sélectionnant Configurer le DataSet à l'aide de l'Assistant dans la fenêtre Sources de données. Ensuite, vous pouvez ajouter des contrôles qui affichent les données connexes en faisant glisser le nœud Orders connexe (situé sous la colonne Fax de la table Customers) jusqu'au formulaire. Pour plus d'informations, consultez Comment : afficher des données liées dans une application Windows.
Voir aussi
Concepts
Vue d'ensemble de l'affichage des données
Vue d'ensemble des sources de données
Vue d'ensemble de TableAdapter
Autres ressources
Procédures pas à pas relatives aux données
Connexion aux données dans Visual Studio
Préparation de votre application pour recevoir des données
Extraction de données dans votre application
Affichage des données sur des formulaires dans les applications Windows