![]() |
Cómo puedo hacer un filtro booleano en paradox?
Hola, tengo un problema para hacer un filtro booleano en paradox (en Delphi 6), uso el código:
Código:
mitabla.filter:='micampo = ' + QuotedStr('TRUE'); después intenté simplemente con: Código:
mitabla.filter:='micampo = TRUE'; Aunque cuando compila no manda ningún error, al intentar hacer el filtro me manda el error y marca como si el error estuviera en la línea de abajo de la funcion que usa el código, lo explico rapidamente:
La línea donde me marca el error es en tabla.first, y si quito la llamada a la funcion filtro entonces no hay ningún error. Espero puedan ayudarme U.U... Byes! |
Hola
A veces algunas tablas necesitan esto: Pasa en access, pruebalo, tal vez sirva. Saludos |
No... parece que no funciona me dice que las comillas no son aceptadas para expresiones de filtros u.u... Ya las probé de algunas formas, como sin apostrofes, dentro de un quotedstr con y sin apostrofes, etc. En resumen creo que esa no es la forma, pero gracias.
Alguien más que tenga una idea de como hacerlo? :( Byes! |
|
|
Si había probado con ambas opciones pero no funcionó x_x, creo que es algo de que el Delphi no jala correctamente los valores del Blob binary (el campo booleano), tampoco puedo mostrar los valores de este tipo de campo en dbgrid´s.
Pero bueno, cambié el tipo del campo a Alfanumérico y compararé si el valor es S o N... creo que será la forma menos complicada. Muchas gracias por la ayuda igualmente, pero si alguien de todas formas conoce la forma en que se hacen estos filtros no dude en postearlo <.< Byes! |
Hola
Cita:
Bueno, cuando aprenda, te ayudo. Saludos |
la respuesta...
Cita:
( lo se porque tambien he caido en esa... ! jaja !. Pongo la "B" pensando en Booleano... pero la "B" es para Blob Binary.. que es otra cosa !!! ) Sugerencia, prueba hacer el cambio de la definicion en la tabla, y despues prueba directo en el Object Inspector poner el filtro, (cuando estas en modo de "edicion" en Delphi). Poner la condicion en la propiedad Filter, sin comillas ni nada, para probar: NombredelCampo=true ( esto lo escribes en la propiedad. Si funciona ahi, todo estata bien en el programa. En el programa escribes TablaX.Filter := 'nombreDelCampo = true' ; Asi de sencillo, sin el quotedString, ni dobles comillas. Tal y como haces la prueba en el ObjectInspector, asi debe funcionar en el programa. Suerte, ojala te sirva ! |
y recuerda...
...y recuerda.. poner la propiedad Filtered en true, para que tenga efecto el filtro. Tambien un Table.Refresh viene bien despues de quitar poner / quitar filtros, sobre todo en multiusuario...
( se que son tonteras lo que escribo aqui, pero como a mi a veces se me olvida hacerlo, pues se me ocurre que quizas a otra persona tambien se le olvide hacerlo de vez en cuando ! ). P.D. para mi es mucho mejor usar el evento OnFilterRecord, puedo hacer filtros que son mas complejos ahi, que no podria hacerlos en el "Filter", y a mi se me hace mas sencillo poner la logica en el OnFilterRecord, que en el Filter, pero como todo en la vida, es cuestion de gustos y costumbres. Saludos otra vez |
La franja horaria es GMT +2. Ahora son las 12:44:59. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi