Enregistrer des enregistrement dans une table access apartir du vb.net

Signaler
Messages postés
26
Date d'inscription
mercredi 23 février 2011
Statut
Membre
Dernière intervention
18 mars 2013
-
Messages postés
14823
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
9 octobre 2021
-
Bonjour à tous,
Je suis actuellement en stage et je dois développer une application en Visual Basic.Net(je développe sous Microsoft Visual Basic 2008).
J'ai besoin de me connecter à une base de données Access 2007.
le probleme que j'ai c'est quand j'ai enregistrer les données des textbox dans une table de la base de donnée en cliquant sur le button "Ajouter" j'ai aucun probleme dans le code les données s'affichent dans le datagridview que j'ai dans le formulaire mais quand je revien à la base je trouve que aucun ligne n'a été ajouter dans cette table.je sait pas est ce que le problème est au niveau de la connexion ou quoi
vous pouvez m'aider s'il vous plait ?
merci d'avance

6 réponses

Messages postés
1241
Date d'inscription
mardi 10 octobre 2006
Statut
Membre
Dernière intervention
27 août 2013
6
Bonjour,

Donnes le code que tu as réalisé si tu veux que l'on t'aide.

PS : les données ajoutées contiennent-elles des apostrophes?


L'expérience, c'est une connerie par jour, mais jamais la même..
Messages postés
14823
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
9 octobre 2021
156
Bonjour,

Quand tu ajoutes des données à une DataGridView, elles ne sont pas immédiatement mises dans la base de données, il faut faire un .Update sur le DataSet, je crois.

---------------------------------------------------------------------
[list][*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu, pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
Messages postés
26
Date d'inscription
mercredi 23 février 2011
Statut
Membre
Dernière intervention
18 mars 2013

Bonjour,
voila mon code:

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

Public Class employe
Dim con As New oleDb.oleDbConnection
Dim da As OleDbDataAdapter
Dim ds As New DataSet
Dim employe As DataTable
Dim dr As OleDbDataReader
Dim cmd As OleDbCommand
Dim builder As OleDbCommandBuilder
Dim po As Long
Dim l As DataRow
Private conn As String
Private sql As String
Private rownum As Integer
Private Sub employe_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
combo()
End Sub

Sub combo()
'ouverture de la connection(à partir du répertoire de l'application)
conn "provider microsoft.jet.oledb.4.0 ; data source = " & Application.StartupPath & "\base_marsa.mdb;"
con = New OleDbConnection
con.ConnectionString = conn
con.Open()
sql = "select EMPLOYE.* from EMPLOYE"
cmd = New OleDbCommand(sql)
da = New OleDbDataAdapter(cmd)
cmd.Connection = con
'chargement du DataSet à partir du DataAdapter
da.Fill(ds, "EMPLOYE")
'chargement de la DataTable à partir du DataSet
employe = ds.Tables("employe")
'da.Fill(ds, "EMPLOYE")
employe = ds.Tables("EMPLOYE")
EMPLOYEDataGridView.DataSource = employe
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim s As String
If F.Checked = True Then
s = "F"
ElseIf M.Checked = True Then
s = "M"
End If


If nouv.Checked = True Then
'criation d'une nouvelle ligne avec les données des textbox
l = ds.Tables("employe").NewRow
l("MLE") = Me.MLE.Text
l("NOM") = Me.NOM.Text
l("PRENOM") = Me.PRENOM.Text
l("SEXE") = s
l("DATE_DE_NAISSANCE") =Me.DATE_DE_NAISSANCE.Text
l("LIEU_DE_NAISSANCE")=Me.LIEU_DE_NAISSANCE.Text
l("DEMEURANT") = Me.DEMEURANT.Text
l("PROFESSION") = Me.PROFESSION.Text
l("ENTREPRISE") = Me.ENTREPRISE.Text
l("ATELIER_OU_SERVICE") = Me.ATELIER_OU_SERVICE.Text
l("PERSONNEL") = Me.PERSONNEL.Text
l("SITUATION_DE_FAMILLE") = Me.SITUATION_DE_FAMILLE.Text
l("NOMBRE_D_ENFANT") = Me.NOMBRE_D_ENFANT.Text
l("GSM") = Me.GSM.Text
l("PERIODE_VJ") = Me.PERIODE_VJ.Text
l("PERIODE_VM") = Me.PERIODE_VM.Text
l("PERIOD_VAN") = Me.PERIOD_VAN.Text
l("DATE_D_EMBAUCHE") = Me.DATE_D_EMBAUCHE.Text

'ajout de la ligne dans le DataSet
ds.Tables("employe").Rows.Add(l)

'création et exécution du commandbuilder
'pour mettre à jour le DataAdapter
builder = New OleDbCommandBuilder(da)

'mise à jour des données du DataAdapter
'à partir du commandbuilder
da.Update(ds, "employe")

'on vide le dataset pour le recréer avec
'les nouvelles données
ds.Clear()
da.Fill(ds, "employe")
employe = ds.Tables("employe")

'mise à jour de la datagrid
EMPLOYEDataGridView.DataSource = employe
'aller au début du fichier
rownum = 0
End If

Try
da.Update(ds, "employe")

Catch ex As Exception
MsgBox(ex.Message)
End Try


combo()
End Sub

End Class

merci
Messages postés
14823
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
9 octobre 2021
156
Bonjour,

Tu peux aller voir ce sujet, il est court et donne la solution :
http://bytes.com/topic/visual-basic-net/answers/862533-update-database-when-datagridview-changes

---------------------------------------------------------------------
[list][*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu, pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
Messages postés
26
Date d'inscription
mercredi 23 février 2011
Statut
Membre
Dernière intervention
18 mars 2013

bonjour,
merci beucoup à tous
j'ai résolu le probleme c'est juste le chemin ou se trouve la base de donnee qui a été faux
merci
Messages postés
14823
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
9 octobre 2021
156
Bonjour,

Si votre problème est résolu, pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés.

---------------------------------------------------------------------
[list][*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu, pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site