PDA

Ver la Versión Completa : Juntar dos registros en una sola en QuickReport


enecumene
09-09-2007, 20:58:47
Hola Compañeros, tengo una duda de como juntar dos registros o mas en una sola fila en quickreport sin usar el groupheader, ejemplo:

nombre llegada salida

nando 8:00:00
nando --------- 2:30:00
carla 2:30:00
carla----------- 6:00:00

hacerlo asi:

nombre llegada salida

nando 8:00:00 2:30:00
carla 2:30:00 6:00:00

es posible hacerlo?, gracias de antemano...

eduarcol
09-09-2007, 21:06:32
y porq no lo haces por la consulta sql?? group by

enecumene
09-09-2007, 21:11:15
porque siempre me sale ese tipo de error:

---------------------------
Debugger Exception Notification
---------------------------
Project Asistencia.exe raised exception class EOleException with message 'You tried to execute a query that does not include the specified expression 'cargo' as part of an aggregate function'. Process stopped. Use Step or Run to continue.
---------------------------
OK Help
---------------------------

consulta:

select nombre, cargo, tanda, entrada, salida, fecha, tardanza, licencia,
excusa, permiso, enfermedad, vacacion, servicio from Asistencia
where fecha = :hoy group by nombre

Saludos

eduarcol
09-09-2007, 21:28:39
es que en el group by debes incluir en la expresion todos los campos sencillos, y porq no utiliar una banda de grupo en qr???? es mas sencillo

enecumene
09-09-2007, 21:32:26
la banda de grupo de QR hace esto:

nando
--------8:00:00
-----------------2:30:00
carla
--------2:30:00
-----------------6:00:00

hare lo que dijiste en el post anterior a ver, luego te comento...

enecumene
09-09-2007, 21:40:44
select nombre, cargo, tanda, entrada, salida, fecha, tardanza, licencia,
excusa, permiso, enfermedad, vacacion, servicio from Asistencia
where fecha = :hoy group by nombre, cargo, tanda, entrada, salida, fecha, tardanza, licencia,
excusa, permiso, enfermedad, vacacion, servicio

me sale igual que en el primer post, repetidos.:confused::confused:

eduarcol
09-09-2007, 21:40:59
quita el control de la bandadetail agregalo a la de grupo y en el onprint de la banda detalles le das Printband := False;

eso es un truco pero por lo menos sirve

enecumene
09-09-2007, 21:49:44
disculpa eduarcol, pero no caigo en lo que me dices, como quito el ¿CONTROL? de la banda detalles? te refieres a los linkband o los childband?????

eduarcol
09-09-2007, 21:55:28
Control = TQRDBText

no te sale lo del sql porq la consulta esta mal planteada necesitaria saber como se guarda la info para ayudarte a plantearla, pero yo que tu lo haria con el truco del qr

enecumene
09-09-2007, 22:00:33
eduarcol de Nuevo mis disculpas por mi ignorancia:(, ok me dijiste Control = TQRDBText pero donde pongo eso? porque en ningun lado encuentro esa propiedad ni en la banda ni en el texto, lo del onprint lo vi en el QRDBText..

Saludos

eduarcol
09-09-2007, 22:03:59
ya va quizas no me explique bien, el error fue mio comienzo de nuevo

si tienes los dos campos el inicio y el final cada uno en un tqrdbtext, quita los tqrdbtext de la banda detalle y pasala a la banda grupo

luego en el evento before print del detalle le colocas

Printband := False;

pero te recuerdo solo asumo segun la informacion que me das quizas no te entiendo bien

enecumene
09-09-2007, 22:20:31
Eduarcol, no me funciono el truco, me sale asi:

nombre entrada salida

carla------------06:00:00

y ya.

tal vez tampoco me he explicado muy bien tambien, dejame empezar de nuevo, estoy haciendo una aplicacion de control de entrada y salida de empleados donde los datos son tipos horas largas, utilizo base de datos access y los inserto en una misma tabla, entonces queria crear un reporte donde se muestre la entrada y salida en una sola fila, asi

nombre-->entrada-->salida

nando----8:00:00---2:30:00
carla-----2:30:00---6:00:00

y no asi:

nombre-->entrada-->salida

nando----8:00:00--
nando--------------2:30:00
carla-----2:30:00--
carla---------------6:00:00


creo que ahora me explique mejor, creo:D.

saludos

eduarcol
09-09-2007, 22:24:30
no estoy muy seguro que funcione pero prueba esto

Select Nombre, Min(Horaentrada), Max(HoraSalida) from mitabla

aunque el problema esta al ingreso, deberias validar que si el usuario ya tiene un registro de entrada sin salida enditarlo y colocar alli la salida

enecumene
09-09-2007, 22:52:31
Muchas Gracias Eduarcol, tenias mucha razon, el problema estaba en el ingreso, lo que hice fue que en la salida en vez de insert hacerlo por update, al principio no me actualizaba porque no estaba utilizando parametros, pero ahora que pruebo con ellos me funciona de maravillas. Te Pido Mil Disculpas y gracias por tu tiempo de corazon :)...

Saludos...