PDA

Ver la Versión Completa : Imprimir un Query en QuickReport


luxus
20-08-2006, 18:36:03
Hola a todos,
Me encuentro ultimando una aplicación que estoy diseñando y el problema que tengo es que tengo que imprimir la información que tiene un query.
En un principio quiero pasar cada linea del query a una variable QRMemo y luego imprimirlo.
Dado que la información puede variar ¿hay otra forma de implementar la impresion?
Gracias y un saludo a todos

anghell77
21-08-2006, 01:31:04
Hola....el tìtulo de mi respuesta es por aquello de que no todos somos expertos, pero me ha tocado imprimir mediante Query en QReport

El QuickRep, tiene un DataSet, a éste hay que ligarlo al Query que desas imprimir. Si el Query requiere entradas, o necesita parámetros de entrada, bien puede mandarse a imprimir cuando se ejecute, si es que se ejecuta en algún momento atrás y mucho antes de mandarlo a imprimir, ésto es:
1.-Si Consultas en determinado momento tales datos mediante el Query que quieres imprimir, y ahí mismo deseas enviarlo a imprimir sólo basta alguna instrucción:

FormX.QuickRep.Preview; //Para visualizarlo antes de imprimir;
Formx.QuickRep.Print;//Para Imprimirlo sin ver el preeliminar


2.- Si el Query se debe ejecutar al momento de desear imprimir, y requiere datos para la ejecución, puedes ejecutar otros Query's antes para tomar la información y alimentar al que se imprimirá o bien almacenar los datos en variables.

3.- Si el Query no requiere entradas, pues mándalo llamar al momento de requerir imprimir.


Query.Close;
Query.Open;
FormX.QuickRep.Preview;


Lo importante del Asunto es que el QuickRep esté ligado en su DataSet al Query final a imprimir, así como todos sus componentes QDBText..

Ojalá sirva...

{Saludos}

Lepe
21-08-2006, 09:33:55
Añadiendo más información:

En el evento BeforePrint de cualquier QRDBTEXT, o de cualquier Banda, se puede modificar el texto que viene originalmente de la consulta, muy útil cuando la consulta devuelve TRUE o FALSE y queremos que salga en el informe "Vendido" o "Comprado" por decir algo.

Estas sustituciones de texto, incluso puedes guardarlas en un archivo ini, de tal forma que en ejecución, lees el archivo y haces las sustituciones.

A la izquierda el valor original de la consulta, a la derecha el valor que aparece en el informe:

[ConsultaDeSaldos.CampoPagado]
true= cobrado
false= Pendiente

[ConsultaDeSaldos.Facturar]
0=Pendiente de facturar
1=Facturando
2=Facturado
3=Pasado a histórico


Hay muchisimas formas, tantas como puedas imaginar, si acaso, concreta un poco más lo que estas haciendo.

Saludos

nemesio
21-08-2006, 14:35:45
Los compañeros te han dado muy buenas explicaciones, pero creo que deberías ser más específico con lo que quieres hacer para darte la ayuda que necesitas.

Saludos

Ricomarz
29-08-2006, 02:32:18
Hola !!

Quisiera que alguien me ayudara con este problema que tengo a la hora de imprimir datos en un quickreport...

Lo que quiero hacer es lo siguiente:

Quiero imprimir todos los nombres de las escuelas, y que dentro de cada escuela se impriman las carreras que tengan estas. por ejemplo:

Escuela carrera
Facultad de ciencias
Biologia
Fisica
Matematicas
Oceanologia
Oceanologo

etc.

trate de hacer un select anidado, pero no me sale, solo me pone la misma escuela en el campo escuela y carrera.

El primer select que hago es para obtener la clave de la escuela, y este entra como parametro al segundo select donde obtendre los datos de las carerras de las escuela.

espero que alguien me pueda ayudar ....

saludos :confused:

lejia
14-01-2008, 23:32:02
Primero ordena por Escuelas, Mas o menos asi,,
Select carreras,escuelas from tabla_nombre order by escuelas.

Despues ya solo tienes que crear un qrport, donde ya tiene que poner un banda group y ahií, poner query2.escuelas

Mas o menos, lo tengo que mirar como lo tengo echo y ya te digo.

gonza_619
14-10-2010, 21:56:19
bueno en mi caso utilizo parametros en la sig sentencia que saco de otras tablas y datetimepickers, no entendi :
2.- Si el Query se debe ejecutar al momento de desear imprimir, y requiere datos para la ejecución, puedes ejecutar otros Query's antes para tomar la información y alimentar al que se imprimirá o bien almacenar los datos en variables.

SELECT a.ape_nomb, b.nombre
FROM alumnos a, cursos b, alucurso c, cobranzas d
WHERE b.cod_curso =:dato
AND d.fecha between :fecha and :fecha1
AND d.cuota=:dato1
AND b.cod_curso = c.curso
AND c.alumno = a.documento
AND c.cod_alucurso=d.alucurso

en mi caso cuantos querys necesitaria para el caso gracias