Procédure pas à pas : liaison de données complexe dans un projet au niveau du document
Cette procédure pas à pas présente les notions de base relatives à la liaison de données complexe dans un projet au niveau du document.Vous pouvez lier plusieurs cellules dans une feuille de calcul Microsoft Office Excel aux champs de la base de données SQL Server Northwind.
S'applique à : Les informations contenues dans cette rubrique s'appliquent aux projets de niveau document pour Excel 2013 et Excel 2010. Pour en savoir plus, consultez Fonctionnalités disponibles par type d'application et de projet Office.
Cette procédure pas à pas décrit les tâches suivantes :
Ajout d'une source de données à votre projet de classeur.
Ajout de contrôles liés aux données à une feuille de calcul.
Enregistrement des modifications de données dans la base de données.
[!REMARQUE]
Il est possible que votre ordinateur affiche des noms ou des emplacements différents pour certains des éléments d'interface utilisateur de Visual Studio dans les instructions suivantes. L'édition de Visual Studio dont vous disposez et les paramètres que vous utilisez déterminent ces éléments. Pour plus d'informations, consultez Paramètres Visual Studio.
Composants requis
Pour exécuter cette procédure pas à pas, vous devez disposer des composants suivants :
-
Une édition de Visual Studio 2012 qui inclut les outils de développement Microsoft Office. Pour plus d'informations, consultez [Configuration d'un ordinateur pour développer des solutions Office](bb398242\(v=vs.110\).md).
Excel 2013 ou Excel 2010.
Accès à un serveur sur lequel est installé l'exemple de base de données SQL Server Northwind.
Autorisations d'accès en lecture et écriture à la base de données SQL Server
Création d'un projet
La première étape consiste à créer un projet de classeur Excel.
Pour créer un projet
Créez un projet de classeur Excel et attribuez-lui le nom My Complex Data Binding.Dans l'Assistant, sélectionnez Créer un nouveau document.
Pour plus d'informations, consultez Comment : créer des projets Office dans Visual Studio.
Visual Studio ouvre le nouveau classeur Excel dans le concepteur et ajoute le projet My Complex Data Binding à l'Explorateur de solutions.
Création de la source de données
Utilisez la fenêtre Sources de données pour ajouter un groupe de données typé à votre projet.
Pour créer la source de données
Si la fenêtre Sources de données n'est pas visible, affichez- la par, dans la barre de menus, choisissant Afficher, Autres fenêtres, Sources de données.
Choisissez Ajouter une nouvelle source de données pour démarrer Assistant Configuration de source de données.
Sélectionnez Base de données, puis cliquez sur Suivant.
Sélectionnez une connexion de données pour l'exemple de base de données Northwind dans SQL Server ou ajoutez une nouvelle connexion à l'aide du bouton Nouvelle connexion.
Après avoir sélectionné ou créé une connexion, cliquez sur Suivant.
Désélectionnez l'option pour enregistrer la connexion si elle est sélectionnée, puis cliquez sur Suivant.
Développez le nœud Tables dans la fenêtre Objets de base de données.
Activez la case à cocher située à côté de la table Employees.
Cliquez sur Terminer.
L'Assistant ajoute la table Employees à la fenêtre Sources de données.Un groupe de données typé est également ajouté à votre projet, visible dans l'Explorateur de solutions.
Ajout de contrôles à la feuille de calcul
Une feuille de calcul affichera la table Employees lorsque le classeur sera ouvert.Les utilisateurs pourront apporter des modifications aux données et les enregistrer dans la base de données en cliquant sur un bouton.
Pour lier automatiquement la feuille de calcul à la table, vous pouvez ajouter un contrôle ListObject à la feuille de calcul à partir de la fenêtre Sources de données.Pour permettre à l'utilisateur d'enregistrer des modifications, ajoutez un contrôle Button à partir de la Boîte à outils.
Pour ajouter un objet de liste
Vérifiez que le classeur Mes données complexes Binding.xlsx est ouvert dans le concepteur Visual Studio, avec Feuille1 a affiché.
Ouvrez la fenêtre Sources de données et sélectionnez le nœud Employees.
Cliquez sur la flèche de déroulement qui apparaît.
Sélectionnez ListObject dans la liste déroulante.
Faites glisser la table Employees vers la cellule A6.
Un contrôle ListObject nommé EmployeesListObject est créé dans cellule A6.En même temps, un BindingSource nommé EmployeesBindingSource, un adaptateur de table et une instance de DataSet sont ajoutés au projet.Le contrôle est lié à BindingSource, qui est lié à son tour à l'instance de DataSet.
Pour ajouter un bouton
- À partir de l'onglet Contrôles communs de la Boîte à outils, ajoutez un contrôle Button à la cellule A4 de la feuille de calcul.
L'étape suivante consiste à ajouter du texte au bouton lorsque la feuille de calcul s'affiche.
Initialisation du contrôle
Ajoutez du texte au bouton dans le gestionnaire d'événements Startup.
Pour initialiser le contrôle
Dans l'Explorateur de solutions, cliquez avec le bouton droit sur Sheet1.vb ou Sheet1.cs, puis cliquez sur Afficher le code dans le menu contextuel.
Ajoutez le code suivant à la méthode Sheet1_Startup pour définir le texte du button.
Me.Button1.Text = "Save"
this.button1.Text = "Save";
Pour C# uniquement, ajoutez un gestionnaire d'événements pour l'événement Click à la méthode Sheet1_Startup.
this.button1.Click += new EventHandler(button1_Click);
Ajoutez maintenant le code pour gérer l'événement Click du bouton.
Enregistrement des modifications apportées à la base de données
Toutes les modifications apportées aux données existent uniquement dans le groupe de données local jusqu'à ce qu'elles soient de nouveau enregistrées explicitement dans la base de données.
Pour enregistrer les modifications apportées à la base de données
Ajoutez un gestionnaire d'événements pour l'événement Click du button, puis ajoutez le code suivant pour valider dans la base de données toutes les modifications qui ont été apportées au groupe de données :
Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) _ Handles Button1.Click Try Me.EmployeesTableAdapter.Update(Me.NorthwindDataSet.Employees) Catch ex As System.Data.DataException MessageBox.Show(ex.Message) End Try End Sub
private void button1_Click(object sender, EventArgs e) { try { this.employeesTableAdapter.Update(this.northwindDataSet.Employees); } catch (System.Data.DataException ex) { MessageBox.Show(ex.Message); } }
Test de l'application
Vous pouvez maintenant tester votre classeur pour vérifier que les données s'affichent correctement et que vous pouvez les manipuler dans l'objet de liste.
Pour tester la liaison de données
Appuyez sur F5.
Vérifiez que lorsque le classeur s'ouvre, l'objet de liste contient les données de la table Employees.
Pour modifier des données
Cliquez sur la cellule B7 qui doit contenir le nom Davolio.
Tapez le nom Anderson, puis appuyez sur ENTRÉE.
Pour modifier un en-tête de colonne
Cliquez sur la cellule qui contient l'en-tête de colonne LastName.
Tapez Last Name, sans oublier l'espace entre les deux mots, puis appuyez sur ENTRÉE.
Pour enregistrer des données
Cliquez sur Enregistrer dans la feuille de calcul.
Quittez Excel.Cliquez sur Non à l'invite proposant d'enregistrer les modifications effectuées.
Appuyez sur F5 pour exécuter de nouveau le projet.
L'objet de liste contient les données de la table Employees.
Notez que le nom dans la cellule B7 est encore Anderson ; il correspond à la modification de données que vous avez effectuée et enregistrée dans la base de données.L'en-tête de colonne LastName est revenu à sa forme d'origine sans espace, parce que l'en-tête de colonne n'est pas lié à la base de données et que vous n'avez pas enregistré les modifications apportées à la feuille de calcul.
Pour ajouter de nouvelles lignes
Sélectionnez une cellule à l'intérieur de l'objet de liste.
Une nouvelle ligne apparaît au bas de la liste, avec un astérisque (*) dans la première cellule de la nouvelle ligne.
Ajoutez les informations suivantes dans la ligne vide.
ID Employé
LastName
FirstName
Titre
10
Ito
Shu
Directeur commercial
Pour supprimer des lignes
- Cliquez avec le bouton droit sur le nombre 16 (ligne 16) sur l'extrême gauche de la feuille de calcul, puis cliquez sur Supprimer.
Pour trier les lignes dans la liste
Sélectionnez une cellule à l'intérieur de la liste.
Les boutons fléchés apparaissent dans chaque en-tête de colonne.
Cliquez sur le bouton fléché dans l'en-tête de colonne Last Name.
Cliquez sur Tri croissant.
Les lignes sont triées par ordre alphabétique des noms.
Pour filtrer des informations
Sélectionnez une cellule à l'intérieur de la liste.
Cliquez sur le bouton fléché dans l'en-tête de colonne Title.
Cliquez sur Sales Representative.
La liste affiche uniquement les lignes contenant Sales Representative dans la colonne Title.
Cliquez de nouveau sur le bouton fléché dans l'en-tête de colonne Title.
Cliquez sur (Tous).
Le filtrage est désactivé et toutes les lignes apparaissent.
Étapes suivantes
Cette procédure pas à pas présente les notions de base de la liaison d'une table dans une base de données à un objet de liste.Vous devrez peut-être ensuite exécuter les opérations suivantes :
Mettre en cache les données afin qu'elles puissent être utilisées hors connexion.Pour plus d'informations, consultez Comment : mettre en cache des données pour une utilisation hors connexion ou sur un serveur.
Déployer la solution.Pour plus d'informations, consultez Déploiement d'une solution Office.
Créer une relation maître/détails entre un champ et une table.Pour plus d'informations, consultez Procédure pas à pas : création d'une relation maître/détail à l'aide d'un groupe de données mis en cache.
Voir aussi
Tâches
Procédure pas à pas : liaison de données simple dans un projet au niveau du document