Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Manejo de Bandas??? QuickReport... (https://www.clubdelphi.com/foros/showthread.php?t=89011)

Ferrari 10-09-2015 21:17:39

Manejo de Bandas??? QuickReport...
 
Muy buenas, saludos a tod@s espero puedan ayudarme para resolver este dilema...Me están pidiendo un reporte de unos vales de clientes que pueden ser impresos por una cierta numeración asignada por parte del usuario...ej. del 1 al 1500
En cada impresión puedo adaptar 3 vales (3 vales x hoja) el detalle esta en que el usuario quiere poner por ejemplo: imprimir del 1 al 1500 y que aparezcan alternados por el numero de hojas que se van a utilizar ... en este caso en la primer hoja deberia quedar en los tres primeros vales el numero 1, en segundo lugar el 501 y en la parte baja el 1001 .... en la segunda hoja imprimir el numero 2, en medio el 502 y al final 1002 y asi sucesivamente...
Esto con la intención de cortar por ejemplo en este caso las 500 hojas y hacer 3 blocks de 500's con su numero consecutivo.
Me podrían apoyar como poder aterrizar este trabajo....trabajo con Delphi 7 & QuickReport.


Casimiro Notevi 10-09-2015 21:32:59

Ese número puedes sacarlo de un campo de una tabla cualquiera, que luego muestras en el informe.
Te creas un sencillo bucle con 3 inserts para meter los registros.
Así en plan bruto:
Código Delphi [-]
var iX : integer;
For iX = 1 to 500
  insert into tabla values (id, iX);
  insert into tabla values (id, iX+500);
  insert into tabla values (id, iX+1000);
Ya tienes los registros en la tabla.
Ahora haces el select que que usarás en el informe:
Código Delphi [-]
select numero from tabla order by id;
Ya los tenemos en el orden que quieres, ahora a imprimir.

Edito: el ID debe ser un número autoincremental.

Ferrari 10-09-2015 23:50:32

Gracias Casimiro
 
Lo unico que tendria que sacar es el número de paginas que se van a utililzar verdad..!!!! Si va a sacar 5000 vales utilizaria 1667 paginas redondear siempre hacia arriba los decimales...es correcto?

Casimiro Notevi 11-09-2015 00:11:03

1667 / 3 = 555.66
555 * 3 = 1665

Imprimirás 555 páginas de 3 vales cada una y otra página última, la 556 con solo 2 vales.
Puedes poner un contador en el bucle para controlarlo.


La franja horaria es GMT +2. Ahora son las 07:37:10.

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