Ajouter un enregistrement dans ma base de donnée Access

cmd2011 Messages postés 3 Date d'inscription mercredi 17 août 2011 Statut Membre Dernière intervention 30 novembre 2011 - 30 nov. 2011 à 04:58
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 - 30 nov. 2011 à 11:02
Bonjour,
je suis débutant et je cherche à comprendre comment ajouter un enregistrement avec mon programme test. La lecture ainsi que l'effacement se fait bien. J'arrive pas à ajouter simplement un enregistrement à ma base de donnée Acces.

ma base de donnes se nomme quiz36.mdb
la table que je veux utiliser s'appelle "utilise" dans lequel il y a un seul champ qui est "questiondu"


voici mon petit programme test (c'est des parties de programme trouvé un peu partout)


Imports System.Data
Imports System.Data.SqlClient
Imports System.Data.OleDb

Public Class Form1

Dim nbr_qu As Integer ' Nombre de questions
Dim chemin As String 'chemin de la base de données


'DÉCLARATION EN RAPPORT AVEC ACCESS
Dim Max_Enregistrements As Integer ' Nombre total d'enregistrements dans la table
Dim nombre_ajouter as integer

'DÉCLARATION pour BD ACCESS
Dim bd_CO As New OleDb.OleDbConnection
Dim bd_DA As OleDb.OleDbDataAdapter
Dim bd_DS As New DataSet
Dim bd_DT As New DataTable
Dim bd_DR As DataRow
Dim bd_CM As OleDb.OleDbCommand

Dim bd_DC As DataColumn



Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
chemin = "D:\PROGRAMMATION\VISUAL BASIC\GATH VB\test QU\WindowsApplication1"
End Sub

Private Sub lecture_qu() 'LECTURE DES # de QUESTIONS DÉJÀ UTILISÉES
bd_CO.ConnectionString = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source =" + chemin + "quiz36.mdb"
bd_CO.Open()

bd_DS.Clear() 'remet à zéro la lecture du dataset

bd_DA = New OleDb.OleDbDataAdapter("SELECT * FROM utilise", bd_CO)
bd_DA.Fill(bd_DS, "utilise")

bd_CO.Close()
nbr_qu = bd_DS.Tables("utilise").Rows.Count ' Variable Max_Enregistrements contenus dans le dataset.
End Sub



Private Sub ecriture_qu()

bd_CO.ConnectionString = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source =" + chemin + "quiz36.mdb"
bd_CO.Open()
bd_DA = New OleDb.OleDbDataAdapter("SELECT * FROM utilise", bd_CO)
bd_DA.Fill(bd_DS, "utilise")

Try
bd_DR = bd_DS.Tables("utilise").NewRow()
'Modifier les valeurs des champs en récupérant le contenu des(TextBox)
bd_DR("questiondu") = "12345"

bd_DS.Tables("utilise").Rows.Add(bd_DR)

cmdb = New OleDbCommandBuilder(bd_DA) 'Pour modifier les valeurs changées dans le DataAdapter
bd_DA.Update(bd_DS, "utilise") 'Mise à jour

'On vide le DataSet et on le 'recharge' de nouveau.
bd_DS.Clear()
bd_DA.Fill(bd_DS, "utilise")
bd_DT = bd_DS.Tables("utilise")
bd_CO.Close()

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

End Sub




Private Sub Bouton_lecture_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Bouton_lecture.Click
Call lecture_qu()
Label1.Text = nbr_qu
End Sub




Private Sub Bouton_effacetout_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Bouton_effacetout.Click
bd_CO.ConnectionString = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source =" + chemin + "quiz36.mdb"
bd_CO.Open()
bd_DA = New OleDb.OleDbDataAdapter("DELETE from utilise", bd_CO)
bd_DA.Fill(bd_DS, "utilise")
bd_CO.Close()

Call lecture_qu()
Label9.Text = nbr_qu
End Sub



Private Sub Bouton_ajouter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Bouton_ajouter.Click
nombre_ajouter = 12345
Call ecriture_qu()
'Call lecture_qu()
Label5.Text = nbr_qu
End Sub



End Class

1 réponse

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
30 nov. 2011 à 11:02
Bonjour,

Regarde dans :

pour access
http://www.vbfrance.com/k-code-access.aspx

pour base de données
http://www.vbfrance.com/codes_categorie/BASE-DONNEES/17.aspx

Tu trouveras la réponse dans un de ces programmes

@+Le Pivert
0
Rejoignez-nous