![]() |
Problema con Filter y campo boolean
Hola a todos,
tengo un problema que no logro comprender porque creo que es lo más sencillo del mundo pero no me funciona como quiero. Tengo un ClientDataSet que está enganchado a un DataSetProvider y este a un AdoQuery, en el ClientDataSet quiero filtrar por el valor True de un campo Boolean, entonces pongo en el código lo siguiente:
Pero no me devuelve ningún valor, ahora mismo la tabla tiene todos los registros a true menos uno, si en lugar de poner el filtro con true lo pongo con false me sale el único que registro que tengo en False, al revés me debería sacar todos los demás, ¿no?. No se me ocurre que puede estar pasando, si alguien sabe que puede ser agradecería la ayuda. Por cierto, la base de datos esta en access, por si sirve de algo. Saludos. |
Hola de nuevo,
estoy haciendo pruebas y me encuentro con que si hago el filter directamente en el AdoQuery y luego activo el ClientDataSet entonces si me hace el filtro correctamente. Solo falla cuando hago el filter directamente en el Client. Saludos. |
Hola,
sigo haciendo pruebas y me encuentro con que si lo que pongo en filter es:
entonces si funciona :confused::confused::confused:, no se que les parece el asunto, a mi un poco raro. Saludos. |
Hola ElDioni.
Fijate de este modo: En las pruebas funciona correctamente, mostrando alternativamente los campos verdaderos y falsos. Saludos. |
Hola ecfisa, gracias por tu tiempo.
He estado probando lo que me propones pero me ocurre lo mismo que poniendo directamente escrita la consulta en el filtro (Filter:='Principal=true';), cuando el valor es false me saca el registro correctamente pero para true no, no se porque ocurre, de momento lo tengo solucionado con lo que comentaba antes: Pero que me parece extrañísimo el comportamiento. Seguiré mirando a ver que puede ser, y si puedes arrojar algo de luz al asunto te lo agradezco. Saludos. |
Hola.
Si es realmente extraño... Te hago unas consultas, ¿ Con que bd estas trabajando y de que tipo es el campo 'principal' ? Saludos. |
Te comento, sera mejor que te sientes antes de leer esto, las bases de datos están hechas en access 97, el campo Principal es un campo Si/No (boolean), yo creo que en alguna ocasión he realizado este tipo de acciones, no con esta tabla que es nueva, pero si con otras tablas y no he tenido este tipo de problemas, si hago la una consulta sencilla en access funciona bien, si lo hago desde el adoquery1 del que coge los datos el clientdataset lo hace bien, solo falla cuando lo hago desde el client, pero que si funciona si lo hago con el "not principal=false", stranger in the night.
Saludos. |
| La franja horaria es GMT +2. Ahora son las 10:11:42. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi