Share via


Procédure pas à pas : liaison de données complexe dans un projet au niveau du document

Mise à jour : novembre 2007

S'applique à

Les informations de cette rubrique s'appliquent uniquement aux projets Visual Studio Tools pour Office et aux versions de Microsoft Office spécifiés.

Type de projet

  • Projets au niveau du document

Version de Microsoft Office

  • Excel 2007

  • Excel 2003

Pour plus d'informations, consultez Fonctionnalités disponibles par type d'application et de projet.

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.

Cette procédure pas à pas illustre 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 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

Vous avez besoin des composants suivants pour exécuter cette procédure pas à pas :

  • Visual Studio Tools pour Office (composant facultatif de Visual Studio 2008 Professional et Visual Studio Team System).

  • Microsoft Office Excel 2003 ou 2007.

  • 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 Visual Studio Tools pour Office.

    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

  1. Si la fenêtre Sources de données n'est pas visible, cliquez sur Afficher les sources de données dans le menu Données.

    Remarque :

    Si Afficher les sources de données n'est pas disponible, cliquez à l'intérieur du classeur Excel, puis vérifiez une nouvelle fois.

  2. Cliquez sur Ajouter une nouvelle source de données pour démarrer l'Assistant Configuration de source de données.

  3. Sélectionnez Base de données, puis cliquez sur Suivant.

  4. 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.

  5. Après avoir sélectionné ou créé une connexion, cliquez sur Suivant.

  6. Désélectionnez l'option pour enregistrer la connexion si elle est sélectionnée, puis cliquez sur Suivant.

  7. Développez le nœud Tables dans la fenêtre Objets de base de données.

  8. Activez la case à cocher située à côté de la table Employees.

  9. 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

  1. Vérifiez que le classeur My Complex Data Binding.xls est ouvert dans le concepteur Visual Studio et que Sheet1 est affiché.

  2. Ouvrez la fenêtre Sources de données et sélectionnez le nœud Employees.

  3. Cliquez sur la flèche de déroulement qui apparaît.

  4. Sélectionnez ListObject dans la liste déroulante.

  5. 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

  1. 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.

  2. Ajoutez le code suivant à la méthode Sheet1_Startup pour définir le texte du button.

    Me.Button1.Text = "Save"
    
    this.button1.Text = "Save";
    
  3. 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

  1. Cliquez sur la cellule B7 qui doit contenir le nom Davolio.

  2. Tapez le nom Anderson, puis appuyez sur ENTRÉE.

Pour modifier un en-tête de colonne

  1. Cliquez sur la cellule qui contient l'en-tête de colonne LastName.

  2. Tapez Last Name, sans oublier l'espace entre les deux mots, puis appuyez sur ENTRÉE.

Pour enregistrer des données

  1. Cliquez sur Enregistrer dans la feuille de calcul.

  2. Quittez Excel. Cliquez sur Non à l'invite proposant d'enregistrer les modifications effectuées.

  3. Appuyez sur F5 pour exécuter de nouveau le projet.

    L'objet de liste contient les données de la table Employees.

  4. Notez que le nom dans 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

  1. 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.

  2. Ajoutez les informations suivantes dans la ligne vide.

    ID Employé

    Nom

    Prénom

    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

  1. Sélectionnez une cellule à l'intérieur de la liste.

    Les boutons fléchés apparaissent dans chaque en-tête de colonne.

  2. Cliquez sur le bouton fléché dans l'en-tête de colonne Last Name.

  3. Cliquez sur Tri croissant.

    Les lignes sont triées par ordre alphabétique des noms.

Pour filtrer des informations

  1. Sélectionnez une cellule à l'intérieur de la liste.

  2. Cliquez sur le bouton fléché dans l'en-tête de colonne Title.

  3. Cliquez sur Sales Representative.

    La liste affiche uniquement les lignes contenant Sales Representative dans la colonne Title.

  4. Cliquez de nouveau sur le bouton fléché dans l'en-tête de colonne Title.

  5. 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 :

Voir aussi

Tâches

Procédure pas à pas : liaison de données simple dans un projet au niveau du document

Concepts

Liaison de données aux contrôles

Autres ressources

Données dans les solutions Office