OleDb - Base de données Access - Update
Bonjour tous le monde.
J'ai un petit souci sur un bout de programme.
Mon problème :
J'ai un fichier base de données acces. Donc un xxx.mdb
Actuellement je sais ajouter un nouvel enregistrement dans la base de donnée grâce à ceci :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
Imports System.Data.OleDb
Public Class Form2
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim cn As OleDbConnection
Dim cmd As OleDbCommand
Dim dr As OleDbDataReader
Dim icount As Integer
Dim str As String
' Try
cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\Florent\Desktop\Programme test\test1.mdb")
cn.Open()
str = "insert into tab1 (col1,col2,col3) values(" & TextBox1.Text & "," & TextBox2.Text & "," & TextBox3.Text & ")"
'string stores the command and CInt is used to convert number to string
cmd = New OleDbCommand(str, cn)
cmd.ExecuteNonQuery()
' MessageBox.Show(icount)
'displays number of records inserted
' Catch
' End Try
cn.Close()
MsgBox("OK")
End Sub |
Donc ce bout de programme me permet d'ajouter une nouvelle ligne dans ma base de données.
Ensuite je sais lire la base de donnée grâce à ceci.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim cn As OleDbConnection
Dim cmd As OleDbCommand
Dim dr As OleDbDataReader
Dim icount As Integer
Dim str As String
Try
cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Users\Florent\Desktop\Programme test\test1.mdb;")
'provider to be used when working with access database
cn.Open()
cmd = New OleDbCommand("select * from tab1", cn)
dr = cmd.ExecuteReader
While dr.Read()
Me.ComboBox1.Items.Add(dr(0))
End While
Catch
End Try
dr.Close()
cn.Close()
End Sub |
Ce code me permet de rajouter dans ma "combobox" l'incrémentation qui me permet de choisir ensuite la ligne que je veut lire. Une fois la ligne sélectionnée je peut insérer les enregistrements dans mes "Textbox" grâce au code suivant.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Dim cn As OleDbConnection
Dim cmd As OleDbCommand
Dim dr As OleDbDataReader
Dim icount As Integer
Dim str As String
Dim txt
Dim txt1
txt = Me.ComboBox1.Text
If txt = "" Then
MsgBox("veuillez sélectionner un numero")
Exit Sub
End If
Try
cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Users\Florent\Desktop\Programme test\test1.mdb;")
'provider to be used when working with access database
cn.Open()
cmd = New OleDbCommand("select * from tab1", cn)
dr = cmd.ExecuteReader
While dr.Read()
txt1 = dr(0)
If txt1 = txt Then
Me.TextBox1.Text = dr(0)
Me.TextBox2.Text = dr(1)
Me.TextBox3.Text = dr(2)
End If
End While
Catch
End Try
dr.Close()
cn.Close()
MsgBox("Fini")
End Sub |
Voila jusque la, je sais
1 - Ajouter une nouvelle ligne dans la base
2 - Lire la base de données.
Mais la ou je bloque,,, Une fois que j'ai lu une ligne de la base de données, c'est de modifier une valeur et ensuite de la ré-injecter dans la bonne colonne et ligne dans la base de données ????
Si quelqu'un à une idée ????