View Full Version : rs.recordcount

04-07-2006, 11:54 PM
Hi friends,

How I do to reduce/change the real value of rs.recordcount in 20% ?

DIM totalput
if rs.recordcount>10 then
if rs.recordcount>20 then

end if
end if

But this not works. Thios not change the real value of rs.recordcount!

Thank you


04-09-2006, 01:18 AM
you do realize that if you don't use a static cursor when you open the recordset that the value of rs.recordcount is always -1 don't you? Make sure you are using a static cursor. That is done like this

rs.open "SELECT * FROM widgets",conn, 3
rs.open "SELECT * FROM widgets",conn, adOpenStatic

04-10-2006, 02:56 PM
Another option is to loop through to count the records

rs_total = rs.RecordCount

If (rs_total = -1) Then

' count the total records by iterating through the recordset
While (Not rs.EOF)
rs_total = rs_total + 1

' reset the cursor to the beginning
If (rs.CursorType > 0) Then
End If

End If

04-11-2006, 01:33 PM
Why would you loop through to get the count? That is a very inefficient way of doing it. And if you have result in millions it could cause the server to timeout before the result was displayed.

You could also use rs.GetRows then just get the upper limit of the array. By using a static cursor or using GetRows, either way is much more efficient than looping through the recordset.

aRows = rs.GetRows
totalput = UBound(aRows,2)

04-23-2006, 08:34 PM
Hi, Miranda and Degsy,

Sorry, but I am busy of work! I had not time to try your scripts!

The suggestion of Miranda makes sense.

I find a rude and 'home' solution:

recordsToShow = 5

calculo= round(rs.recordcount/rs.pagesize-2)

For i = 1 To calculo
rcount = i
If currentPage > 1 Then
For x = 1 To (currentPage - 1)
rcount = 10 + rcount
End If

In this way, instead to show 10 results it show only 6!

Could I use the following?

select top 1000 from mytable

Thank you again


04-25-2006, 04:48 PM
Do you want a page to specifically output a certain amount of records or do you want paging?

The techniques would be different.

With paging you would grab all of the records and use a counter to tell the script how many to output.

04-25-2006, 08:56 PM
Hi Degsy,

I want a page to specifically output a certain amount of records!

Now I found other and best way to do this:

select TOP 20 percent from tableA

But it is a 'straitjacket'.

Could I do this: SELECT TOP 20 PERCENT (TOP 1000) FROM TABLEA ????

or similar thing?

Thank you for your interest in help me!


04-26-2006, 01:10 PM
In Access you can use Percent.

SELECT TOP 20 Percent FROM table

EZ Archive Ads Plugin for vBulletin Copyright 2006 Computer Help Forum