Problème d'ajout d'enregistrement sur vba access 2000

Signaler
Messages postés
5
Date d'inscription
mercredi 5 mai 2004
Statut
Membre
Dernière intervention
12 mai 2004
-
Messages postés
3
Date d'inscription
mardi 20 janvier 2009
Statut
Membre
Dernière intervention
3 mars 2013
-
Bonjour,
J'ai une erreur qui s'affiche lorsque j'essaie d'ajouter un enregistrement à ma table dans VBA Access; mon code:

------------------------------------------------
Dim con As Object
Dim rs As Object
Dim stSql As String

Set con = Application.CurrentProject.Connection
stSql = "SELECT * FROM piece_plastique"
Set rs = CreateObject("ADODB.Recordset")
rs.Open stSql, con, 1 ' 1 = adOpenKeyset

rs.AddNew
rs![text_design_piecePlast] = text_design_piecePlast.Value

rs.Close
---------------------------------------------------

L'erreur: "Le fournisseur ou l'objet ne prend pas en charge cette opération". Pourtant j'arrive facilement à afficher des champs du recordset et me déplacer dedans. Je pense que mon recordset est "bloqué en écriture", mais comment faire pour autoriser l'ajout de valeurs?

Merci par avance.

4 réponses

Messages postés
55
Date d'inscription
mardi 2 mars 2004
Statut
Membre
Dernière intervention
18 juin 2004
1
Salut,

Tu peux exécuter une requète d'insertion directement

Ex:

Dim sSql as String

sSql "Insert into piece_plastique(nom) values ('Ma piece')"

con.execute sSql
Messages postés
5
Date d'inscription
mercredi 5 mai 2004
Statut
Membre
Dernière intervention
12 mai 2004

L'ajout marche très bien merci, mais imagine que tu veuilles juste modifier un champ d'un enregistrement.
L'insert est alors inutile; de plus une affectation du type:

rs![text_design_piecePlast] = text_design_piecePlast.Value ne fonctionne pas.

Comment puis je procéder?
Messages postés
55
Date d'inscription
mardi 2 mars 2004
Statut
Membre
Dernière intervention
18 juin 2004
1
salut,

Dans ce cas, il te suffit de faire une requête de mise à jour
sSql "Update piece_plastique Set nom 'Mon nouveau nom' where ta condition"
Ta condition peut porter sur le nom de la pièce (Where nom 'abc') ou sur l'identifiant de celle ci si tu en as un (Where id_piece 4)
Messages postés
3
Date d'inscription
mardi 20 janvier 2009
Statut
Membre
Dernière intervention
3 mars 2013

 Problème d'ajout d'enregistrement sur vb avec adodc access 2000