PDA

Ver la Versión Completa : Añadir campos persistentes en tiempo ejecucion


Firibiri
19-12-2003, 11:14:39
Saludos a todos.
Vereis, tengo una ibquery que utilizo como busqueda general, y que puede tener diferentes consultas.
Mi pregunta es: ¿Como puedo quitar/poner todos los campos que me devuelve una consulta como persistentes a esa ibquery en tiempo de ejecución?
No se si me he explicado bien.

Gracias de antemano y felices fiestas a todos.

jachguate
19-12-2003, 16:28:03
Hola. La idea de campos persistentes es precisamente que existen en tiempo de diseño, podes ajustar sus propiedades y almacenarlas dentrdo del dfm.

No entiendo que pretendes... pero definitivamente estas confundido con el concepto de campos persistentes, salvo que querras que los campos "persistan" entre ejecuciones del programa, cosa que sería posible simplemente haciendo persistente (via archivo ini, registry u otro) la consulta que genera dichos campos, y sus propiedades.

Hasta luego

;)

Firibiri
19-12-2003, 17:41:12
Creo que mi explicación no ha sido muy buena.Lo que pretendo es hacer un formulario de búsqueda general.
Según los parámetros se genera una consulta u otra (le paso por que tabla quiero buscar)."select * from +la_tabla_que_le_paso".Y a partir de allí le sale un grid y unos edits para introducir valores a buscar de esa tabla.

Esto ya me funciona, lo que pasa es que según que tabla tiene claves foraneas y quiero que se muestre la "descripción" a esa tabla ,y no el codigo FK.
Para resolver ésto había pensado crear un campo calculated en la IBquery de la búsqueda en tiempo de ejecución y mediante una función que ya tengo echa que me devuelva el valor que yo quiero,pero claro éste dependerá de la la tabla por la que quiero consultar.Por eso quiero añadir campos persistentes a esa query ,ya que no será siempre la misma.

Gracias a todos

Lepe
22-12-2003, 11:43:08
Creo que te interesa hacer un inner join de las dos tablas:



select tabla1.blahblah, tabla2.descripcion from tabla1
inner join tabla2 on ( tabla1.codigoForaneo = tabla2.codigo)



no sé si puedes hacer un ... select tabla1.*, tabla2.descripcion,
eso te toca probarlo a ti ;)

Y como dice jachguate, creo que no te queda mas remedio que
guardar los nombres de las tablas y/o parte de la consulta en
algun sitio auxiliar, de esta forma, dependiendo de la tabla que le
pases, tambien seleccionaría los campos que intervienen en el
inner join.

De momento se me ocurre que a cada tabla le asignes un valor
en la propiedad tag, y despues con un "case" decides que
campos intervienen en el inner join.

Espero que te sirva de algo.

Saludos

Editado por la simpática barrita de desplazamiento horizontal