Ver Mensaje Individual
  #3  
Antiguo 10-06-2008
Angel Fernández Angel Fernández is offline
Miembro
 
Registrado: may 2004
Ubicación: Valencia - España
Posts: 141
Reputación: 20
Angel Fernández Va por buen camino
Hola.
En primer lugar, que quede claro que no soy ningún experto en la materia, así que lo que voy a decir mejor tomarlo con ciertas reservas.

Eso también me pasaba a mí y es porque, creo, firebird cuando devuelve datos, devuelve sólo los que se van a ver en pantalla. En un listsource con ver un dato es suficiente (en realidad no lo es) así que sólo devuelve un dato en una primera fase. Esto se puede solucionar como dice Cañones, haciendo simplemente un Last después de abrir el dataset. Al hacer last, firebird devuelve todos los registros (que concuerden con el criterio de búsqueda) y no sólo los que se ven en pantalla. Después de last puedes hacer otra vez first para colocar el dataset al principio.
Hacer last tiene un inconveniente: si tienes muchos datos, tardará considerablemente en traerlos. Pero supongo que en un list no estarás usando un dataset con miles de datos.

Otra forma de solucionarlo sin hacer last pero sólo válido si usas FIBPLUS:
En la propiedad del FibDataSet-> Options -> poFetchall -> poner a true.
Esto devuelve también todos los registros.

Un saludo.
Responder Con Cita