Procédure pas à pas : création d'une relation maître/détail à l'aide d'un groupe de données mis en cache
Cette procédure pas à pas montre la création d'une relation maître/détail dans une feuille de calcul et la mise en cache des données afin que la solution puisse être utilisée hors connexion.
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.
Au cours de cette procédure pas à pas, vous apprendrez à :
ajouter des contrôles à une feuille de calcul ;
configurer un groupe de données à mettre en cache dans une feuille de calcul ;
ajouter du code pour activer le défilement des enregistrements ;
tester votre projet.
[!REMARQUE]
Il est possible que pour certains des éléments de l'interface utilisateur de Visual Studio, votre ordinateur affiche des noms ou des emplacements différents de ceux indiqués dans les instructions suivantes.Ces éléments dépendent de l'édition de Visual Studio dont vous disposez et des paramètres que vous utilisez.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édez à l'exemple de base de données Northwind dans SQL Server.La base de données peut se trouver sur votre ordinateur de développement ou sur un serveur.
Autorisations d'accès en lecture et écriture à la base de données SQL Server
Création d'un projet
Dans cette étape, vous allez 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 Master-Detail à l'aide de Visual Basic ou de C#.Assurez-vous d'avoir sélectionné 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 Master-Detail à 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.
Sélectionnez les tables Orders et Order Details.
Cliquez sur Terminer.
L'Assistant ajoute les deux tables à 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
Dans cette étape, vous ajouterez une plage nommée, un objet de liste et deux boutons à la première feuille de calcul.Commencez par ajouter la plage nommée et l'objet de liste à partir de la fenêtre Sources de données afin qu'ils soient automatiquement liés à la source de données.Ensuite, ajoutez les boutons de la Boîte à outils.
Pour ajouter une plage nommée et un objet de liste
Vérifiez que le classeur Mon Master-Detail.xlsx est ouvert dans le concepteur Visual Studio, avec Feuille1 a affiché.
Ouvrez la fenêtre Sources de données et développez le nœud Orders.
Sélectionnez la colonne OrderID, puis cliquez sur la flèche de déroulement qui apparaît.
Cliquez sur NamedRange dans la liste déroulante, puis faites glisser la colonne OrderID jusqu'à la cellule A2.
Un contrôle NamedRange nommé OrderIDNamedRange est créé dans la cellule A2.En même temps, un BindingSource nommé OrdersBindingSource, 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.
Faites défiler vers le bas les colonnes qui sont sous la table Orders.À la fin de la liste se trouve la table Order Details ; elle est située à cet endroit, car il s'agit d'un enfant de la table Orders.Sélectionnez cette table Order Details, et non celle située au même niveau que la table Orders, puis cliquez sur la flèche de déroulement qui apparaît.
Cliquez sur ListObject dans la liste déroulante, puis faites glisser la table OrderDetails vers la cellule A6.
Un contrôle ListObject nommé Order_DetailsListObject est créé dans la cellule A6 et lié à BindingSource.
Pour ajouter deux boutons
À partir de l'onglet Contrôles communs de la Boîte à outils, ajoutez un contrôle Button à la cellule A3 de la feuille de calcul.
Ce bouton est nommé Button1.
Ajoutez un autre contrôle Button à la cellule B3 de la feuille de calcul.
Ce bouton est nommé Button2.
Ensuite, marquez le groupe de données à mettre en cache dans le document.
Mise en cache du groupe de données
Marquez le groupe de données à mettre en cache dans le document en rendant public le groupe de données et en définissant la propriété CacheInDocument.
Pour mettre en cache le groupe de données
Sélectionnez NorthwindDataSet dans la barre d'état des composants.
Dans la fenêtre Propriétés, remplacez la valeur de la propriété Modifiers par Public.
Les groupes de données doivent être publics pour que la mise en cache soit activée.
Remplacez la valeur de la propriété CacheInDocument par True.
L'étape suivante consiste à ajouter du texte aux boutons, et en C#, à ajouter du code pour raccorder les gestionnaires d'événements.
Initialisation des contrôles
Définissez le texte du bouton et ajoutez des gestionnaires d'événements pendant l'événement Startup.
Pour initialiser les données et les contrôles
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 afin de définir le texte des boutons.
Me.Button1.Text = "<" Me.Button2.Text = ">"
this.button1.Text = "<"; this.button2.Text = ">";
Pour C# uniquement, ajoutez des gestionnaires d'événements pour les événements Click de bouton à la méthode Sheet1_Startup.
this.button1.Click += new EventHandler(button1_Click); this.button2.Click += new EventHandler(button2_Click);
Ajout de code pour pouvoir faire défiler les enregistrements
Ajoutez du code au gestionnaire d'événements Click de chaque bouton pour parcourir les enregistrements.
Pour faire défiler les enregistrements
Ajoutez un gestionnaire d'événements pour l'événement Click de Button1 et ajoutez le code suivant afin de faire défiler les enregistrements vers l'arrière :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles Button1.Click Me.OrdersBindingSource.MovePrevious() End Sub
private void button1_Click(object sender, EventArgs e) { this.ordersBindingSource.MovePrevious(); }
Ajoutez un gestionnaire d'événements pour l'événement Click de Button2 et ajoutez le code suivant afin de faire défiler les enregistrements vers l'avant :
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles Button2.Click Me.OrdersBindingSource.MoveNext() End Sub
private void button2_Click(object sender, EventArgs e) { this.ordersBindingSource.MoveNext(); }
Test de l'application
Maintenant, vous pouvez tester votre classeur afin de vérifier que les données apparaissent correctement et que vous pouvez utiliser la solution hors connexion.
Pour tester la mise en cache des données
Appuyez sur F5.
Vérifiez que la plage nommée et l'objet de liste contiennent des données de la source de données.
Faites défiler quelques-uns des enregistrements en cliquant sur les boutons.
Enregistrez le classeur, puis fermez le classeur et Visual Studio.
Désactivez la connexion à la base de données.Débranchez le câble réseau de votre ordinateur si la base de données est située sur un serveur ou arrêtez le service SQL Server si la base de données se trouve sur votre ordinateur de développement.
Ouvrez Excel, puis Mon Master-Detail.xlsx ouvert de répertoire\bin\(de mes maître/détail\bin dans Visual Basic ou mes maître/détail\\ bin\debug dans c).
Faites défiler quelques-uns des enregistrements pour vérifier que, hors connexion, la feuille de calcul fonctionne normalement.
Reconnectez-vous à la base de données.Connectez de nouveau votre ordinateur au réseau si la base de données est située sur un serveur ou démarrez le service SQL Server si la base de données se trouve sur votre ordinateur de développement.
Étapes suivantes
Cette procédure pas à pas présente les notions de base de la création d'une relation de données maître/détail dans une feuille de calcul et de la mise en cache d'un groupe de données.Vous devrez peut-être ensuite exécuter les opérations suivantes :
- Déployer la solution.Pour plus d'informations, consultez Déploiement d'une solution Office
Voir aussi
Concepts
Vue d'ensemble des éléments hôtes et des contrôles hôtes