PDA

Ver la Versión Completa : Manejo de Bandas??? QuickReport...


Ferrari
10-09-2015, 21:17:39
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.

http://i60.tinypic.com/34pygb9.jpg

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:
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:
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
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.