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.
Copier des données en VB dèune table vers une autre.
Modérateur : Modérateurs
-
- Membre hyperactif
- Messages : 771
- Enregistré le : 02 juin 2005, 23:00:00
- Localisation : CorbeauxLand
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
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

Kitty

-
- Membre hyperactif
- Messages : 676
- Enregistré le : 02 juin 2005, 23:00:00
- Localisation : Le Puy en Velay / Lyon
- Contact :
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
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
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité