i dont follow what you mean by the "Table is generated rather than using a recordset"
The structure of the recip array is created by looping through the recordset, and adding an index to the array for each record in the recordset.
No matter how the table is created, you need to use a recordset to return the data from it.