Generacion automatica de Reports

- Existe posibilidad de mostrar diferentes opciones de informe desde una Form, y que todas apunten sobre un mismo Report en el que he definido previamente un parámetro, que se completa con cada una de las opciones elegidas.
Este parametro contiene una cadena que modifica la parte Where de la Select del Report.
Cual seria la sintaxis adecuada para cargar este parámetro en la clausula Where de la consulta que genera el report.
No es este caso en el que el parámetro es el código del cliente:
Ej: select a from clientes where codigo=:p_cliente;
Es el caso en el que el parámetro es una cadena de la select
Ej. Select a from clientes ||:p_cliente
y p_cliente=' where cliente=1 and provincia=2'
Respuesta
1
Si pero cuando crees la consulta debes hacerlo de la siguiente manera:
SELECT a
FROM clientes
WHERE &p_cliente
Donde p_cliente = Cliente=1 and provincia = 2
Puedes permitirte montarte una where con una parte fija y otra dinamica por ejemplo
SELECT a
FROM clientes
WHERE codigo = :pcodigo
&p_cliente
Donde p_cliente = and provincia = :pprovincia
Fijate que pcodigo y pprovincia seran parametros del report que introduciras en la llamada

1 respuesta más de otro experto

Respuesta
1
A ver, el tema es como sigue:
Select * from clientes where &P_WHERE_PARAM;
-Sin pipelines ni nada-
Cosas a tener en cuenta:
1.- La cadena que pasas como parámetro que empiece siempre por espacio en blanco, no sea que concatene mal con el where -por si acaso-.
2.-Estás obligado a pasar una condición, ya que si no el where está vacío pero has puesto 'where', con lo que petará. Por defecto, la mejor condición sería '1=2', así no te sacará nada. También puedes optar porque sea el propio parámetro el que traiga el where y, si quieres TODOS los registros, pasar el parámetro en blanco -aunque esto suele ser raro-.
Y nada más, sólo que el parámetro sea de un tamaño considerable.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas