Enregistrement dans base de donnée

cs_SEB73460 Messages postés 271 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 29 novembre 2022 - 7 janv. 2007 à 08:11
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 - 7 janv. 2007 à 14:34
Salut à tous,

Comment peut on enregistrer mes données contenues dans mes textbox dans ma base de donnée access sous vb2005

J'ai un bout de code mais il ne fonctionne pas

Merci pour votre aide

Dim

chemin
As
String

Dim base
As
String

Dim requete
As
String

Dim connexion
As OleDbConnection

Dim objDa
As OleDbDataAdapter

Dim objDs
As
New Data.DataSet()

Dim ligne
As DataRow

Dim objCb
As OleDbCommandBuilder 

'Chemin et nom de la BDchemin = Application.StartupPath &

"\PROG.mdb"

'ChaŒne de connexionbase =

"provider=microsoft.jet.oledb.4.0;data source=" + cheminrequete =

"SELECT * FROM PROG"connexion =

New OleDbConnection(base)connexion.Open()

'Le dataAdapter ‚tablit tout d'abord le lien entre la requˆte et la baseobjDa =

New OleDbDataAdapter(requete, base)

'Stocke les donn‚es en m‚moire par le DataSetobjDa.Fill(objDs,

"PROG")ligne = objDs.Tables(

"PROG").NewRow()ligne(

"Fabricant") = ComboBox3.Text

objDs.Tables(

"PROG").Rows.Add(ligne)

'Attention l'ordre est trŠs important, le CommandBuilder doit ˆtre initialis‚ juste avant

'La ligne SelectCommand (UpdateCommand).
TryobjCb New OleDbCommandBuilder(objDa)objDa.UpdateCommand objCb.GetUpdateCommand()

objDa.Update(objDs,

"PROG")

CatchMsgBox(

"Une erreur est survenue pendant la mise … jour." & Chr(13) & Chr(10) & _

"L'op‚ration a ‚chou‚!", MsgBoxStyle.Critical,
"Echec D'enregistrement")

End
Try

'Fermeture de la connectionconnexion.Close()

'Effacement des items du listview1ListView1.Items.Clear()

'Charge la routine de remplissage du listview1Chargebd()

2 réponses

cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
7 janv. 2007 à 14:33
Salut,
Voilà ce que je fait moi, cela peut t'aider peut-être :

Dans un module :
Option Explicit
 Public connection As Integer
 Public connectionADO As New ADODB.connection
 Public commandeADO As New ADODB.Command
 Public resultatADO As New ADODB.Recordset 

Public Function connection_users() 'Connection table users
'Choix du fournisseur ,ouverture Base de Données
 connectionADO.Provider = "Microsoft.jet.OLEDB.4.0"
 connectionADO.ConnectionString = "C:\Ta Base de donnée"
 connectionADO.Open
 commandeADO.ActiveConnection = connectionADO
 commandeADO.CommandText = "SELECT * FROM Ta Table"
 resultatADO.CursorLocation = adUseClient
 resultatADO.CursorType = adOpenDynamic
 resultatADO.LockType = adLockPessimistic
 resultatADO.Open commandeADO
 resultatADO.sort = "Ton Champ ASC"
End Function

Dans form :
Private sub Command_Click()
'Validation enregistrement
 resultatADO.AddNew
 
'Mise à jour de l'enregistrement TonChampBase
 If (Trim(Text1.Text) = "") Then
 resultatADO!TonchampBase= Null
 Else
 resultatADO!TonchampBase = UCase(Trim(Text1.Text))
 End If

'Mise à jour de l'enregistrement dans base de donnée
 resultatADO.Update
 resultatADO.Requery

End Sub

A+
Exploreur
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
7 janv. 2007 à 14:34
Mois je suis sous VB6, il y a peut-être moyen de faire quelque chose avec ce code.
A+
Exploreur
0
Rejoignez-nous