If you can't define the records that you want by using a SQL query then 2 ways that I've used before is to either fill an array with the records that you want and then empty them out to what-ever business object you are using, or to create a temporary recordset using MSPerist and copying the records across one field/record at a time from the large recordset. Both are quite fast.

If you think either of these might work and you need any examples let me know and I'll post some for you.

Phil