Le open de ta connection(RS) SQL est dans une boucle.
Tu ne peux ouvrir un recordset qui est déjà ouvert.(à moins de le refermer avant).
Si j'ai bien compris le code
au début de la boucle tu ouvres un RS sur SQL(open)
tu ajoutes une ligne(addnew)
tu initialise un champ sql avec un
champ access
tu mets à jour l'enregistrement(update
et tu passes au champ suivant.
En fait tu crées une ligne sql par champ access.
Essaie
Rt.Open ''SELECT * from MATABLEACCESS where AGE = 18'',
"DSN=MABASEACCESS"
Rs.Open ''SELECT * from MATABLESQL'', "DSN=BASESQL", adOpenDynamic,
adLockOptimistic ' je veux ouvrir la base SQL pour y intégrer les données.
do until rt.eof
Rs.Addnew
For each RS.Fields
Rs !CHAMP1SQL = Rt!Champ1Access
....
'je passe au champ suivant de la base ACCESS
Next rs.Fields
Rs.update
rt.movenext
loop
Bonne chance
Jean