Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   un problema con el quick report (https://www.clubdelphi.com/foros/showthread.php?t=56570)

metroyd 21-05-2008 03:41:23

un problema con el quick report
 
Hola amigos espero me puedan ayudar. Tengo una tabla llamada PELICULAS con los campos (cve_pelicula,titulo,sala,duracion,clasificacion,distribuidor) y otra tabla llamada FUNCIONES (id_funcion,cve_pelicula,sala,dia,funcion). En esta tabla almaceno todas las funciones de los 7 dias de la semana para cada pelicula.
Algunos datos para la tabla PELICULAS SERIAN:
--------------------------------------------------------------------------
cve_pelicula titulo sala duracion clasificacion distribuidor
--------------------------------------------------------------------------
00001 Soy Leyenda 1 89 min B-15 Fox
00002 Amor prohibido 2 101 min B-15 Columbia
....

Y unos datos para la tabla funciones serian:
------------------------------------------------------------------------
id_funcion cve_pelicula sala dia funcion
------------------------------------------------------------------------
1 00001 1 LUNES 4:00 pm
2 00001 1 LUNES 6:oo pm
3 00001 1 SABADO 2:30 pm
4 00002 2 LUNES 3:30 pm

etc

Entonces, ahora quiero imprimir la cartelera de la semana, pero entonces haria 2 consultas, y no se como lo haria con el Quickreport. Utilizo un QRSubdetail y qrdbtext todos enlazados a un datasource correspondiente a una busqueda (de peliculas) pero no sabria como enlazar la tabla funciones de manera que mi reporte quede mas o menos asi:

Reporte de cartelera de tal dia a este dia
---------------------------------------------------------------------

00001 Soy legenda SALA:1 DUR: 89 Min. CLAS: b-15
LUNES - VIERNES: 2:30 pm 4:30 pm 6:30 pm 8:30 pm
SABADOS 1:25 pm 3:50 pm 7:00 pm
DOMINGOS 3:30 pm 5:30 pm 7:30 pm

----------------------------------------------------------------------
00002 amores prohibidos SALA:2 DUR: 101 Min. CLAS: b-15
LUNES - VIERNES: 5:30 pm 7:50 pm
SABADOS 3:25 pm 5:50 pm 8:00 pm
DOMINGOS 12:50 pm 3:00 pm 5:40 pm 8:00 pm
-----------------------------------------------------------------------

etc, hasta que se muestren todas las salas. Por el momento solo puedo lograr que se visualizen los datos de las peliculas. Y si incluyo un JOIN de las tablas me muestra todos los campos, dando un total de muchisimas hojas.
Espero su ayuda, gracias!!!!

Lepe 21-05-2008 09:55:56

Es un Master-Detail con dos consultas.

A la consulta qryfunciones, le pones en su propiedad DataSource := qryPeliculas y en su sql:
Código SQL [-]
select * from funciones
where cve_pelicula = :cve_pelicula
El parámetro ":cve_pelicula" se sustituye en ejecución por el valor de qryPeliculas.cve_peliculas creando la relación Maestra-Detalle.

Después cada qrdbtext lo asocias con su consulta y campo en cuestión, por supuesto en sus bandas correspondientes, tal y como dices en la Detail o SubDetail.

Si algún compañero recuerda algún detalle más, bienvenido será.

Saludos

metroyd 21-05-2008 15:19:44

Delphi no me permite hacer esto:
Código SQL [-]
 WHERE cve_pelicula=:cve_pelicula
Me tira un error.
Otra cosas es que no puedo meter un QRSubDetail dentro de otro QRSubdetail

El codigo que tengo para visualizar los datos de las peliculas en el reporte es este:
Código Delphi [-]
//Mostrar la cartelera
    modulo.busqueda.close;
    modulo.busqueda.SQL.Clear;
    modulo.busqueda.SQL.Add('select * from horarios WHERE estado ="EXHIBICION" ORDER BY sala');
    modulo.busqueda.Open;

  form8.QuickRep1.DataSet:=modulo.busqueda;
  form8.QRSubDetail1.DataSet:=modulo.busqueda;
  form8.QRDBText1.DataSet:=modulo.busqueda;
  form8.QRDBText2.DataSet:=modulo.busqueda;
  form8.QRDBText3.DataSet:=modulo.busqueda;
  form8.QRDBText10.DataSet:=modulo.busqueda;
  form8.QRDBText11.DataSet:=modulo.busqueda;
  form8.QRDBText1.DataField:='cve_pelicula';
  form8.QRDBText2.DataField:='titulo';
  form8.QRDBText3.DataField:='sala';
  form8.QRDBText10.DataFIELD:='duracion';
  form8.qrdbtext11.datafield:='clasificacion';
todo lo anterior jala muy bien

incluyo la estructura de mi reporte

http://www.subirimagenes.com/otros-q...rt-500753.html


La franja horaria es GMT +2. Ahora son las 22:02:14.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi