Passer au contenu principal

Services Ads

VB.NET Mini-Projet 01 (CRUD MS-Access)

Cet exercice vise à développer une application qui permet de manipuler des données dans une table existante à l’aide d’une interface utilisateur simple, en utilisant Visual Basic Express 2010 et une base de données Microsoft Access.

Se connecter à une base de données MS Access via VB.NET

Écrire le code CRUD avec des textBox et datagridview en Visual Basic Express 2010 pour manipuler une table existante « clients » avec les colonnes « id », « nom », « prenom », « email » et « telephone » dans une base de données existante ms Access.

L’exercice consiste à écrire un code CRUD en utilisant des TextBox et des DataGridView dans Visual Basic Express 2010 pour manipuler une table existante nommée « clients ». Cette table possède cinq colonnes : « id », « nom », « prenom », « email » et « telephone ». La table est stockée dans une base de données existante Microsoft Access, ce qui signifie que la base de données a déjà été créée et que la table est déjà définie à l’intérieur de cette base de données.

Le code CRUD permettra de créer, lire, mettre à jour et supprimer des enregistrements dans la table « clients » en utilisant une interface utilisateur simple. Les TextBox seront utilisées pour saisir les données du client, tandis que le DataGridView sera utilisé pour afficher les enregistrements de la table et permettre à l’utilisateur de sélectionner un enregistrement spécifique à manipuler.

Le code devra être écrit en utilisant Visual Basic Express 2010, un environnement de développement intégré (IDE) pour le développement d’applications Windows. Le langage de programmation utilisé sera le Visual Basic .NET, qui est un langage de programmation orienté objet utilisé pour le développement d’applications Windows.

Code Visual Basic .NET pour se connecter à une base de données MS Access

Démarche à suive :

Pour utiliser une base de données MS Access avec Visual Basic Express 2010, vous devez utiliser la bibliothèque ADO.NET et le fournisseur de données OleDb. Voici comment créer une application CRUD avec des TextBox et DataGridView pour manipuler la table « clients » dans une base de données MS Access :

  1. Créez un nouveau projet dans Visual Basic Express 2010 et choisissez « Windows Forms Application ».
  2. Ajoutez les contrôles suivants sur le formulaire :
    • 4 Labels avec les textes « Nom », « Prénom », « Email » et « Téléphone ».
    • 4 TextBox pour saisir les valeurs correspondantes (txtNom, txtPrenom, txtEmail, txtTelephone).
    • 1 DataGridView pour afficher les données de la table « clients » (dgvClients).
    • 4 Buttons avec les textes « Ajouter », « Modifier », « Supprimer » et « Actualiser » (btnAdd, btnUpdate, btnDelete, btnRefresh).
  1. Ajoutez les références nécessaires :
    • Allez dans « Project » -> « Add Reference » -> « System.Data » et « System.Configuration ».
  1. Ajoutez le code suivant pour créer une connexion à la base de données :
VB.NET Mini-Projet 01 (CRUD MS-Access)
Imports System.Data.OleDb
Imports System.Configuration

Public Class frmClient

    Private connectionString As String = ConfigurationManager.ConnectionStrings("YourConnectionStringName").ConnectionString
    Private conn As OleDbConnection

    Private Sub frmClient_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        conn = New OleDbConnection(connectionString)
        LoadData()
    End Sub

    Private Sub LoadData()
        Dim query As String = "SELECT id, nom, prenom, email, telephone FROM clients"
        Dim da As New OleDbDataAdapter(query, conn)
        Dim ds As New DataSet()
        da.Fill(ds, "clients")
        dgvClients.DataSource = ds.Tables("clients")
    End Sub

End Class

Assurez-vous de remplacer « YourConnectionStringName » par le nom de votre chaîne de connexion dans votre fichier de configuration (app.config).

Ajoutez les événements des boutons pour les opérations CRUD :

Votre code final devrait ressembler à ceci :

Imports System.Data.OleDb
Imports System.Configuration

Public Class frmClient
    Dim connectionString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & Application.StartupPath & "\Crud_access.accdb"
    Dim conn As New OleDbConnection(connectionString)

    'Private connectionString As String = ConfigurationManager.ConnectionStrings("YourConnectionStringName").ConnectionString
    'Private conn As OleDbConnection

    Private Sub frmClient_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        conn = New OleDbConnection(connectionString)
        LoadData()
    End Sub

    Private Sub LoadData()
        Dim query As String = "SELECT id, nom, prenom, email, telephone FROM clients"
        Dim da As New OleDbDataAdapter(query, conn)
        Dim ds As New DataSet()
        da.Fill(ds, "clients")
        dgvClients.DataSource = ds.Tables("clients")
    End Sub

    ' Ajouter 
    Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click
        Dim query As String = "INSERT INTO clients (nom, prenom, email, telephone) VALUES (@nom, @prenom, @email, @telephone)"
        Dim cmd As New OleDbCommand(query, conn)
        cmd.Parameters.AddWithValue("@nom", txtNom.Text)
        cmd.Parameters.AddWithValue("@prenom", txtPrenom.Text)
        cmd.Parameters.AddWithValue("@email", txtEmail.Text)
        cmd.Parameters.AddWithValue("@telephone", txtTelephone.Text)
        conn.Open()
        cmd.ExecuteNonQuery()
        conn.Close()
        LoadData()
    End Sub

    ' Modifier 
    Private Sub btnUpdate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUpdate.Click
        Dim query As String = "UPDATE clients SET nom=@nom, prenom=@prenom, email=@email, telephone=@telephone WHERE id=@id"
        Dim cmd As New OleDbCommand(query, conn)
        cmd.Parameters.AddWithValue("@id", dgvClients.CurrentRow.Cells("id").Value)
        cmd.Parameters.AddWithValue("@nom", txtNom.Text)
        cmd.Parameters.AddWithValue("@prenom", txtPrenom.Text)
        cmd.Parameters.AddWithValue("@email", txtEmail.Text)
        cmd.Parameters.AddWithValue("@telephone", txtTelephone.Text)
        conn.Open()
        cmd.ExecuteNonQuery()
        conn.Close()
        LoadData()
    End Sub

    ' Supprimer 
    Private Sub btnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDelete.Click
        Dim query As String = "DELETE FROM clients WHERE id=@id"
        Dim cmd As New OleDbCommand(query, conn)

        cmd.Parameters.AddWithValue("@id", dgvClients.CurrentRow.Cells("id").Value)
        conn.Open()
        cmd.ExecuteNonQuery()
        conn.Close()
        LoadData()
    End Sub

    ' Actualiser 
    Private Sub btnRefresh_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRefresh.Click
        LoadData()
    End Sub

    ' Charger les données du DataGridView dans les TextBox lorsqu'une ligne est sélectionnée 
    Private Sub dgvClients_CellClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgvClients.CellClick
        If e.RowIndex >= 0 Then
            Dim row As DataGridViewRow = dgvClients.Rows(e.RowIndex)
            txtNom.Text = row.Cells("nom").Value.ToString()
            txtPrenom.Text = row.Cells("prenom").Value.ToString()
            txtEmail.Text = row.Cells("email").Value.ToString()
            txtTelephone.Text = row.Cells("telephone").Value.ToString()
        End If
    End Sub

End Class