Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #21  
Antiguo 22-01-2009
Avatar de radenf
radenf radenf is offline
Miembro
 
Registrado: oct 2007
Ubicación: Viña del Mar,Chile
Posts: 608
Poder: 17
radenf Va por buen camino
Saludos a todos

Aparentemente el problema se debe a que el qreport contiene datos de dos tablas enlazadas en que una es la Mastersource, por ello había colocado en la banda Title el campo correspondiente al nombre de las personas, que a su vez es el índice y en la banda detail los datos de cada uno de ellos, pudiendo ser que por ello no me funcionan sus sugerencias.
¿Debiera hacer algún procedimiento especial para esta situación?

Salu2 y gracias de antemano
Responder Con Cita
  #22  
Antiguo 01-02-2009
Avatar de radenf
radenf radenf is offline
Miembro
 
Registrado: oct 2007
Ubicación: Viña del Mar,Chile
Posts: 608
Poder: 17
radenf Va por buen camino
Saludos nuevamente:

Retomo el hilo por si alguien me puede aportar alguna solución.
En mi aplicación desarrollada en Delphi7 y ADO existen dos tablas enlazadas cuyos datos se ingresan y visualizan en el form principal de la aplicación. Necesito imprimir los datos que tengo visibles en la pantalla, habiéndo accedido a ellos a través de dbnavigators para cada tabla. Tengo un qrReport con datos sólo de la tabla esclava y al ejecutar el print o preview se despliegan todos los registros de esta tabla y no los que estoy viendo y que son los que deseo imprimir. He leído completo el manual de QuickReport y he probado distintas estructuras de qrReport siguiendo las sugerencias y aportes de este y otros hilos y no logro dar con la solución.
¿Puede alguien por favor ayudarme con el código necesario para filtrar el registro en pantalla para que aparezca en la impresión?

Saludos a todos y muchas gracias
Responder Con Cita
  #23  
Antiguo 01-02-2009
toni.vi toni.vi is offline
Miembro
 
Registrado: may 2003
Ubicación: Sant Fost(Barcelona)
Posts: 102
Poder: 21
toni.vi Va por buen camino
¿Que quieres imprimir solo el registro esclavo que estas posicionado, o todos los registros esclavos del registro maestro seleccionado?
Responder Con Cita
  #24  
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: 17
radenf Va por buen camino
Sólo el registro esclavo posicionado en pantalla.
Gracias toni.vi
Responder Con Cita
  #25  
Antiguo 02-02-2009
toni.vi toni.vi is offline
Miembro
 
Registrado: may 2003
Ubicación: Sant Fost(Barcelona)
Posts: 102
Poder: 21
toni.vi Va por buen camino
Por tanto, en el dataset del quickreport no pongas nada.
Solo en la banda detalle pon el dataset y los campos que quieras.
Responder Con Cita
  #26  
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: 17
radenf Va por buen camino
Eso ya lo he hecho toni.vi y al imprimir me aparece una hoja en blanco. Si dejo activado el dataset se imprime una hoja por cada uno de los registros de la tabla y no sólo el que tengo en pantalla.

Saludos
Responder Con Cita
  #27  
Antiguo 02-02-2009
toni.vi toni.vi is offline
Miembro
 
Registrado: may 2003
Ubicación: Sant Fost(Barcelona)
Posts: 102
Poder: 21
toni.vi Va por buen camino
Puedes hacer en el onclick del boton de imprimir:
Código SQL [-]
Select * from TablaDetalle where Codigo = :CodigoDetalle
Utilizar el Dataset de la Query en el Quickreport, donde tendras un solo registro.
Responder Con Cita
  #28  
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: 17
radenf Va por buen camino
Muchas gracias toni.vi:

Esta tarde pruebo y te cuento.
¿Qué bandas me recomiendas para construir el qreport?
He utilizado Título, Detalle y Subdetalle con resultados diferentes, pero siempre sin mostrar lo que yo quiero.

Saludos y muchas gracias
Responder Con Cita
  #29  
Antiguo 02-02-2009
toni.vi toni.vi is offline
Miembro
 
Registrado: may 2003
Ubicación: Sant Fost(Barcelona)
Posts: 102
Poder: 21
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
  #30  
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: 17
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
  #31  
Antiguo 02-02-2009
toni.vi toni.vi is offline
Miembro
 
Registrado: may 2003
Ubicación: Sant Fost(Barcelona)
Posts: 102
Poder: 21
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
  #32  
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: 17
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
  #33  
Antiguo 03-02-2009
toni.vi toni.vi is offline
Miembro
 
Registrado: may 2003
Ubicación: Sant Fost(Barcelona)
Posts: 102
Poder: 21
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
  #34  
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: 17
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
  #35  
Antiguo 04-02-2009
toni.vi toni.vi is offline
Miembro
 
Registrado: may 2003
Ubicación: Sant Fost(Barcelona)
Posts: 102
Poder: 21
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
  #36  
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: 17
radenf Va por buen camino
Hice la prueba con tu nuevo ejemplo, que era muy similar a cómo tenía originalmente estructurada mi aplicación y no funcionó. Vuelve a seleccionar sólo el primer registro de la base de datos. En todo caso estoy satisfecho con el resultado anterior y te agradezco nuevamente toda tu dedicación.

Un saludo toni.vi y muchas gracias
Responder Con Cita
  #37  
Antiguo 13-12-2010
elsamurai elsamurai is offline
Miembro
NULL
 
Registrado: nov 2010
Posts: 38
Poder: 0
elsamurai Va por buen camino
Question

yo tengo el mismo problema que el,podrian ayudarme,primero no se como podre mandarle un cliente especifico para que se imprima en el reporte y tengo mas dudas
Responder Con Cita
  #38  
Antiguo 17-12-2010
Avatar de radenf
radenf radenf is offline
Miembro
 
Registrado: oct 2007
Ubicación: Viña del Mar,Chile
Posts: 608
Poder: 17
radenf Va por buen camino
Cita:
Empezado por elsamurai Ver Mensaje
yo tengo el mismo problema que el,podrian ayudarme,primero no se como podre mandarle un cliente especifico para que se imprima en el reporte y tengo mas dudas
Baja los archivos zip que envió toni.vi Ahí esta la solución.
Salu2
Responder Con Cita
Respuesta



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 21:08:15.


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
Copyright 1996-2007 Club Delphi