Delivel
Messages postés3Date d'inscriptionvendredi 16 septembre 2016StatutMembreDernière intervention27 septembre 2016
-
Modifié par BunoCS le 16/09/2016 à 09:05
jordane45
Messages postés38241Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention17 septembre 2024
-
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.
A voir également:
Gérer une Base de données Access à partir d'une listebox sous VB
jordane45
Messages postés38241Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention17 septembre 2024345 16 sept. 2016 à 09:30
Bonjour,
Sans avoir regardé le code en détail....
ceci devrait fonctionner non ?