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

Messages postés
85
Date d'inscription
jeudi 17 novembre 2005
Dernière intervention
15 février 2006
- - Dernière réponse : Simouss33
Messages postés
85
Date d'inscription
jeudi 17 novembre 2005
Dernière intervention
15 février 2006
- 9 févr. 2006 à 10:42
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!
Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
262
Date d'inscription
samedi 21 décembre 2002
Dernière intervention
19 décembre 2010
5
1
Merci
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

Dire « Merci » 1

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

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

Messages postés
85
Date d'inscription
jeudi 17 novembre 2005
Dernière intervention
15 février 2006
2
1
Merci
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.

Dire « Merci » 1

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

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

Messages postés
85
Date d'inscription
jeudi 17 novembre 2005
Dernière intervention
15 février 2006
2
1
Merci
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.

Dire « Merci » 1

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

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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.