Como puedes ver en la ayuda de Delphi, la propiedad RecordCount indica el número de registros que se han recogido del servidor y no el número total de registros. Conforme recorres el query, se recogen más registros y aumenta RecordCount de manera que sólo hasta que has recorrido todos (lo cuál logras con Last) obtienes el número total. Esto es así porque al hacer la consulta, el servidor, a diferencia de como sucede con bases de datos como paradox, no envía todos los registros a la vez sino conforme se van requiriendo.
Algo que podrías hacer es contar los registros antes de ejecutar la consulta con una sentencia:
select count(*) from tabla_1
Si la consulta tiene condiciones agregas éstas a la sentencia anterior.
// Saludos
|