Typically I will use one Public recordset throughout an application.

However, there are times when I need a second recordset for a specific issue. During those times, I will create an event level recordset, do what I need to do, then destroy it.

Often you may need certain elements of one recordset as variables in another query which would generate another recordset. Once you are done with both, then the temp recordset gets destroyed and you continue on with your primary recordset.