PDA

Ver la Versión Completa : DBGrid saber total de registros de lo que se ve


liz_hilton
02-06-2005, 04:55:12
Hola :confused:

Ojala que tengan un poco de tiempo. Gracias.
Mi pregunta es: ¿Como puedo saber el total de registros que hay en un dbgrid, sin tener interaccion con la tabla? es decir, quiero saber cuantos registros tiene el dbgrid mientras esta en tiempo de ejecucion y mandar el valor de este total a un edit. He intentado con el fieldcount y con el recordcount, tambien con el selectedrows. Con algunos de estos me marca error al compilar y me dice que no existe esta propiedad. X favor agradecere su ayuda x q este asunto ya me tiene un tanto desesperada y no doy.
Gracias

roman
02-06-2005, 05:36:20
¿Como puedo saber el total de registros que hay en un dbgrid, sin tener interaccion con la tabla?


Pues es que esto no es posible. Un grid sólo tiene el número de filas que se ven en pantalla, cuyo contenido se va reemplazando conforme te desplazas pidiendo los datos al dataset asociado a ella. Así que tendrías que usar algo como

DBGrid1.DataSource.DataSet.RecordCount

y no con todas las bases de datos te servirá ya que muchas veces no es posible saber el número de registros hasta que no recorres todos.

// Saludos

ContraVeneno
10-06-2005, 16:06:03
DBGrid1.DataSource.DataSet.RecordCount

y no con todas las bases de datos te servirá ya que muchas veces no es posible saber el número de registros hasta que no recorres todos.

// Saludos
Así es, no siempre funciona pero lo que podrías hacer es lo siguiente:

DBGrid.Datasource.Dataset.Last;
DBGrid.Datasource.Dataset.First;
X:=NumDBGrid1.DataSource.DataSet.RecordCount;


donde X es una variable tipo integer...

roman
10-06-2005, 16:21:18
Pero recordemos que la operación Last fuerza a traer todos los registros, lo cual puede ser muy costoso en tiempo y rendimiento si se trata de muchos registros. En tales casos es mejor lanzar directamente una sentencia

select count

a la base para determinar el número de registros que satisfacen cierto criterio.

// Saludos