OVH Cloud OVH Cloud

Enregistrer record via VBA

5 réponses
Avatar
Robert
Bonjour
J'aimerai enregistrer(ajouter) un record dans une table non ouverte de la
même base via un code VBA.
Qn peut-il m'aider svp.

Merci

5 réponses

Avatar
Jessy SEMPERE
Bonjour

Regarde du côté des RecordSet...
Avec les méthodes AddNew et UpDate

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Robert" a écrit dans le message news:

Bonjour
J'aimerai enregistrer(ajouter) un record dans une table non ouverte de la
même base via un code VBA.
Qn peut-il m'aider svp.

Merci




Avatar
Robert
J'ai essayé ceci :
Dim db As Database
Dim rs As Recordset
Set db = CurrentDb()
Dim sql As String
sql = "Select * From IDMDG"
Set rs = db.OpenRecordset(sql, dbOpenDynaset)
rs.AddNew
rs![IDP] = IDPs.Value
rs![ID-Pers] = Forms!start!ram
rs.Update
rs.Close

mais il me mets erreur 13 (type mismatch) pour : Set rs db.OpenRecordset(sql, dbOpenDynaset)

Qn a une idée quant au problème, merci

Robert
"Jessy SEMPERE" wrote in message
news:blrgha$vih$
Bonjour

Regarde du côté des RecordSet...
Avec les méthodes AddNew et UpDate

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Robert" a écrit dans le message news:

Bonjour
J'aimerai enregistrer(ajouter) un record dans une table non ouverte de
la


même base via un code VBA.
Qn peut-il m'aider svp.

Merci








Avatar
Gaël Schmitt
Bonjour,

Dans tes références tu as bien mis DAO au dessus de ADO (dans les priorités)
?

Gael.

"Robert" a écrit dans le message de
news:
J'ai essayé ceci :
Dim db As Database
Dim rs As Recordset
Set db = CurrentDb()
Dim sql As String
sql = "Select * From IDMDG"
Set rs = db.OpenRecordset(sql, dbOpenDynaset)
rs.AddNew
rs![IDP] = IDPs.Value
rs![ID-Pers] = Forms!start!ram
rs.Update
rs.Close

mais il me mets erreur 13 (type mismatch) pour : Set rs > db.OpenRecordset(sql, dbOpenDynaset)

Qn a une idée quant au problème, merci

Robert
"Jessy SEMPERE" wrote in message
news:blrgha$vih$
Bonjour

Regarde du côté des RecordSet...
Avec les méthodes AddNew et UpDate

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Robert" a écrit dans le message news:

Bonjour
J'aimerai enregistrer(ajouter) un record dans une table non ouverte de
la


même base via un code VBA.
Qn peut-il m'aider svp.

Merci












Avatar
Jessy SEMPERE
Ben je ne sais pas trop, ton code semble correct...

A tous hazard essais plutôt :

Dim db As Database, rs As Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("IDMDG", dbOpenDynaset)
With rs
.AddNew
.Fields("IDP") = IDPs.Value
.Fields("ID-Pers") = Forms!Start!Ram
.UpDate
End With
rs.Close: Set rs = Nothing
set db = Nothing

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Robert" a écrit dans le message news:

J'ai essayé ceci :
Dim db As Database
Dim rs As Recordset
Set db = CurrentDb()
Dim sql As String
sql = "Select * From IDMDG"
Set rs = db.OpenRecordset(sql, dbOpenDynaset)
rs.AddNew
rs![IDP] = IDPs.Value
rs![ID-Pers] = Forms!start!ram
rs.Update
rs.Close

mais il me mets erreur 13 (type mismatch) pour : Set rs > db.OpenRecordset(sql, dbOpenDynaset)

Qn a une idée quant au problème, merci

Robert
"Jessy SEMPERE" wrote in message
news:blrgha$vih$
Bonjour

Regarde du côté des RecordSet...
Avec les méthodes AddNew et UpDate

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Robert" a écrit dans le message news:

Bonjour
J'aimerai enregistrer(ajouter) un record dans une table non ouverte de
la


même base via un code VBA.
Qn peut-il m'aider svp.

Merci












Avatar
Gaël Schmitt
En complément voilà une fiche qui t'aidera :
http://support.microsoft.com/default.aspx?id1542

Gael.

"Gaël Schmitt" a écrit dans le message de
news:%
Bonjour,

Dans tes références tu as bien mis DAO au dessus de ADO (dans les
priorités)

?

Gael.

"Robert" a écrit dans le message de
news:
J'ai essayé ceci :
Dim db As Database
Dim rs As Recordset
Set db = CurrentDb()
Dim sql As String
sql = "Select * From IDMDG"
Set rs = db.OpenRecordset(sql, dbOpenDynaset)
rs.AddNew
rs![IDP] = IDPs.Value
rs![ID-Pers] = Forms!start!ram
rs.Update
rs.Close

mais il me mets erreur 13 (type mismatch) pour : Set rs > > db.OpenRecordset(sql, dbOpenDynaset)

Qn a une idée quant au problème, merci

Robert
"Jessy SEMPERE" wrote in message
news:blrgha$vih$
Bonjour

Regarde du côté des RecordSet...
Avec les méthodes AddNew et UpDate

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Robert" a écrit dans le message news:

Bonjour
J'aimerai enregistrer(ajouter) un record dans une table non ouverte
de




la
même base via un code VBA.
Qn peut-il m'aider svp.

Merci