Ver Mensaje Individual
  #20  
Antiguo 19-09-2008
Nelet Nelet is offline
Miembro
 
Registrado: may 2003
Ubicación: Picassent - Valencia
Posts: 95
Reputación: 22
Nelet Va por buen camino
Ahí va una idea:

Antes de presentar el dbgrid o el informe podrias calcular el máximo número de partes que vas a obtener.

Una vez obtenido el número de columnas que vas a necesitar solo tendrías que montar una query añadiendo las columnas necesarias.

Por ejemplo, esto funcionaria en sqlserver. En mysql creo que es parecido,

Código SQL [-]
SELECT COUNT(ID_PARTES) FROM PARTES_CONTRATO WHERE ID_CONTRATO IN("LISTA DE CONTRATOS")

Código SQL [-]
select id_contrato, 
case when id_parte=1 then ID_EMPRESA else "" end,
case when id_parte=2 then ID_EMPRESA else "" end,
.....
case when id_parte=numeropartes then ID_EMPRESA else "" end,
FechaFirma, FechaEntradaVigor, Objeto, IdTipoContrato
from contratos a 
inner join PartesContrato b on
a.id_contrato=b.id_contrato
where a.id_contrato in(..lista de contratos..)

Esto lo puedes ir formando en un query y así obtener de forma dinamica las columnas que necesites. De esta forma el contrato con el máximo numero de partes tendría todas las columnas rellenas y los restantes columnas en blanco donde no existiese el id_parte.

Todo esto se puede hacer siempre y cuando el ID_PARTE sea secuencial.

Espero haberte ayudado en algo.
__________________
_____________________________________
And follow me to where the real fun is

Última edición por Nelet fecha: 19-09-2008 a las 11:54:04.
Responder Con Cita