Page 1 sur 1

Posté : 04 juin 2003, 21:21:00
par appm30
Bonjour
Set db = CurrentDb
Dim mabase As Database
Dim Fiche As Recordset
Set Fiche = db.OpenRecordset("Facture", dbOpenDynaset)
Ce code permet d'ouvrir une table dans la base en cours pour y copier des données.
Comment ouvrir une table dans une autre base a partir de la base en cours.
Merci a ceux qui voudrons bien m'aider.

Posté : 05 juin 2003, 00:01:00
par Kitty
Bonsoir Appm30,

Pour copier des données d'une table à  une autre, dans des bases de données différentes, il te faut ouvrir les deux bases simultannement. Regarde l'exemple ci-dessous :

Dim Db1 As Database, Db2 As Database
Dim Tb1 As Recordset, Tb2 As Recordset
Set db1 = OpenDatabase(.....<I>lien vers la base n°1</I>.....)
Set db2 = OpenDatabase(.....<I>lien vers la base n°2</I>.....)
Set Tb1 = Db1.OpenRecordset(.....<I>lien vers la table de la base n°1</I>.....]
Set Tb2 = Db2.OpenRecordset(.....<I>lien vers la table de la base n°2</I>.....]

Pour fermer les deux tables & les deux bases :
Close Tb1
Close Tb2
Close Db1
Close Db2

Posté : 05 juin 2003, 12:08:00
par appm30
Merci pour ton aide
il me répond impossible de mettre a jour Recordset

Posté : 05 juin 2003, 12:22:00
par Nemric
Pour quelle raison ? il doit y avoir une explication !
n'as tu pas oublié les fameux

bd2.addnew ou bd2.edit et db2.update

test un truc du genre
do until db1.oef
db1.movefirst
bd2.addnew
db2![champ1] = db1![champ1]
db2![champ2] = db1![champ2]
db2![champ3] = db1![champ3]
bd2.update
db1.movenext
loop

S'il ne peut mettre a jour il se peu que la base soit ouverte par un autre utilisateur ou processus, cherche le bd2.ldb.

bonne chance