Jan
Why not convert the ADO recordset to a VFP cursor and work from there?
If the join field to the target table is indexed then set a relation to it, after which you can achieve what you need with a single update or replace command
select mycursor
replace mytable.field1 with mycursor.field1,;
mytable.field2 with mycursor.field2... all
If the join field in the target table is not indexed, then use a SQL statement (if necessary index the cursor on the join field to get Rushmore) to pull the table records, then use cursorsetprop() to make the resulting cursor editable, then repeat the above. It will take longer because of view buffering but will still be quicker than ADO.
IMHO ADO is quite a viable way to share data between apps but I agree that it may not be the best way to process data. In this case I do not see that you have to process using ADO, so I wouldn't hesitate to do try the above.
HTH
Regards
JR
"... They ne'er cared for us
yet: suffer us to famish, and their store-houses
crammed with grain; make edicts for usury, to
support usurers; repeal daily any wholesome act
established against the rich, and provide more
piercing statutes daily, to chain up and restrain
the poor. If the wars eat us not up, they will; and
there's all the love they bear us."
-- Shakespeare: Coriolanus, Act 1, scene 1