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

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-05-2008
Caray Caray is offline
Miembro
 
Registrado: abr 2006
Posts: 61
Poder: 19
Caray Va por buen camino
Reporte tipo Maestro /Detalle!!!

Hola gente del foro pues en esta ocasion los molesto con algo que puede verse sencillo pero que a mi me ha dado muchos problemas.
Primero que nada quiero decir lo que pretendo hacer y esto es un reporte tipo Maestro Detalle de la siguiente forma:

Nombre_Trabajador1 sueldo_total1
laborquerealizo1 importe1
laborquerealizo2 importe2
...
laborquerealizon importen

Nombre_Trabajador2 sueldo_total2
laborquerealizo1 importe1
laborquerealizo2 importe2
...
laborquerealizon importen

El sueldo total seria la suma de todos los importes, pues les quiero decir que todo me sale bien menos lo de el Sueldo_Total ya que no me lo muestra correctamente.
El Codigo que pongo en el QuickReport (utilizo Delphi 7) es el siguiente:
Código:
procedure TfrmRepNominaOperador.RepNominaOperaBeforePrint(
  Sender: TCustomQuickRep; var PrintReport: Boolean);
var cSql : String;
var cSql2 : String;
begin
  cSql := ' select nomina_operador.n_registro,operador.nombre,inspectores.nombre_inspector,labores.nombre_labor,maquinas.descripcion, nomina_operador.ano, nomina_operador.numero,det_nomina_operador.superficie, ' +
          ' det_nomina_operador.tarifa,det_nomina_operador.total_operador '+
          ' from operador, labores,det_nomina_operador,nomina_operador,maquinas,inspectores '+
          ' where operador.clave_operador=det_nomina_operador.clave_operador  AND inspectores.clave_inspector=nomina_operador.clave_inspector AND maquinas.clave_maquina=det_nomina_operador.clave_maquina  AND labores.clave_labor= det_nomina_operador.clave_labor ' +
          ' AND det_nomina_operador.n_registro=nomina_operador.n_registro AND maquinas.clave_sociedad=det_nomina_operador.clave_sociedad and nomina_operador.numero='+ quotedstr(frmnominaoperador.semana.text) + ' and  nomina_operador.ano=' + quotedstr(frmnominaoperador.edzafra.Text) +
          ' group by nomina_operador.n_registro,operador.nombre,inspectores.nombre_inspector, labores.nombre_labor,maquinas.descripcion, nomina_operador.ano, nomina_operador.numero, det_nomina_operador.superficie, det_nomina_operador.tarifa, ' +
          ' det_nomina_operador.total_operador '+
          ' Order BY nomina_operador.n_registro';
  Datos.qryBuscar.SQL.Clear;
  Datos.QryBuscar.SQL.ADD(cSql);
  Datos.QryBuscar.Open;
  cSql2:= ' select  nomina_operador.n_registro,operador.clave_operador,sum(det_nomina_operador.total_operador) as sueldo  ' +
          ' from det_nomina_operador,nomina_operador,operador,maquinas,labores,inspectores  '+
          ' where operador.clave_operador=det_nomina_operador.clave_operador  AND inspectores.clave_inspector=nomina_operador.clave_inspector AND maquinas.clave_maquina=det_nomina_operador.clave_maquina  AND labores.clave_labor= det_nomina_operador.clave_labor ' +
          ' AND det_nomina_operador.n_registro=nomina_operador.n_registro AND maquinas.clave_sociedad=det_nomina_operador.clave_sociedad and nomina_operador.numero='+ quotedstr(frmnominaoperador.semana.text) + ' and  nomina_operador.ano=' + quotedstr(frmnominaoperador.edzafra.Text) +
          ' GROUP BY nomina_operador.n_registro,operador.clave_operador'+
          ' Order BY nomina_operador.n_registro';
  Datos.qryauxbuscar.SQL.Clear;
  Datos.QryauxBuscar.SQL.ADD(cSql2);
  Datos.QryauxBuscar.Open;
end;
Con el QryBuscar logro que me ponga el nombre del trabajador, las labores y el importe; el nombre lo tengo en una banda QrGroup con la expresion: Qrybuscar.n_registro;y la labor y el importe en una detail.
Con el QyAuxBuscar intento que me ponga la suma de los importes de las labores para ese empleado y tambien la tengo en la banda QrGroup, pero lo malo es que para todos los nombres de persona me pone la misma cantidad: Ejemplo:

Nombre:Sergio Sueldo total: 50--> Eso Esta bien
limpia importe=25
limpia2 importe=25

nombre: Juan Sueldo Total: 50-->Esto debria ser 200
Quema importe=50
Quema2 importe=150

Y pues la neta no se que pasa por que el codigo del QryAuxBuscar probado en el ISQL funciona bien.

Bueno espero comprendan este post que parece mas una carta anticipada a Santa.
Esperando y agradeciendo de antemano su respuesta, me despido quedando de ustedes su amigo:SERGIO A. L.
__________________
La inteligencia me persigue, pero yo soy más rápido que ella.
Responder Con Cita
 



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
maestro-detalle en rave reporte hob Impresión 4 10-08-2006 17:30:28
Reporte Maestro Detalle Caro Impresión 1 14-06-2005 20:18:47
Reporte Maestro detalle FastReport IVAND Impresión 1 23-03-2005 13:52:31
Reporte Maestro/Detalle/Detalle de 4 Tablas jovehe Impresión 2 23-03-2005 01:25:02
reporte maestro/detalle/subdetalle dphmariano Impresión 1 24-03-2004 07:21:24


La franja horaria es GMT +2. Ahora son las 07:36:33.


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