Copier des données en VB dèune table vers une autre.

Discussions et dépannage concernant Access (Toutes versions).

Modérateur : Modérateurs

Répondre
appm30
Membre
Membre
Messages : 38
Enregistré le : 02 juin 2005, 23:00:00
Localisation : france,nimes
Contact :

Message par appm30 » 04 juin 2003, 21:21:00

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.

Kitty
Membre hyperactif
Membre hyperactif
Messages : 771
Enregistré le : 02 juin 2005, 23:00:00
Localisation : CorbeauxLand

Message par Kitty » 05 juin 2003, 00:01:00

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
Bye,
Kitty
Image

appm30
Membre
Membre
Messages : 38
Enregistré le : 02 juin 2005, 23:00:00
Localisation : france,nimes
Contact :

Message par appm30 » 05 juin 2003, 12:08:00

Merci pour ton aide
il me répond impossible de mettre a jour Recordset

Nemric
Membre hyperactif
Membre hyperactif
Messages : 676
Enregistré le : 02 juin 2005, 23:00:00
Localisation : Le Puy en Velay / Lyon
Contact :

Message par Nemric » 05 juin 2003, 12:22:00

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

~ ALEA JACTA EST ~
Image
~ No Patch For Stupidity ~

Répondre

Retourner vers « Access »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité