when paging through a recordset, it will allocate the number of records which are stored in memory. if you're only displaying ten records of a 1000 record recordset, it's a sensible idea to have only those ten in memory, instead of the 1000<BR><BR>jason<BR>http://infinitemonkeys.atrax.co.uk/
The .CacheSize should be set on a .RecordSet object before it is opened.<BR><BR> set ObjRS = server.createObject("adodb.recordset")<BR> objRS.cacheSize = 25<BR> objRS.open "select top 25 * from foo"<BR> ...<BR><BR>There was a nifty article on this last month or so detailing how (or a reasonable hypothesis of how) the .cacheSize works.
The other guys seem to have done a reasonable job of explaining .CacheSize, but I thought I'd mention a couple of extra points:<BR><BR>1. It only makes any difference if you CursorLocation is adUseServer - if you're using a client cursor then all records will be transfered into memory anyway.<BR><BR>2. As soon as you call .RecordCount all records are transfered into memory so they can be counted. There are a couple of other properties/methods that do this as well, but I can't remember which.<BR><BR>Dunc