Still not really clear. A Recordset is an object, so you should be able to simply query all the records you want in one go and assign them to a recordset. If you need to assign each record to a custom object, you can do that in a loop through your recordset, but if you need to make changes and write them back to the database, leaving them in a recordset seems simplest to me.
Thanks Rory. That's an interesting idea. Is it possible to update a recordset object after the connection has closed? I'm currently populating custom class objects that are used in the application for data manipulation, etc, so the updates would need to be done at a later time after the user has gone through and made changes. For example at one point they might need data from Table A and be working on that and then need to pull data from Table B which will impact information in Table A and at the end they all need to be updated. I liked having the data in custom objects because I also populate the objects with other helpful information from related tables so I can access it very easily, i.e. a table has as field with a primary key of another table so I'll automatically populate a property with the "Name" in the other table's associated record, and I also like that I can easily identify the information I'm looking for with intellisense.
In the meantime I've just created functions that basically create a new copy of the object to do it that way but the idea of being able to easily update tables using the recordsets seems like it might make things easier. I'm just not sure how I would handle doing the update at a later time and if there would be an easy way to reference the fields like I'm doing with the custom classes.
Thanks again.