Connection à la BD

restlako 6 Messages postés mercredi 8 mars 2017Date d'inscription 1 avril 2017 Dernière intervention - 21 mars 2017 à 12:50 - Dernière réponse : cs_JMO 1816 Messages postés jeudi 23 mai 2002Date d'inscription 7 décembre 2017 Dernière intervention
- 23 mars 2017 à 12:09
bonjour,
je ne parviens pas toujours pas à communiquer avec ma base de données Access alors que les éléments pré-enregistrer sur ma base sont visibles dans le formulaire.
Bref, ceux dont j'ai besoin c'est de pouvoir enregistrer les éléments saisi sur mon formulaire dans la base.Voici un bout de code ...

Imports System
Imports System.Data
Imports System.Data.OleDb
Imports Microsoft.VisualBasic

Public Class Form1
Dim connecte As Boolean = False
Private cn As OleDbConnection
Private cmd As OleDbCommand
Private dta As OleDbDataAdapter
Private dts As New DataSet
Private sql As String
Private dtt As DataTable
Private dtr As DataRow
Private rownum As Integer
Private cnxstr As String
Private cmdb As OleDbCommandBuilder
Dim cha As String
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
dtr = dts.Tables("Produit").NewRow
dtr("IDProduitTextBox") = Me.IDProduitTextBox.Text
dtr("DesignationTextBox") = Me.Text
dtr("CategorieTextBox") = Me.Text
dtr("GrammageTextBox") = Me.Text
'dtr("FormeTextBox") = Me.Text
dtr("PUTextBox") = Me.Text
dts.Tables("Produit").Rows.Add(dtr)
cmdb = New OleDbCommandBuilder(dta)
dta.Update(dts, "Produit")
dts.Clear()
dta.Fill(dts, "Produit")
dtt = dts.Tables("Produit")
cnx = Nothing
dts = Nothing
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
cnxstr = "Provider=Microsoft.jet.oledb.4.0 ; data source = " & Application.StartupPath & "\base.mdb;"
cnx = New OleDbConnection
cnx.ConnectionString = cnxstr
cnx.Open()
sql = "select IDProduitTextBox.* from Produit"
cmd = New OleDbCommand(sql)
dta = New OleDbDataAdapter(cmd)
cmd.Connection() = cnx
dta.Fill(dts, "Produit")
dtt = dts.Tables("Produit")
dtr = dts.Tables("Produit").Rows(rownum)
dtr("IDProduitTextBox") = Me.Text
dtr("DesignationTextBox") = Me.Text
dtr("CategorieTextBox") = Me.Text
dtr("GrammageTextBox") = Me.Text
dtr("FormeTextBox") = Me.Text
dtr("PUTextBox") = Me.Text
cnx = Nothing
dts = Nothing
MessageBox.Show("Vous aviez modifier ce Produit avec succès")
End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
dts.Tables("Produit").Rows(rownum).Delete()
cmdb = New OleDbCommandBuilder(dta)
dta.Update(dts, "Produit")
cnx = Nothing
dts = Nothing
Afficher la suite 

1 réponse

Répondre au sujet
cs_JMO 1816 Messages postés jeudi 23 mai 2002Date d'inscription 7 décembre 2017 Dernière intervention - Modifié par cs_JMO le 23/03/2017 à 12:36
0
Utile
Bonjour le Forum,
Bonjour restlako,

Ci-dessous un exemple de mise à jour d'une base Access.

Quand le champ [Nom] = "DUPONT" de ma table [table requête], je modifie les champs [Nom] et [Prenom].
    Private pathbase As String = Application.StartupPath & "\Database11.accdb"
    Private connStr As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & pathbase

    Sub UpdateDataBase()
        Using conn As New OleDbConnection(connStr)
            Dim query As String
            conn.Open()
            'For Each .... 
            query = "UPDATE [table requête] SET [Nom] = '" & "DUPOND" & "'" & _
                     ",[Prenom] = '" & "Sophie" & "'" & _
                     " WHERE [Nom] = '" & "DUPONT" & "'"
            Dim cmd As OleDbCommand = New OleDbCommand(query, conn)
            Dim dta As OleDbDataAdapter = New OleDbDataAdapter(cmd)
            cmd.ExecuteNonQuery()
            ' Next
            conn.Close()
        End Using
    End Sub

Il suffit donc d'intégrer la query dans une boucle For Each ... Next".
Commenter la réponse de cs_JMO

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.