kbmMemTable contains several methods for copying from other TDatasets.
One is CopyRecords.
mt.CopyRecords(sourceds,mt,1,'',false);
Or if you yourself has an editable/appended/inserted record spot available on the destination, you can use AssignRecord(sourceds, destds);
Both will automatically figure out which fields to copy. CopyRecords will even allow you to map fields to other field names if needed.
mt.CopyRecords(sourceds,mt,1,'fld1a=fld1b;fld2a=fld2b',false);
Fields in source table fld1a and fld2a is mapped to destination table fields fld1b and fld2b.
/Kim