Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Impresión
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-06-2006
kiringui kiringui is offline
Miembro
 
Registrado: may 2006
Posts: 22
Poder: 0
kiringui Va por buen camino
problema al generar report

Buenas a todos: Mi problema es el siguiente.

Soy bastante nuevo en el qreport..genero listados sencillos eso sip jejje..pero ahora tengo que generar el siguiente i no se como crearlo aver si me pueden ayudar:
Tengo bbdd acces .con dos tablas una a_emplat que contiene los datos del empleado y la clave pricipal es nro_matricula.
la otra tabla es a_presecias en est aguardo los registros del marcaje de entrada i salidas de la empresa(para fichar)guarodo el nro_matricula dia hora entrada hora salida.

Ahora quierro generar un listado que me muestre las presencias de los empleados un un periodo determinado..asta aqui bien .me muestra lo siguiente:
EJ: NRO_MATRICULA DIA HENTRADA HSALIDA
1 12/06/06 12: 00 22:00

pero entoces reamete lo que quiero es que me muestre tambien el nombre,apellido, que estan en la tabla empleados....
como relaciono y muestro en cada linia del informe el nombre i alpellido sabiendo el numero de matricula?

gracias a todos
aprende juntos es cojonudo!"!
Responder Con Cita
  #2  
Antiguo 08-06-2006
Avatar de epuigdef
epuigdef epuigdef is offline
Miembro
 
Registrado: jul 2005
Posts: 196
Poder: 19
epuigdef Va por buen camino
Buenas!

El datasource de este qreport deberá ser un Query que relacione las dos tablas.

Del estilo:

Código SQL [-]
select * 
from a_presecias 
left join  a_emplat 
on a_presecias.nro_matricula = a_emplat.nro_matricula
(y demás filtros)


y ya dispondrás de todos los campos para ponerlos en el report

Un saludo

Edu
Responder Con Cita
  #3  
Antiguo 08-06-2006
kiringui kiringui is offline
Miembro
 
Registrado: may 2006
Posts: 22
Poder: 0
kiringui Va por buen camino
edu

gracies per lajuda lo provare en seguida y te dire el que....

gracias de nuevo
Responder Con Cita
  #4  
Antiguo 09-06-2006
kiringui kiringui is offline
Miembro
 
Registrado: may 2006
Posts: 22
Poder: 0
kiringui Va por buen camino
buenas edu

porobe lo que me dijiste ....pero en algun paso me tendre que equivocar ...porque solo me mustra un registro y repetido osea siempre el mismo!!!
puedes echarme un cable y contarmelo mas detalladamete?
gracias
Responder Con Cita
  #5  
Antiguo 09-06-2006
Avatar de epuigdef
epuigdef epuigdef is offline
Miembro
 
Registrado: jul 2005
Posts: 196
Poder: 19
epuigdef Va por buen camino
Buenas!

Si me pasas la estructura de las tablas y la SQL que ejecutas me voy a situar mejor, si no vamos mal!

Edu
Responder Con Cita
  #6  
Antiguo 09-06-2006
kiringui kiringui is offline
Miembro
 
Registrado: may 2006
Posts: 22
Poder: 0
kiringui Va por buen camino
buenas

oks vamos a ello aver si te lo pongo todo.

tabla a_empleats campos(nro_matricula,nom,1cognom,2cognom)
tabla a_presecia campos(nr0_matricula ,dia,horaentrada,horasalida)

tengo query con select que me facilitaste tu:
select *
from a_presencia
left join a_empleat
on a_presencia.nro_matricula = a_empleat.nro_matricula ;

la banda detail uno los camps con lo que me devuelve la sql.

anteriormete lo habia panteado con dos querys una para a_presencia que me devolvia nro_matricula,dia horaentrada,hora salida.Todo corecto pero no coseguia unir con la orta para poder ver cada nombre y apellido

creo que esta todo...
Responder Con Cita
  #7  
Antiguo 09-06-2006
Avatar de epuigdef
epuigdef epuigdef is offline
Miembro
 
Registrado: jul 2005
Posts: 196
Poder: 19
epuigdef Va por buen camino
Buenas!

En el report le pones los campos de las dos tablas?

Me puedes poner un ejemplo de los datos que tienes en las tablas y el resultado que te aparece en el report?

Edu
Responder Con Cita
  #8  
Antiguo 09-06-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Te aconsejo que busques un manual de SQL, hay muchos por la red, yo usaría esto:
Código SQL [-]
select *
from a_presencia 
inner join a_empleat 
on a_presencia.nro_matricula = a_empleat.nro_matricula where
dia between ( : prFechaInicio and : prFechaFin) and 
horaentrada >= : prHoraInicio and horasalida <= : prHoraFin;

En delphi:
Código Delphi [-]
query1.sql.text := // todo el texto de arriba 
query1.params.ByName('prFechaInicio').AsDate := datetimepicker1.date;
query1.params.ByName('prFechaFin').AsDate := datetimepicker2.date;
query1.params.ByName('prHoraInicio').AsTime := datetimepicker3.Time;
query1.params.ByName('prHoraFin').AsTime := datetimepicker4.Time;
query1.Open;

