Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Impresión
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-02-2009
toni.vi toni.vi is offline
Miembro
 
Registrado: may 2003
Ubicación: Sant Fost(Barcelona)
Posts: 102
Poder: 24
toni.vi Va por buen camino
Lo normal en programación, si es que hay algo normal sería.

Cabecera (PageHeader)
Listado de bla.bla. Fecha __/__/__ pagina
Codigo descripcion cantidad .............
------ ------------- -----------
Detalle (detailBand)
Aqui van los registros que contiene el dataset del informe quickreport

Subdetalle (subdetailband)
Aqui van los registros subdetalle ( 1 o mas por cada registro detalle)
Son los registros del dataset de la tabla o query detalle.

Totales (summary band)

Pie de pagina (PageHeader).

Para tu problema, en este caso como solo quieres un registro, debes de utilizar solo banda detalle que sea de una consulta que solo contenga un registro, tal como te he explicado en el post anterior.
Responder Con Cita
  #2  
Antiguo 02-02-2009
Avatar de radenf
radenf radenf is offline
Miembro
 
Registrado: oct 2007
Ubicación: Viña del Mar,Chile
Posts: 608
Poder: 19
radenf Va por buen camino
Estimado toni.vi:

He seguido al pie de la letra tus recomendaciones. El qreport tiene sólo una banda de detalle conectada al Query y los campos también.
Se imprimen los campos que seleccioné, utilizando el Query, sin embargo siempre me arroja el primer registro (persona) de la tabla y no el que tengo en pantalla.
¿Es posible que el registro que selecciono y que aparece en la pantalla de la aplicación no sea el activo del dataset?
Para seleccionar un registro (personas) hago click en una dbgrid que contiene los datos de la tabla maestra y eso activa datos de la tabla esclava (eventos de esa persona) en los distintos campos de texto, memos e imágenes que posee la aplicación. Ahora si esa persona tiene eventos de distintas fechas, navego a través de ellas utilizando un dbnavigator.
Con esto no tengo problema para moverme entre los datos, incorporar datos nuevos o eliminarlos, sin embargo no logro imprimir los eventos que veo en pantalla.
¿En qué me estoy equivocando?

Agradezco mucho tu dedicación toni.vi. No entiendo por qué es tan complicado. Todas los programas que conozco al darles imprimir, hacen justo eso, imprimen lo que estás viendo.

Un gran saludo y gracias, porque creo que algo más he avanzado.
Ojalá no se te hayan acabado los trucos.
Responder Con Cita
  #3  
Antiguo 02-02-2009
toni.vi toni.vi is offline
Miembro
 
Registrado: may 2003
Ubicación: Sant Fost(Barcelona)
Posts: 102
Poder: 24
toni.vi Va por buen camino
Entiendo que tienes una tabla maestro de personas y una tabla detalle de eventos de cada persona.
Por tanto.
1.- Si quieres imprimir un solo evento de una persona debes poner:
Solo banda detalle y no conectar el dataset al quickreport, o bien
crear una consulta que solo nos vea este registro.
2.- Si quieres imprimir todos los eventos de una persona.
Solo banda detalle conectando el dataset del quickreport al dataset de la consulta del detalle eventos.
Si necesitas más ayuda puedes enviarme a traves del foro o privadamente el .pas o .dfm del quickreport e intentare ayudarte.
Responder Con Cita
  #4  
Antiguo 03-02-2009
Avatar de radenf
radenf radenf is offline
Miembro
 
Registrado: oct 2007
Ubicación: Viña del Mar,Chile
Posts: 608
Poder: 19
radenf Va por buen camino
Quiero imprimir los eventos de una persona en una fecha dada, ya que se agrupan por fecha.
Si no conecto el qreport al dataset no me muestra nada.
Hice la prueba cambiando la base de datos a mysql, ya que he desarrollado la aplicación para este sistema también y el efecto es el mismo.
Creo que mi problema debe estar en cómo selecciono los datos, que es como te indiqué en el post anterior.
Este es el código del archivo .pas

unit Solicitud;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, QRCtrls, QuickRpt, DB, ExtCtrls, QRPrntr, OleCtrls;

type
TFormSolicitud = class(TForm)
QuickRep2: TQuickRep;
DetailBand1: TQRBand;
QRLabel1: TQRLabel;
QRDBText1: TQRDBText;
QRLabel2: TQRLabel;
QRDBText2: TQRDBText;
QRLabel4: TQRLabel;
QRDBText3: TQRDBText;
QRDBText4: TQRDBText;


private
{ Private declarations }
public
{ Public declarations }
end;

var
FormSolicitud: TFormSolicitud;

implementation

uses Registros;

{$R *.dfm}



end.


El Query lo tengo en el form principal (Registros)

Muchas gracias y por favor sigue iluminándome.
Responder Con Cita
  #5  
Antiguo 03-02-2009
toni.vi toni.vi is offline
Miembro
 
Registrado: may 2003
Ubicación: Sant Fost(Barcelona)
Posts: 102
Poder: 24
toni.vi Va por buen camino
Descargate este ejemplo y ya me diras.
Archivos Adjuntos
Tipo de Archivo: zip Q1.zip (3,0 KB, 69 visitas)
Responder Con Cita
  #6  
Antiguo 04-02-2009
Avatar de radenf
radenf radenf is offline
Miembro
 
Registrado: oct 2007
Ubicación: Viña del Mar,Chile
Posts: 608
Poder: 19
radenf Va por buen camino
Estimado toni.vi :

Muchas gracias por tus aportes, por fin después de más de 2 años logré lo que quería.
Tus ejemplos me iluminaron ya que la solución era sumamente sencilla. Por alguna razón que no logro entender el qreport al estar en un form propio y llamarlo desde la aplicación siempre mostraba el primer registro de la tabla. Como tu ejemplo incluye el qreport dentro de la aplicación probé incorporándolo en ella y funcionó perfecto, simplemente desconectando el dataset. Ahora como tener el formulario del qreport a la vista no es aceptable, le ajusté el zoom a 20% y lo oculté detrás de un dbmemo. Probablemente no es la mejor solución pero quién tiene idea de lo que se esconde en las aplicaciones de los programas.

Nuevamente te agradezco tu paciencia y espero que no sea la última vez que nos comunicamos. Gente como tú hacen grande a este foro y renuevan la fe en las personas.

Saludos.
Responder Con Cita
  #7  
Antiguo 04-02-2009
toni.vi toni.vi is offline
Miembro
 
Registrado: may 2003
Ubicación: Sant Fost(Barcelona)
Posts: 102
Poder: 24
toni.vi Va por buen camino
Si el problema era trabajar desde otro formulario, debes poner en el form2 un uses unit1 tal como te indico en el nuevo ejemplo.
Miratelo y veras que funciona tambien.
Archivos Adjuntos
Tipo de Archivo: zip Q2.zip (3,7 KB, 25 visitas)
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Imprimir Pantalla guille85 Impresión 2 23-07-2008 16:00:12
imprimir pantalla martita Impresión 2 14-05-2008 14:51:45
Imprimir información de una tabla Angelica Lizeth Impresión 3 21-12-2006 23:59:08
imprimir en pantalla en tiempo de ejecucion RJF Varios 1 21-04-2005 09:22:16
Imprimir Pantalla, como ? Pascual Montes Gráficos 3 30-12-2004 09:04:43


La franja horaria es GMT +2. Ahora son las 17:16:51.


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