![]() |
algo como maestro-detalle, pero diferente
Que tal,
he buscado en el foro y no he pillado algo parecido a mi problema, aquii va: tengo un QReport (delphi 5) donde debo desplegar los datos de una persona (tabla persona) y para cada persona listar todos sus hijos, los hijos tambien estan en la tabla persona, pero tienen un campo donde indica quien es su padre, por lo tanto pongamos que los hijos estan en una query SQLHijos. pues bien, al hacerlo con detail, subdetail, me aparece solo el ultimo hijo, como si la banda subdetail se estuviera escribiendo siempre encima. estoy usando beforeprint para manejarlo con printband cuando quiero terminar de recorrer el sqlhijos. alguna idea? gracias |
Hola mez
Tal vez indicandonos los nombres de los campos de esa tabla y como mas o menos esta conformada. Ademas indicar como muestras la consulta, es sql o directa a tabla, me parece entender? pero no estoy totalmente claro. Saludos |
Hola
Una sentencia sql sencilla, no? Saludos |
En la banda QRSubDetail estan los datos del padre:
Código Delphi [-]procedure TqrReportePersonal.QRSubDetailNeedData(Sender: TObject; var MoreData: Boolean); begin MoreData:=(not qPersona.Eof); if MoreData then begin qrLabel1.Caption:=qPersona.FieldByName('PERSONA_NOMBRE').AsString; . . . end; if qPersona.FieldByName('PERSONA_TIPO').AsString='P' then //ES "PADRE" begin qHijos.ParamByName('padre').asstring :=qPersona.FieldByName('PERSONA_CLAVE').AsString; qHijos.Open; end; end; En la banda ChildBand (hija de la anterior) estaria el detalle, es decir, los hijos: Código Delphi [-] procedure TqrReportePersonal.ChildBandBeforePrint(Sender: TQRCustomBand; var PrintBand: Boolean); begin while not qHijos.eof do begin qrLabel1.Caption:=qHijos.FieldByName('PERSONA_NOMBRE').AsString; . . . qHijos.Next; PrintBand:=true; end; PrintBand:=true; qPersona.Next; inc(cont); qHijos.Close; end; El tema es que, los datos del padre me aparecen bien, pero los datos de hijo, siempre me aparece sólo el último de ellos, como si en la Banda Child se estuviera escribiendo sobre la misma linea. Al hacer seguimiento recorre todos los hijos, pero solo despliega el último. alguna idea? |
| La franja horaria es GMT +2. Ahora son las 23:13:18. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi