Well if all else fails you could just cycle through the recordset and keep a counter of how many records there are... something like:
VB Code:
  1. Do While Not rs.EOF
  2.   intCtr = intCtr + 1
  3.   rs.MoveNext
  4. Loop
The only problem with this is, if your queries take a long time to execute it will slow your application down.

Michael