FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Problema al aplicar un filtro con ADO
Hola amigos, vereis he hecho una aplicacion para hacer listados sobre una tabla access, el acceso es con componentes ADO, y realizo varios filtros sobre ella, pero el problema me viene solo en uno de ellos,
la tabla contiene 35000 registros mas o menos en total, y resulta que al aplicar dicho filtro se bloquea el programa, este filtro solo tiene dos valores o filtrar por true o filtrar por false, al hacerlo por false no hay problema al igual que los demas filtros, que tampoco dan problema, solamente se bloquea la aplicacion al filtrar por true en ese campo, he observado que quiza sea por la cantidad de registros que tiene y la transaccion en ese caso que tiene que tiene que hacer, porque por los demas filtros se ve que no tiene ke mover tantos registros pero con ese debe ser que son demasiados por que he probado a dejar la tabla con menos registros(unos 15000) y he comprobado que tambien se bloquea y tiempo pero al final se desbloquea y consigue mostrarlos, por lo que deduzco que tiene que ser eso. Y ahora va la pregunta, quiere decir esto que no voy a poder filtrar esta tabla por la cantidad de registros que tiene? Si alguien sabe otra manera de hacerlo o alguna opcion que evite este problema, os agradeceria mucho que echarais una mano. Bueno ahi queda todo, a ver si hay suerte y al guien sabe como podria arreglarlo. ah, y, utilizo delphi 5. un saludo. |
#2
|
|||
|
|||
aqui os pongo el codigo del filtro que hago
Aqui os pongo el codigo del filtro que hago para que os hagais una idea
Código Delphi [-] var Campo, Valor, Operador: string; begin Campo := 'Pasa'; Valor := QuotedStr(combobox2.text); Operador := '='; Table1.Filter:=format('[%s] %s %s', [Campo,Operador, Valor]); Table1.filtered:=true; Table1.Refresh; end; Saludos www.giorgiosoft.es |
#3
|
|||
|
|||
tabla con el filtro atascado
Hola Giorgio
Soy un recien ingresado al foro. Veo que descubriste el problema, si no me equivoco la forma de trabajar del filtro es mostrar en la grilla registros que cumplan tu condición, condicion que evalua sobre cada registro... Yo te recomendaria usar un componnente sql de la paleta ADO y pon tu condición el la consulta (select <campos> from <tablas> where <condicion>) que es la condicion del filtro, de esta forma trabaja el motor de la base de datos que accedes y solo devuelve los registros necesarios. Otra cosa el refresh que haces a la ttabla deberias sacarlo, creo que esta de mas, no he probado. saludos |
#4
|
|||
|
|||
Gracias
Si esa solucion es por la que he optado, aunque preferia no hacerlo, ya que
tenia que cambiar despues los datasource para hacer el listado pero bueno como no habia otra pues me puse a cambiarlos y luego los vuelvo a cambiar para los demas filtros y solucionado. Muchas gracias por todo y un saludo, Aqui estare para el que le haga falta un cable, jeje www.giorgiosoft.es |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Aplicar filtro. DirectShow | mar646 | Gráficos | 4 | 27-04-2010 15:19:51 |
Aplicar Perspectiva | PiornoCKA&G | Gráficos | 0 | 24-12-2006 13:56:57 |
Problema con filtro en IBDataset | senpiterno | Conexión con bases de datos | 2 | 31-01-2005 00:19:51 |
Agregado, Filtro, ClientDataSet, Problema en Count() | andre | Conexión con bases de datos | 1 | 23-07-2004 14:47:07 |
¿Cómo podemos dejar de aplicar un filtro? | vhirginia | Conexión con bases de datos | 3 | 27-04-2004 17:34:24 |
|