I'm sure there are several ways to do it. As long as you aren't returning a very large result set your technique seems suitable. You might be able to do it more efficiently, but as long as there aren't that many rows in the recordset that probably wouldn't be significant.