Gérer une Base de données Access à partir d'une listebox sous VB [Résolu]

Delivel 3 Messages postés vendredi 16 septembre 2016Date d'inscription 27 septembre 2016 Dernière intervention - 16 sept. 2016 à 03:47 - Dernière réponse : jordane45 19235 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 14 décembre 2017 Dernière intervention
- 16 sept. 2016 à 09:30
Bonjour à tous et à toutes! je vous remercie d'avance pour votre aide
je suis Delivel,débutant en visual basic et j'ai un problème:
j'ai un formulaire,des boutons ajouter un enregistrement, modifier et supprimer et une base de données Access nommée MaPremiereBase dans laquelle il y a une table NomPatient qui contient les champs Nom et Prénom.
Problème: Lorsque je modifie un élément de la listebox c'est le suivant qui se modifie, si une personne pourait bien se sécourir ça me ferait un grand bien merci.
Boutton 1: Modifier
Boutton 2: Ajouter un enreigistrement
Boutton 3: Supprimer
Voici Mon Code:
Imports System
Imports System.Data
Imports System.Data.OleDb

Public Class Form1
    Private ObjetConnection As OleDbConnection
    Private ObjetCommand As OleDbCommand
    Private ObjetDataAdapter As OleDbDataAdapter
    Private ObjetDataSet As New DataSet()
    Private strSql As String
    Private ObjetDataTable As DataTable
    Private ObjetDataRow As DataRow
    Private RowNumber As Integer
    Private strConn As String
    Private ObjetCommandBuilder As OleDbCommandBuilder
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=C:\A effacer\MyDataBase.mdb;"
        strSql = "SELECT NomPatient.* FROM NomPatient"
        ObjetConnection = New OleDbConnection()
        ObjetConnection.ConnectionString = strConn

        ObjetConnection.Open()
        ObjetCommand = New OleDbCommand(strSql)
        ObjetDataAdapter = New OleDbDataAdapter(ObjetCommand)
        ObjetCommand.Connection() = ObjetConnection
        ObjetDataAdapter.Fill(ObjetDataSet, "NomPatient")
        ObjetDataTable = ObjetDataSet.Tables("NomPatient")
        ListBox1.DataSource = ObjetDataSet.Tables("NomPatient")
        ListBox1.DisplayMember = "Nom"
        NumeroInterne(RowNumber)

    End Sub
    Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
        ListBox1.DataSource = ObjetDataSet.Tables("NomPatient")
        ListBox1.DisplayMember = "Nom"
        ListBox1.ValueMember = "Nombre"
        RowNumber = ListBox1.SelectedValue
        NumeroInterne(RowNumber)
    End Sub




    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        
        ObjetDataRow = ObjetDataSet.Tables("NomPatient").Rows(RowNumber)
        ObjetDataRow("Nom") = Me.Nom.Text
        ObjetDataRow("Prénom") = Me.Prénom.Text
        ObjetCommandBuilder = New OleDbCommandBuilder(ObjetDataAdapter)
        ObjetDataAdapter.Update(ObjetDataSet, "NomPatient")
        ObjetDataSet.Clear()
        ObjetDataAdapter.Fill(ObjetDataSet, "NomPatient")
        ObjetDataTable = ObjetDataSet.Tables("NomPatient")
    End Sub



    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        ObjetDataRow = ObjetDataSet.Tables("NomPatient").NewRow()
        ObjetDataRow("Nom") = Me.Nom.Text
        ObjetDataRow("Prénom") = Me.Prénom.Text
        ObjetDataSet.Tables("NomPatient").Rows.Add(ObjetDataRow)
        ObjetCommandBuilder = New OleDbCommandBuilder(ObjetDataAdapter)
        ObjetDataAdapter.Update(ObjetDataSet, "NomPatient")
        ObjetDataSet.Clear()
        ObjetDataAdapter.Fill(ObjetDataSet, "NomPatient")
        ObjetDataTable = ObjetDataSet.Tables("NomPatient")
    End Sub



    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        ObjetDataSet.Tables("NomPatient").Rows(RowNumber).Delete()
        ObjetCommandBuilder = New OleDbCommandBuilder(ObjetDataAdapter)
        ObjetDataAdapter.Update(ObjetDataSet, "NomPatient")
    End Sub
End Class

Merci encore pour votre aide!
je souhaite
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ICI

Merci d'y penser dans tes prochains messages.
Afficher la suite 

1 réponse

Répondre au sujet
jordane45 19235 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 14 décembre 2017 Dernière intervention - 16 sept. 2016 à 09:30
0
Utile
Bonjour,

Sans avoir regardé le code en détail....
ceci devrait fonctionner non ?
ObjetDataRow = ObjetDataSet.Tables("NomPatient").Rows(RowNumber-1)

Commenter la réponse de jordane45

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.