Re: Grupos en un DataReport

From: "Mauricio Zea (Gmail)" <jmzlbqcol(at)gmail(dot)com>
To: "Alberto" <alberto(dot)ipt(at)telefonica(dot)net>
Cc: <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Grupos en un DataReport
Date: 2005-06-16 12:23:41
Message-ID: 002101c5726e$3dd9f370$cc01a8c0@gerencia
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Bueno, casualmente nos sucedía este caso en dias pasados en un reporte
creado en Datareport para una apllicación en VB con postgesql.

Es totalmente posible en VB.

Pero el problema lo tienes en VB y no en postgres.

La solución que da Alvaro es perfecta, ya q te hace el trabajo de Datareport
(Obviamente mas práctica que en Datareport).

Te comento la solución en VB por si acaso, y por aquello de saber un poco
mas. Aunque el foro es de postgres, me tomo el atrevimiento de comentarlo,
con el perdon de todos mis co-listeros.

El caso es que, al momento de crear el origne de datos, el query del grupo
de datos que vas a desplegar en el informe, debe recibir unos parámetros.
Esos parametros están marcados con un signo de interrogación (?), así:

Select codigo_articulos, nombre_articulos from productos where proveedor=?
* Esto es un ejemplo

En la pestaña parámetros, debes configurar cada parametro, encontrarás una
lista de tantos parametros como interrogaciones tengas en el query. Ahora,
acá es donde viene el punto en el que teniamos problemas similares al tuyo.
Resulta que el parametro, llamado Param1, debe tener el mismo tipo de datos
y "tamaño" de datos. Acá teniamos nuestro problema. Resulta q el parametro
lo poniamos tipo varchar, pero no especificabamos el tamaño del campo.

Cualquier cosa, me escribes y con gusto te puedo ayudar un poco mas.

Saludos a todos...

Maurcio Zea

"Hoy es un grán día para mi, ojalá lo sea para todos ustedes"

----- Original Message -----
From: "Alberto" <alberto(dot)ipt(at)telefonica(dot)net>
To: "Alvaro Herrera" <alvherre(at)surnet(dot)cl>
Cc: <pgsql-es-ayuda(at)postgresql(dot)org>
Sent: Thursday, June 16, 2005 3:47 AM
Subject: Re: [pgsql-es-ayuda] Grupos en un DataReport

> Exacto, lo que pretendo es hacerlo en la aplicación pero al formar la
> consulta me sale el siguiente mensaje:' Las secciones del informe no
> coinciden con el origen de datos.'
>
> Exactamente en MySQL usan el siguiente formato
>
> strSQL = "SHAPE {SELECT proveedores.empresa,articulos.numserie " & _
> "FROM articulos,proveedores " & _
> "WHERE proveedores.id = articulos.idproveedor " & _
> "ORDER BY proveedores.empresa} AS ListaProveedores " & _
> "COMPUTE ListaProveedores BY empresa"
>
> ¿Cómo se haría la consulta para que no me de error en PostgreSQL?
>
> Gracias.
>
> ----- Original Message -----
> From: "Alvaro Herrera" <alvherre(at)surnet(dot)cl>
> To: "Alberto" <alberto(dot)ipt(at)telefonica(dot)net>
> Cc: <pgsql-es-ayuda(at)postgresql(dot)org>
> Sent: Wednesday, June 15, 2005 5:49 PM
> Subject: Re: [pgsql-es-ayuda] Grupos en un DataReport
>
>
> On Wed, Jun 15, 2005 at 01:58:48PM +0200, Alberto wrote:
>
> Hola,
>
>> Lo primero decir que no se si este es el foro mas adecuado a mi
>> consulta y si no es así disculpas.
>
> Si, lo es.
>
>
>> Un ejemplo de lo que quiero es lo siguiente:
>>
>> Lo que tengo ahora:
>>
>> ProveedorA Articulo1
>> ProveedorA Articulo2
>> ProveedorB Articulo3
>>
>> Y lo que quiero es lo siguiente:
>>
>> ProveedorA Articulo1
>> Articulo2
>> ProveedorB Articulo3
>
> Hum, raro. La verdad no se como se haria en Postgres. Creo que lo mas
> sencillo seria hacerlo en la aplicacion cliente, si es posible (en
> cualquier lenguaje normal se puede, pero si es en uno de esos lenguajes
> visuales en que enchufas la salida de SQL a un elemento grafico, puede
> ser complicado o imposible).
>
> Ahora que lo pienso, si se puede hacer -- solo tienes que hacer una
> funcion que haga la consulta, y recorra el resultado, de manera que
> reemplace el valor de la primera columna por NULL si es que el valor es
> igual al del registro anterior. Algo como
>
> FOR SELECT INTO rec ... LOOP
> if rec.proveedor = prev.proveedor then
> rec.proveedor = null;
> end if;
> prev.proveedor = rec.proveedor;
> return next rec;
> end loop;
>
>
> Tienes que crear una funcion que retorne SETOF RECORD. Se ha discutido
> antes como se hace esto -- mira los archivos.
>
> --
> Alvaro Herrera (<alvherre[a]surnet.cl>)
> Management by consensus: I have decided; you concede.
> (Leonard Liu)
>
> ---------------------------(fin del mensaje)---------------------------
> TIP 3: si publicas/lees desde Usenet, por favor envía "subscribe-nomail"
> a majordomo(at)postgresql(dot)org para que tus mensajes puedan llegar
> a los suscriptores de la lista
>
>
>
> ---------------------------(fin del mensaje)---------------------------
> TIP 3: si publicas/lees desde Usenet, por favor envía "subscribe-nomail"
> a majordomo(at)postgresql(dot)org para que tus mensajes puedan llegar
> a los suscriptores de la lista

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Pepe Ballaga 2005-06-16 12:29:06 duda con create function
Previous Message Alberto 2005-06-16 08:47:57 Re: Grupos en un DataReport