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

aichaoussousagadir Messages postés 26 Date d'inscription mercredi 23 février 2011 Statut Membre Dernière intervention 18 mars 2013 - 3 août 2011 à 16:03
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 - 4 août 2011 à 16:32
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

lolokun Messages postés 1241 Date d'inscription mardi 10 octobre 2006 Statut Membre Dernière intervention 27 août 2013 7
3 août 2011 à 16:06
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..
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
3 août 2011 à 16:21
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
0
aichaoussousagadir Messages postés 26 Date d'inscription mercredi 23 février 2011 Statut Membre Dernière intervention 18 mars 2013
3 août 2011 à 17:10
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
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
3 août 2011 à 19:46
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
aichaoussousagadir Messages postés 26 Date d'inscription mercredi 23 février 2011 Statut Membre Dernière intervention 18 mars 2013
4 août 2011 à 16:25
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
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
4 août 2011 à 16:32
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
0
Rejoignez-nous