select * from customer into cursor crsCustomer oCustomer = Cursor2Obj('crsCustomer') ? oCustomer.aRecords[5].Company Procedure Cursor2Obj(m.tcAlias) select (m.tcAlias) oCarrier = createobject('custom') oCarrier.Addproperty('nRecords',reccount()) if oCarrier.nRecords > 0 oCarrier.Addproperty('aRecords['+trans(reccount())+']') scan scatter name oCarrier.aRecords[recno()] memo endscan endif return oCarrierI didn't include structure inclusion, error checking, restoring alias etc but I think this is more feasible (with multiple tables my real world production timings are under a second - never timed really, because the response was instant).