PDA

Ver la Versión Completa : Impresion continua de los campos de una tabla?


tayra
21-05-2004, 08:14:50
:confused: Tengo una hoja de reporte dividida en 4 partes en donde cada parte tiene un image y con los campos nombre_empleado,apellido_p,apellido_m,feria,fecha estos se repiten igual en cada pedazo, como puedo hacer para q' en cada parte me tome un empleado diferente de mi tabla,es decir pueda yo poner 4 empleados en una hoja, para imprimir de 4 en 4.:rolleyes: ?

Quien me pueda ayudar se lo agradeceria mucho

jachguate
21-05-2004, 08:33:42
Hola tayra. En primer lugar bienvenida al club. Te recomiendo al lectura de la guia de estilo de los foros (http://www.clubdelphi.com/foros/guiaestilo.php) para una mejor convivencia.

Con respecto de tu pregunta, dado que no indicas que generador de informes utilizas, no es posible darte una respuesta puntual. El caso es que debieras colocar solo una banda de detalle, con los campos que te interesa imprimir para cada empleado. Luego asocias el informe (o esta banda) a un DataSet.

Normalmente todos los generadores de informes tienen ya programado un mecanismo que recorre el dataset, e imprime un detalle por cada registro. Para que salgan exactamente 4 registros por pagina, pues solo tenes que velar que la altura de la banda sea 1/4 de la altura del area imprimible de la hoja.

Para darte una mejor idea de la información que debieras incluir cuando redactas una pregunta, te recomiendo también la lectura del hilo de la calidad de las preguntas.

Hasta luego.

;)

tayra
21-05-2004, 08:50:57
SO. xp
Mi tabla esta en ACCESS y esta conectada por medio BDE de delphi
Es un programa q' hace gafetes.
Utilizo un QuickRep y enlazo los campos con un query
Select
`TGAFETE`.`ID_EMPLEADO`,
`TGAFETE`.`NOMBRE_EMPLEADO`,
`TGAFETE`.`APELLIDO_P`,
`TGAFETE`.`APELLIDO_M`,
`TGAFETE`.`AREA_TRABAJO`,
`TGAFETE`.`FERIA`,
`TGAFETE`.`FECHA`
From `TGAFETE`

Es una hoja dividida en 4 partes como ya habia explicado anteriormente, pero estas de acuerdo q' si los ligo al mismo campo un decir oscar me va a parecer igual en cada parte, y lo q' quiero es q' me continue con el siguiente campo de la tabla en cada parte por medio del ID.

jachguate
22-05-2004, 01:44:41
En quickrep, agregá una banda tipo detalle, y la información que vendrá de la base de datos, en campos TqrDBText. Elegis el dataset y field apropiado para cada uno. Luego en las propiedades del reporte, asocias este al TQuery que contiene el Select. En tiempo de ejecución, abri el query y luego envia un preview del reporte, verás como lo que hayas puesto en la banda de detalle se repite tantas veces como registros devuelva el select.

También hay un demo sobre el uso de quickreport en la carpeta $delphi\Demos\Quickrpt, donde $delphi es la carpeta de instalación de tu versión de delphi.

Y por último el libro "la cara oculta de delphi 4" tiene uno o dos capítulo dedicados a la impresión con QuickReport. Este libro podes descargarlo totalmente gratis de la web de su autor, Ian Marteens (http://www.marteens.com).

Hasta luego.

;)

tayra
25-05-2004, 22:38:52
Muchas gracias juan antonio por la respuesta, ya le intente con los details y si me saca todos los de la tabla, pero no es como yo lo quiero, voy a tratar de intentar otras cosas, ya lei tambien los manuales q' me dijiste y no me han ayudado a resolver mi problema, muchas gracias de todos modos.

TAYRA

marcoszorrilla
25-05-2004, 22:49:43
Sino he entendido mal, lo que quieres es sacar 4 empleados en cada hoja, en columnas?

En este caso divide la hoja en cuatro columnas y detras de cada empleado le agregas un ForceNewColumn salvo en la columna cuatro que le diríamos ForceNewpage.

Un Saludo.

tayra
26-05-2004, 10:01:46
hola !!

Gracias por tu contestación. Y nop es en columnas es una hoja dividad en 1/4 y cada cuarto tiene un cliente con su fotografia correspondiente.

marcoszorrilla
26-05-2004, 14:53:53
Bueno pues en este caso pienso que la cosas es bastante fácil, lo que se trata de es de ampliar el tamaño del detalle de tal forma que solamente entre 4 registros por página, en 4 ó 5 pruebas con la vista previa correspondiente lo tienes resuelto.

Un Saludo.

jachguate
26-05-2004, 17:22:12
Si es una hoja dividida en "cruz", como me imagino, en realidad "si" es un reporte en columnas, pero solamente son 2, y el alto de la banda de detalle debe ser 1/2 del alto del area imprimible de la hoja.

Hasta luego.

;)

tayra
31-05-2004, 22:46:03
Sip ya le intente con dos columnas y el detail lo puse de tamaño a un 1/2, y yap me pone por lo menos dos nombres, pero el otro seria de renglones nop y no me hace para los dos de abajo sino para los dos de arriba.

jachguate
31-05-2004, 23:09:08
Hoy si no entendí nada...

queres algo de la forma


|
Registro 1 | Registro 2
|
--------------------+-----------------------
|
Registro 3 | Registro 4
|


Cuales conseguis que se impriman, y exactamente como lo estas intentando?

tayra
03-06-2004, 21:15:41
Asi es como tienes la hoja en cruz con los cuatros registros dividi la hoja en dos columnas y pongo un detail del tamaño q' quiero el gafete y en la opcion ForceNewColumn le pongo true y con esto tengo registro 1,2,3, pero no aparece el 4 hasta la siguiente hoja y con la opcion ForceNewpage. me salen todos los registros continuos pero uno en cada hoja. He pensado otra manera de q' mejor seleccionar de uno por uno para q' tambien imprimir gafetes salteados por el numero de empleado.