VBScript Modifier une table dans une bdd [Résolu]

Signaler
Messages postés
85
Date d'inscription
jeudi 17 novembre 2005
Statut
Membre
Dernière intervention
15 février 2006
-
Messages postés
85
Date d'inscription
jeudi 17 novembre 2005
Statut
Membre
Dernière intervention
15 février 2006
-
Bonjour à tous!

J'ai un petit problème en VBScript, je voudrais modifier une table dans une base de données Access. J'ai donc écrit le code suivant:

Dim sage
Dim db
Dim req
Dim rst1
Dim rst2
Dim rst3

Set sage = CreateObject("ADODB.Connection")
sage.Open "SageGescoTD", "Bruno", "max" 'La je me connecte à une source de données ODBC issue d'un logiciel de gestion commerciale

Set db = CreateObject("ADODB.Connection")
db.Open "Provider=microsoft.jet.oledb.4.0 ; data source= C:\MaBase.mdb"

Set rst1 = CreateObject("ADODB.Recordset")
req = "DELETE Tbl_FComptet.* FROM Tbl_FComptet"
rst1.Open req, db

Set rst3 = CreateObject("ADODB.Recordset")
rst3.Open "SELECT F_COMPTET.* FROM F_COMPTET", sage

Set rst2 = CreateObject("ADODB.Recordset")
rst2.Open "Tbl_FComptet", db

While Not rst3.EOF
rst2.AddNew
rst2("BT_NUM") = rst3("BT_NUM")
rst2("CA_NUM") = rst3("CA_NUM")
rst2("CBCREATEUR") = rst3("CBCREATEUR")
rst2("CBMODIFICATION") = rst3("CBMODIFICATION")
rst2("CBREPLICATION") = rst3("CBREPLICATION")
....

Mon problème vient du rst2.AddNew, j'ai un erreur me disant que l'objet "ADODB.Recordset" ne permet pas de faire de mise à jour.

J'aurais bien écrit une requête du type "INSERT INTO" mais comme mes tables viennent de deux sources différentes je sais po comment faire

Si quelqu'un pouvait m'aider... PLEASE!

3 réponses

Messages postés
262
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
19 décembre 2010
8
Bonjour,

Essaye qqch du genre :

(...)
Set rst2 = CreateObject("ADODB.Recordset")
rst2.CursorType = 1 '1:adOpenKeyset
rst2.CursorLocation = 3 '3:adUseClient
rst2.LockType = 3 '3:adLockOptimistic
rst2.Open "SELECT * FROM Tbl_FComptet", db

While Not rst3.EOF
rst2.AddNew
rst2("BT_NUM") = rst3("BT_NUM")
rst2("CA_NUM") = rst3("CA_NUM")
rst2("CBCREATEUR") = rst3("CBCREATEUR")
rst2("CBMODIFICATION") = rst3("CBMODIFICATION")
rst2("CBREPLICATION") = rst3("CBREPLICATION")
(...)

wape
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 179 internautes nous ont dit merci ce mois-ci

Messages postés
85
Date d'inscription
jeudi 17 novembre 2005
Statut
Membre
Dernière intervention
15 février 2006
2
Merci bien wape, cela m'a été très utile.
Cela dit en passant, j'ai remarqué qu'on pouvait économiser quelques lignes en faisant

rst2.Open "SELECT * FROM Tbl_FComptet", db, 2, 3

En tout cas merci pour ton aide.
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 179 internautes nous ont dit merci ce mois-ci

Messages postés
85
Date d'inscription
jeudi 17 novembre 2005
Statut
Membre
Dernière intervention
15 février 2006
2
Merci bien wape, cela m'a été très utile.
Cela dit en passant, j'ai remarqué qu'on pouvait économiser quelques lignes en faisant

rst2.Open "SELECT * FROM Tbl_FComptet", db, 2, 3

En tout cas merci pour ton aide.
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 179 internautes nous ont dit merci ce mois-ci