Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Méthode d'upload de données entre 2 bases

4 réponses
Avatar
Olivier
Bonjour tout le monde...

P'tite question de "codage" VBA.
J'ai deux tables et je veux mettre les donn=E9es d'une=20
table dans l'autre.

exemple :=20
- Table Tata et Table Toto
- Champs : champ1 et champ2

Le code que j'=E9cris est :

Dim MyDb as Database
Dim Rst1 as Recordset
Dim Rst2 as Recordset

Set MyDB =3D CurrentDB
Set Rst1 =3D MyDB.OpenRecordset("Tata")
Set Rst2 =3D MyDB.OpenRecordset("Toto")

With Rst1
.MoveFirst (Je sais que c'est optionnel, mais bon !!)
While Not.Eof
.Edit
Rst2.AddNew
Rst2!Champ1 =3D !Champ1
Rst2!Champ2 =3D !Champ2
Rst2.Update
.Update
.MoveNext
Wend
End With

Quelle est la proc=E9dure pour ajouter tous les champs d'un=20
enregistrement d'un seul tenant, sans passer par ajouter=20
champ par champ.

Mille merci pour votre aide et vous souhaite une agr=E9able=20
fin de journ=E9e.

Olivier

4 réponses

Avatar
Pierre CFI [mvp]
bonjour
une req ajout suffit non ?
tu pourras l'executer en code

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"Olivier" a écrit dans le message de news:2f5401c50874$76ab3f10$
Bonjour tout le monde...

P'tite question de "codage" VBA.
J'ai deux tables et je veux mettre les données d'une
table dans l'autre.

exemple :
- Table Tata et Table Toto
- Champs : champ1 et champ2

Le code que j'écris est :

Dim MyDb as Database
Dim Rst1 as Recordset
Dim Rst2 as Recordset

Set MyDB = CurrentDB
Set Rst1 = MyDB.OpenRecordset("Tata")
Set Rst2 = MyDB.OpenRecordset("Toto")

With Rst1
.MoveFirst (Je sais que c'est optionnel, mais bon !!)
While Not.Eof
.Edit
Rst2.AddNew
Rst2!Champ1 = !Champ1
Rst2!Champ2 = !Champ2
Rst2.Update
.Update
.MoveNext
Wend
End With

Quelle est la procédure pour ajouter tous les champs d'un
enregistrement d'un seul tenant, sans passer par ajouter
champ par champ.

Mille merci pour votre aide et vous souhaite une agréable
fin de journée.

Olivier
Avatar
Gafish
Bonjour,

Et si tu fais la chose suivante :

Dim MyDb as Database
Set MyDB = CurrentDB
MyDB.Execute "INSERT INTO Tata ([Chp1], [Chp2]) SELECT Toto.Chp1,Toto.Chp2
FROM Toto;"
Set MyDB = nothing

ca fait ce que tu souhaites ?

Arnaud


"Olivier" a écrit dans le message news:
2f5401c50874$76ab3f10$
Bonjour tout le monde...

P'tite question de "codage" VBA.
J'ai deux tables et je veux mettre les données d'une
table dans l'autre.

exemple :
- Table Tata et Table Toto
- Champs : champ1 et champ2

Le code que j'écris est :

Dim MyDb as Database
Dim Rst1 as Recordset
Dim Rst2 as Recordset

Set MyDB = CurrentDB
Set Rst1 = MyDB.OpenRecordset("Tata")
Set Rst2 = MyDB.OpenRecordset("Toto")

With Rst1
.MoveFirst (Je sais que c'est optionnel, mais bon !!)
While Not.Eof
.Edit
Rst2.AddNew
Rst2!Champ1 = !Champ1
Rst2!Champ2 = !Champ2
Rst2.Update
.Update
.MoveNext
Wend
End With

Quelle est la procédure pour ajouter tous les champs d'un
enregistrement d'un seul tenant, sans passer par ajouter
champ par champ.

Mille merci pour votre aide et vous souhaite une agréable
fin de journée.

Olivier
Avatar
Pierre CFI [mvp]
.../...
ton code de plus est "suspect" le Edit ??

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"Gafish" a écrit dans le message de news:
Bonjour,

Et si tu fais la chose suivante :

Dim MyDb as Database
Set MyDB = CurrentDB
MyDB.Execute "INSERT INTO Tata ([Chp1], [Chp2]) SELECT Toto.Chp1,Toto.Chp2
FROM Toto;"
Set MyDB = nothing

ca fait ce que tu souhaites ?

Arnaud


"Olivier" a écrit dans le message news:
2f5401c50874$76ab3f10$
Bonjour tout le monde...

P'tite question de "codage" VBA.
J'ai deux tables et je veux mettre les données d'une
table dans l'autre.

exemple :
- Table Tata et Table Toto
- Champs : champ1 et champ2

Le code que j'écris est :

Dim MyDb as Database
Dim Rst1 as Recordset
Dim Rst2 as Recordset

Set MyDB = CurrentDB
Set Rst1 = MyDB.OpenRecordset("Tata")
Set Rst2 = MyDB.OpenRecordset("Toto")

With Rst1
.MoveFirst (Je sais que c'est optionnel, mais bon !!)
While Not.Eof
.Edit
Rst2.AddNew
Rst2!Champ1 = !Champ1
Rst2!Champ2 = !Champ2
Rst2.Update
.Update
.MoveNext
Wend
End With

Quelle est la procédure pour ajouter tous les champs d'un
enregistrement d'un seul tenant, sans passer par ajouter
champ par champ.

Mille merci pour votre aide et vous souhaite une agréable
fin de journée.

Olivier





Avatar
Olivier
Merci à vous deux,

Je sais que par une requête d'ajout ou de création, on
peut faire cela, mais je voulais savoir s'il on
pouvait "balayer" tous les champs d'une table en un
minimum de code afin de les ajouter dans une autre table.

A une époque pas si lointaine, on devait éditer
l'enregistrement afin de pouvoir manipuler les données
qui s'y trouvaient.. Ce n'est donc pas si suspect que
cela. Qu'aujourd'hui, cela ne soit + nécessaire, may
be....

Mais merci quand même de votre réponse, je ne me sens pas
si largué que cela lorsque je lis vos réponses car c'est
dans ce sens que j'aurais répondu..

Olivier...




-----Message d'origine-----
..../...
ton code de plus est "suspect" le Edit ??