Partager via


Connectez-vous à une base de données Access dans les applications .NET Framework

Remarque

Les jeux de données et les classes associées sont des technologies .NET Framework héritées qui datent du début des années 2000. Elles permettent aux applications d’utiliser des données en mémoire pendant que les applications sont déconnectées de la base de données. Ces technologies sont particulièrement utiles aux applications qui permettent aux utilisateurs de modifier des données, et de rendre ces changements persistants dans la base de données. Même si les jeux de données sont une technologie très efficace, nous vous recommandons d’utiliser Entity Framework Core pour les nouvelles applications .NET. Entity Framework offre un moyen plus naturel d’utiliser des données tabulaires en tant que modèles objet. De plus, il présente une interface de programmation plus simple.

Vous pouvez vous connecter à une base de données Access (fichier .mdb ou .accdb) à l’aide de Visual Studio. Après avoir défini la connexion, les données s’affichent dans la fenêtre Sources de données. Vous pouvez alors faire glisser des tables ou des vues sur votre aire de conception.

Notes

Si vous utilisez Visual Studio pour vous connecter à des bases de données Access, vous devez savoir que les versions de Visual Studio antérieures à Visual Studio 2022 sont toutes des processus 32 bits. Cela signifie que certains outils de données de Visual Studio 2019 (et de versions antérieures) pourront se connecter à des bases de données Access uniquement à l’aide de fournisseurs de données 32 bits.

Si vous utilisez Visual Studio 2022 pour vous connecter à des bases de données Access, vous devez savoir que Visual Studio 2022 est désormais un processus 64 bits. Cela signifie que certains outils de données de Visual Studio ne pourront pas se connecter aux bases de données Access à l’aide de fournisseurs de données 32 bits.

Si vous devez conserver des applications 32 bits qui se connectent à des bases de données Access, vous pourrez toujours générer et exécuter l’application avec Visual Studio 2022. Toutefois, si vous devez utiliser un outil de données Visual Studio comme l’Explorateur de serveurs, l’Assistant Source de données ou le Concepteur de DataSet, vous devrez utiliser une version antérieure de Visual Studio, qui est toujours un processus 32 bits. La dernière version de Visual Studio qui était un processus 32 bits était Visual Studio 2019.

Si vous envisagez de convertir le projet en processus 64 bits, il est recommandé d'utiliser le moteur de base de données Microsoft Access 64 bits, également appelé Moteur de connectivité Access (ACE). Pour plus d’informations, consultez Le fournisseur OLE DB pour Jet et le pilote ODBC sont des versions 32 bits uniquement.

Prérequis

Pour appliquer ces procédures, vous avez besoin des éléments suivants :

  • Visual Studio
  • Un projet Windows Forms ou WPF
  • Une base de données Access (fichier .accdb) ou une base de données Access 2000-2003 (fichier .mdb). Suivez la procédure qui correspond à votre type de fichier.

Créer un jeu de données pour un fichier .accdb

Connectez-vous à des bases de données créées avec Microsoft 365, Access 2016, Access 2013, Access 2010 ou Access 2007 en effectuant la procédure suivante.

  1. Ouvrez un projet d’application Windows Forms ou WPF dans Visual Studio.

  2. Pour ouvrir la fenêtre Sources de données, appuyez sur Ctrl+Q, entrez « données » dans la zone de recherche, puis choisissez la fenêtre Sources de données. Ou, dans le menu Affichage, sélectionnez Autres fenêtres>Sources de données. Ou, sur le clavier, appuyez sur Maj+Alt+D.

    Capture d’écran de la fenêtre Sources de données dans la zone de recherche

  3. Dans la fenêtre Sources de données , cliquez sur Ajouter une nouvelle source de données.

    L’Assistant Configuration de source de données s’ouvre.

    Capture d’écran montrant l’Assistant Configuration de source de données

  4. Sélectionnez Base de données dans la page Choisir un type de source de données, puis sélectionnez Suivant.

  5. Sélectionnez Jeu de données dans la page Choisir un modèle de base de données, puis sélectionnez Suivant.

    Capture d’écran de la page Choisir un modèle de base de données

  6. Dans la page Choisir votre connexion de données, sélectionnez Nouvelle connexion pour configurer une nouvelle connexion de données.

    Capture d’écran de la page Choisir votre connexion de données

    La boîte de dialogue Ajouter une connexion s’ouvre.

    Capture d’écran de la boîte de dialogue Ajouter une connexion

  7. Si Source de données n’est pas défini sur Fichier de base de données Microsoft Access, sélectionnez le bouton Modifier.

    La boîte de dialogue Modifier la source de données s’ouvre. Dans la liste des sources de données, choisissez Fichier de base de données Microsoft Access. L’option Fournisseur de données .NET Framework pour OLE DB est déjà sélectionnée. Choisissez OK.

    Capture d’écran de la boîte de dialogue Choisir une source de données

  8. Choisissez Parcourir en regard de Nom du fichier de base de données, accédez à votre fichier .accdb, puis choisissez Ouvrir.

    Remarque

    Si le nombre de bits (32 bits ou 64 bits) de Microsoft Office et Visual Studio est différent, vous voyez une erreur durant la connexion à une base de données Access. Dans Visual Studio 2019, vous voyez une erreur indiquant que le fournisseur de base de données n’est pas inscrit. Dans Visual Studio 2022, vous voyez une erreur indiquant que vous ne pouvez pas vous connecter à un fournisseur de données 32 bits. Pour résoudre cette erreur, veillez à utiliser Visual Studio 2019 (ou une version antérieure) si vous utilisez une version 32 bits d’Office et Visual Studio 2022 (ou une version ultérieure) pour une version 64 bits d’Office.

  9. Entrez un nom d’utilisateur et un mot de passe (si nécessaire), puis choisissez OK.

  10. Sélectionnez Suivant dans la page Choisir votre connexion de données.

    Vous pouvez voir une boîte de dialogue indiquant que le fichier de données n'est pas dans votre projet actuel. Sélectionnez Oui ou Non.

  11. Sélectionnez Suivant dans la page Enregistrer la chaîne de connexion dans le fichier de configuration de l’application.

    Capture d’écran de la page

  12. Développez le nœud Tables dans la page Choisir vos objets de base de données.

    Capture d’écran de la page Choisir vos objets de base de données

  13. Sélectionnez les tables ou les vues à inclure dans votre jeu de données, puis sélectionnez Terminer.

    Le jeu de données est ajouté à votre projet, et les tables et vues s’affichent dans la fenêtre Sources de données.

    Capture d’écran de la fenêtre Sources de données remplie avec des objets de base de données

  14. Sur les machines 64 bits équipées du moteur de base de données Access 64 bits, vous devez vous assurer que l’application fonctionne comme une application 64 bits. Ouvrez les propriétés du projet (appuyez sur Alt+Enter ou faites un clic droit sur le nœud du projet et sélectionnez Propriétés). Dans l’onglet Version, décochez la case Préférer 32 bits.

Créer un jeu de données pour un fichier .accdb

Connectez-vous à des bases de données créées avec Microsoft 365, Access 2016, Access 2013, Access 2010 ou Access 2007 en effectuant la procédure suivante.

  1. Ouvrez un projet d’application Windows Forms ou WPF dans Visual Studio.

  2. Pour ouvrir la fenêtre Sources de données, appuyez sur Ctrl+Q, entrez « données » dans la zone de recherche, puis choisissez la fenêtre Sources de données. Ou, dans le menu Affichage, sélectionnez Autres fenêtres>Sources de données. Ou, sur le clavier, appuyez sur Maj+Alt+D.

    Afficher d'autres sources de données Windows

  3. Dans la fenêtre Sources de données , cliquez sur Ajouter une nouvelle source de données.

    L’Assistant Configuration de source de données s’ouvre.

  4. Sélectionnez Base de données dans la page Choisir un type de source de données, puis sélectionnez Suivant.

  5. Sélectionnez Jeu de données dans la page Choisir un modèle de base de données, puis sélectionnez Suivant.

    Capture d’écran de la page Choisir un modèle de base de données

  6. Dans la page Choisir votre connexion de données, sélectionnez Nouvelle connexion pour configurer une nouvelle connexion de données.

    Capture d’écran de la page Choisir votre connexion de données

    La boîte de dialogue Ajouter une connexion s’ouvre.

    Capture d’écran de la boîte de dialogue Ajouter une connexion

  7. Si Source de données n’est pas défini sur Fichier de base de données Microsoft Access, sélectionnez le bouton Modifier.

    La boîte de dialogue Modifier la source de données s’ouvre. Dans la liste des sources de données, choisissez Fichier de base de données Microsoft Access. L’option Fournisseur de données .NET Framework pour OLE DB est déjà sélectionnée. Choisissez OK.

    Capture d’écran de la boîte de dialogue Choisir une source de données

  8. Choisissez Parcourir en regard de Nom du fichier de base de données, accédez à votre fichier .accdb, puis choisissez Ouvrir.

    Remarque

    Si le nombre de bits (32 bits ou 64 bits) de Microsoft Office et Visual Studio est différent, vous voyez une erreur durant la connexion à une base de données Access. Dans Visual Studio 2019, vous voyez une erreur indiquant que le fournisseur de base de données n’est pas inscrit. Dans Visual Studio 2022, vous voyez une erreur indiquant que vous ne pouvez pas vous connecter à un fournisseur de données 32 bits. Pour résoudre cette erreur, veillez à utiliser Visual Studio 2019 (ou une version antérieure) si vous utilisez une version 32 bits d’Office et Visual Studio 2022 (ou une version ultérieure) pour une version 64 bits d’Office.

  9. Entrez un nom d’utilisateur et un mot de passe (si nécessaire), puis choisissez OK.

  10. Sélectionnez Suivant dans la page Choisir votre connexion de données.

    Vous pouvez voir une boîte de dialogue indiquant que le fichier de données n'est pas dans votre projet actuel. Sélectionnez Oui ou Non.

  11. Sélectionnez Suivant dans la page Enregistrer la chaîne de connexion dans le fichier de configuration de l’application.

    Capture d’écran de la page

  12. Développez le nœud Tables dans la page Choisir vos objets de base de données.

  13. Sélectionnez les tables ou les vues à inclure dans votre jeu de données, puis sélectionnez Terminer.

    Le jeu de données est ajouté à votre projet, et les tables et vues s’affichent dans la fenêtre Sources de données.

Créer un jeu de données pour un fichier .mdb

Connectez-vous à des bases de données créées avec Access 2000-2003 en effectuant la procédure suivante.

  1. Ouvrez un projet d’application Windows Forms ou WPF dans Visual Studio.

  2. Dans le menu Affichage, sélectionnez Autres fenêtres>Sources de données.

  3. Dans la fenêtre Sources de données , cliquez sur Ajouter une nouvelle source de données.

    L’Assistant Configuration de source de données s’ouvre.

  4. Sélectionnez Base de données dans la page Choisir un type de source de données, puis sélectionnez Suivant.

  5. Sélectionnez Jeu de données dans la page Choisir un modèle de base de données, puis sélectionnez Suivant.

  6. Dans la page Choisir votre connexion de données, sélectionnez Nouvelle connexion pour configurer une nouvelle connexion de données.

  7. Si la source de données n’est pas Fichier de base de données Microsoft Access (OLE DB), choisissez Modifier pour ouvrir la boîte de dialogue Modifier la source de données, sélectionnez Fichier de base de données Microsoft Access, puis sélectionnez OK.

  8. Dans Nom du fichier de base de données, spécifiez le chemin et le nom du fichier .mdb auquel vous souhaitez vous connecter, puis sélectionnez OK.

    Ajouter une connexion à un fichier de base de données Access

  9. Sélectionnez Suivant dans la page Choisir votre connexion de données.

  10. Sélectionnez Suivant dans la page Enregistrer la chaîne de connexion dans le fichier de configuration de l’application.

  11. Développez le nœud Tables dans la page Choisir vos objets de base de données.

  12. Sélectionnez les tables ou les vues à inclure dans votre jeu de données, puis sélectionnez Terminer.

    Le jeu de données est ajouté à votre projet, et les tables et vues s’affichent dans la fenêtre Sources de données.

Consulter le code généré

Les outils de données sont configurés pour générer automatiquement un grand nombre de codes lorsque vous effectuez certaines opérations dans le concepteur de formulaires. Par exemple, lorsque vous effectuez un glisser-déplacer d’une table sur le formulaire, un DataGridView est ajouté et du code est créé pour connecter les données au contrôle. Vous pouvez afficher ce code dans le fichier *.Designer.cs. Visual Studio ajoute un certain nombre de membres privés :

private Database11DataSet database11DataSet;
private System.Windows.Forms.BindingSource ordersBindingSource;
private Database11DataSetTableAdapters.OrdersTableAdapter ordersTableAdapter;
private Database11DataSetTableAdapters.TableAdapterManager tableAdapterManager;
private System.Windows.Forms.BindingNavigator ordersBindingNavigator;
private System.Windows.Forms.ToolStripButton bindingNavigatorAddNewItem;
private System.Windows.Forms.ToolStripLabel bindingNavigatorCountItem;
private System.Windows.Forms.ToolStripButton bindingNavigatorDeleteItem;
private System.Windows.Forms.ToolStripButton bindingNavigatorMoveFirstItem;
private System.Windows.Forms.ToolStripButton bindingNavigatorMovePreviousItem;
private System.Windows.Forms.ToolStripSeparator bindingNavigatorSeparator;
private System.Windows.Forms.ToolStripTextBox bindingNavigatorPositionItem;
private System.Windows.Forms.ToolStripSeparator bindingNavigatorSeparator1;
private System.Windows.Forms.ToolStripButton bindingNavigatorMoveNextItem;
private System.Windows.Forms.ToolStripButton bindingNavigatorMoveLastItem;
private System.Windows.Forms.ToolStripSeparator bindingNavigatorSeparator2;
private System.Windows.Forms.ToolStripButton ordersBindingNavigatorSaveItem;
private System.Windows.Forms.DataGridView ordersDataGridView;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn1;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn2;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn3;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn4;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn5;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn6;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn7;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn8;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn9;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn10;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn11;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn12;

Si vous développez la région masquée, vous pouvez voir que Visual Studio ajoute également une grande quantité de code pour configurer le contrôle DataGridView avec la liaison de données à la table que vous avez fait glisser vers le formulaire.

En outre, dans le fichier code-behind du formulaire principal, Visual Studio ajoute du code qui traite l’action d’enregistrement pour enregistrer des modifications interactives dans les données et un autre qui charge la table dans l’adaptateur de table.

private void ordersBindingNavigatorSaveItem_Click(object sender, EventArgs e)
{
    this.Validate();
    this.ordersBindingSource.EndEdit();
    this.tableAdapterManager.UpdateAll(this.database11DataSet);

}

private void Form1_Load(object sender, EventArgs e)
{
   // TODO: This line of code loads data into the 'database11DataSet.Orders' table. You can move, or remove it, as needed.
   this.ordersTableAdapter.Fill(this.database11DataSet.Orders);
}

Félicitations ! En vous aidant de Visual Studio, vous avez créé une expérience d’édition basée sur un formulaire pour une table de données Access.

Étapes suivantes

Le jeu de données que vous venez de créer est maintenant disponible dans la fenêtre Sources de données. Vous pouvez à présent effectuer l’une des tâches suivantes :