En ADO, no estoy seguro de que sea "params.ByName", o bien "params.Fieldbyname", pero el code insight de delphi te dirá como es.

Dentro del sql hay unas condiciones que llevan los dos puntos delante ":", eso se interpreta como parámetros que se le darán al SQL, por eso despues uso Query.params.blahblah

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #9  
Antiguo 09-06-2006
Avatar de epuigdef
epuigdef epuigdef is offline
Miembro
 
Registrado: jul 2005
Posts: 196
Poder: 19
epuigdef Va por buen camino
Buenas!

En ADO es Parameters.ParamByName, pero creo que su problema no es de SQL sino de datos.

A ver si tenemos un ejemplo de sus datos y nos imaginamos un poco más el problema!

Edu
Responder Con Cita
  #10  
Antiguo 09-06-2006
kiringui kiringui is offline
Miembro
 
Registrado: may 2006
Posts: 22
Poder: 0
kiringui Va por buen camino
edu

los datos que uso de la query son
a_presencia.nro_matricula
nom
primercognom
segoncognom
dia
horaentrada
horasortida

que son los que me devuelve de la left join
entoces los pongo en un detail seleccionadolos con el data fiel
Responder Con Cita
  #11  
Antiguo 09-06-2006
kiringui kiringui is offline
Miembro
 
Registrado: may 2006
Posts: 22
Poder: 0
kiringui Va por buen camino
intentrare expilcarme mejor

lepe and edu::
el paso de parametros ya lo tengo bien me passa los parametros entre dos fechas creo que el problema lo tengo a la hora de passar la informacion de las dos tablas relacionadas por el nro_matricula en el report.

si solo muestro los campos de la tabla a_presencia va perfecto...me los muestra todos .el proble esta cuando queiro saber a partir del nro_matricula de a_presencias el nombre y apellidos del emplaedo que se encuentran en la tabla a_empleados..

gracias por iestar ayudandome
Responder Con Cita
  #12  
Antiguo 09-06-2006
Avatar de epuigdef
epuigdef epuigdef is offline
Miembro
 
Registrado: jul 2005
Posts: 196
Poder: 19
epuigdef Va por buen camino
Has probado la sentencia SQL directamente en Access?

Crea una consulta, pasa a la vista SQL y ponle la sentnecia.

A lo mejor es simplemente que no te relaciona bien los datos porque
a) No hay datos a relacionar en las dos tablas
b) los tipos de datos de los campos de matrícula son diferentes

Edu
Responder Con Cita
  #13  
Antiguo 09-06-2006
kiringui kiringui is offline
Miembro
 
Registrado: may 2006
Posts: 22
Poder: 0
kiringui Va por buen camino
edu

probado en acces :
resultado perfecto con la select :
select *
from a_presencia
left join a_empleat
on a_presencia.nro_matricula = a_empleat.nro_matricula

funciona perfect i me devuelve todos los resultados correctos.
entoces el problema va ser en el report no?en la forma de mostrar los datotos?
Responder Con Cita
  #14  
Antiguo 09-06-2006
Avatar de epuigdef
epuigdef epuigdef is offline
Miembro
 
Registrado: jul 2005
Posts: 196
Poder: 19
epuigdef Va por buen camino
Vale, seguimos avanzando...

En el report tienes que tener puesta una banda de detalle y meter las etiquetas QRDBLabel (o algo así) dentro de ella. Estas etiquetas tienen que estar asignadas al datasource

Y el componente QuickReport tiene que tener también la propiedad datasource asignada, para que así sepa qué es lo que tiene que repetir.

Ale, a probar!

Edu

p.d. Por mis cojones que esto tiene que salir... Ya es cuestión de orgullo!
Responder Con Cita
  #15  
Antiguo 09-06-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Cuidado con el Koala que, según la letra de su canción: se gana la vida cortando cojones, la canción se puede escuchar aqui

__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #16  
Antiguo 12-06-2006
kiringui kiringui is offline
Miembro
 
Registrado: may 2006
Posts: 22
Poder: 0
kiringui Va por buen camino
buenas

edu and lepe...gracias por todo acavo funcionado perfecto quite todos los comonentes de l repor e,peze de nuevo y perfecto..no e podido contestar antes tube problemas para entrar en la pagina despues del ultimo mesaje...

gracias de nuevo
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Problema en Rave Report SaLvaGe Impresión 2 09-01-2008 18:45:24
Problema con crystal report en C# builder edgusano .NET 0 10-06-2005 21:57:46
Problema expresiones en QUICK REPORT Carlos A Ortega Impresión 0 06-01-2005 17:36:50
problema con quick report davidgaldo Impresión 3 09-02-2004 11:46:14
Problema con Crystal Report barencibia Impresión 1 04-11-2003 22:13:18


La franja horaria es GMT +2. Ahora son las 05:51:30.


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
Copyright 1996-2007 Club Delphi