As far as speed goes, I have read many places that using rs.GetRows is better the just using a recordset. I have been testing this for myself. And this is what I have noticed. As far as getting the data, <BR><BR>Set objRS = objConn.Execute(strSQL)<BR><BR>VS<BR><BR>Set objRS = objConn.Execute(strSQL)<BR>arryRS = objRS.GetRows<BR><BR>I have found that it takes about 3 times as long to get the data into an array. As far as looping through the results,<BR><BR>Do while not objRS.Eof<BR><BR>VS<BR><BR>For i = 0 to UBound(arryRS, 2)<BR><BR>I have found that the array is about 8 - 9 times faster. Now, this is what I want to know if anyone else has found. When I take my code and put it into a VB COM object, the RS actually out performs the array. Can anyone else let me know if they have found anything like this.<BR><BR>Thanks.