La Web del Programador: Comunidad de Programadores
 
    Pregunta:  33292 - EL CONTROL MSHFLEXGRID TIENE LIMITACIONES EN EL Nº DE FILAS
Autor:  Gabriel Monreal
Hola,

Antes de describir el problema que tengo, os comento que se trata de una aplicación Cliente/Servidor desarrollada en VB 6, sobre una BD en SQL Server 2000.
Mi problema es el siguiente: tengo el típico formulario de consultas que a partir de una serie de criterios de búsqueda, me devuelve un conjunto de registros que cargo convenientemente en un Recordset ADO, el cual enlazo a un control MSHFlexGrid a través de su propiedad Datasource. Tras ello, se ejecuta un bucle que añade en la columna de la izquierda de cada fila del grid un checkbox para permitirle al usuario seleccionar una o varias filas. El problema surge cuando el recordset tiene más de 2048 registros, provocando un error (30009: Nº de fila no válido).
No dimensiono el nº de filas, ya que teóricamente al enlazar el recordset se hace, pero, en cualquier caso, he probado a añadir filas en el grid cuando es necesario. Lo que ocurre es que me añade las filas en el grid, pero, a partir del reg. 2049 (incluido) en adelante, no me presenta los datos en el grid.
¡¡De antemano, muchas gracias!!

  Respuesta:  Rafael Hernamperez Martin
Hola Gabriel,

Puede que el problema radique en la configuracion del SQLServer, no en la consulta.

Es posible configurar una paginacion de recordset por n registros o por x cantidad de memoria. Cuando se le pide datos, crea un buffer en memoria para alojar esa cantidad de registros, lo que conforma el Recordset. Cuando se navega a traves del recordset, al finalizar esa paginacion, se recupera la siguiente (o anterior, segun se mire) pagina de registros.

Un saludo

Rafael Hernamperez Martin