Filtros

Hola. Tengo un problema, se trata de construir un formulario con diferentes entradas en texto y combos, y a partir de las entradas, llenas y vacías, construir varios "set filter" para sacar los datos de la tabla. Una búsqueda multicondicional.
El problema es que son demasiadas combinaciones para programar individualmente con un do case o con if anidados. Una manera más sencilla que se me ocurre es aplicar un filtro a la tabla de acuerdo a la primera opción que encuentre llena, y sobre LA TABLA FILTRADA aplicar nuevos filtros dependiendo de las otras opciones, pero no he encontrado la manera de hacerlo. Un nuevo set filter desactiva el filtro anterior que la tabla pudiera tener. También he pensado en "construir" la instrucción set filter en forma de cadena de texto, y luego "ejecutar" esa cadena de texto de alguna manera, pero no he encontrado manera de hacerlo tampoco. ¿Puedes ayudarme por favor? Gracias.
Respuesta
1
Según lo que entiendo, tu problema puede radicar en el manejo de información, lo que te puedo aconsejar es que con las tablas que tienes creadas puedes crea un VISTA con la combinación de las tablas y componer la vista con los datos que necesitas, incluso puedes parametrizar la vista.
Supongo que sabes donde puedes crear un vista.
para parametrizar tienes que poner en la opcion de filtro
tabla.campo = ?var
despues en el formulario tienes que abrir la vista como nodata "use tabla nodata in 1" y cuando quieres filtrar un dato tienes que hacer un requery
select "tabla"
var=xvar_a_filtrar
Requery(1)
Te consejaría que te manejes bastante con este tema por que no es aconsejable tener set filter ya que en grandes volúmenes de información se torna muy lento y ocupa mucho espacio de entorno.
Segunda opción:
Siguiendo tu ejemplo lo que esta sucediendo es que no estas tiendo en cuenta los indices activos correspondiente a cada tabla en el momento de filtrar la información.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas