Ver Mensaje Individual
  #4  
Antiguo 21-11-2006
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Reputación: 24
BlueSteel Va por buen camino
Talking a mi tambien me pasa algo parecido...

hola.. a mi tambien me pasa algo parecido... para que me entiendan, tengo lo sigte;

el form de tipo data mudule llamado Datos, en donde tengo un IBDatabase, 6 IBQuerry y 6 IBTransacction.

en el Form Ordenes, genero un listado de Ordenes, lo que funciona muy bien...

cuando selecciono un registro de Orden... este se puede imprimir, al presionar el boton imprimir se ejecuta el sgte código:

Código Delphi [-]
     OCompra.Num_Orden := Datos.IBQ_Select['Ord_Numero'];
     OCompra.Orden.Preview;

el Formulario OCompra (que tiene el Informe en QReport) ejecuta lo sgte:

bueno, tiene

banda title proceso before
Código Delphi [-]
procedure TOCompra.TitleBand1BeforePrint(Sender: TQRCustomBand;
  var PrintBand: Boolean);
begin
     Datos.IBQ_Orden.SQL.Clear;
     Datos.IBQ_Orden.SQL.Add('Select * From "Orden","Proveedor"');
     Datos.IBQ_Orden.SQL.Add('Where "Orden"."Pro_Rut"="Proveedor"."Pro_Rut"');
     Datos.IBQ_Orden.SQL.Add('And "Ord_Numero"=:Var1');
     Datos.IBQ_Orden.Params[0].AsString := Num_Orden;
     Datos.IBQ_Orden.Open;
     Datos.IBQ_Cargos.SQL.Clear;
     Datos.IBQ_Cargos.SQL.Add('Select * From "Cargos","Centro"');
     Datos.IBQ_Cargos.SQL.Add('Where "Cargos"."Cen_Codigo"="Centro"."Cen_Codigo"');
     Datos.IBQ_Cargos.SQL.Add('And "Ord_Numero"=:Var1');
     Datos.IBQ_Cargos.Params[0].AsString := Num_Orden;
     Datos.IBQ_Cargos.Open;
     Datos.IBQ_Cargos.First;
     sCargos.Lines.Clear;
     While Datos.IBQ_Cargos.Eof = False Do
     Begin
          sCargos.Lines.Add(Concat(Datos.IBQ_Cargos['Cen_Detalle'],' $',FormatFloat('#',Datos.IBQ_Cargos['Car_Monto'])));
          Datos.IBQ_Cargos.Next;
     End;
     sRaz.Caption    := Datos.IBQ_Orden['Pro_Razon'];
     sAte.Caption    := Datos.IBQ_Orden['Ord_Atencion'];
     sDir.Caption    := Concat(Datos.IBQ_Orden['Pro_Direccion'],' ',Datos.IBQ_Orden['Pro_Comuna']);
     sSol.Caption    := Datos.IBQ_Orden['Ord_Solicitado'];
     sPag.Caption    := 'CONTADO - 30 DÍAS';
     sFax.Caption    := Datos.IBQ_Orden['Pro_Fax'];
     sOrden.Caption  := FormatFloat('000#',Datos.IBQ_Orden['Ord_Numero']);
     sFec.Caption    := Concat('Talcahuano, ', FormatDateTime('dd "de" mmmm "de" yyyy', Datos.IBQ_Orden['Ord_Fecha']));
     sObs.Caption    := Datos.IBQ_Orden['Ord_Observacion'];
     sDescto.Caption := FormatFloat('0,',Datos.IBQ_Orden['Ord_Descuento']);
     sNeto.Caption   := FormatFloat('#,',Datos.IBQ_Orden['Ord_Total_Neto']);
     sIVa.Caption    := FormatFloat('0,',Datos.IBQ_Orden['Ord_Iva']);
     sTotal.Caption  := FormatFloat('#,',Datos.IBQ_Orden['Ord_Total']);
end;

proceso After - Aqui es donde selecciono todos los registros que deben mostrarse en la banda detail
Código Delphi [-]
procedure TOCompra.TitleBand1AfterPrint(Sender: TQRCustomBand;
  BandPrinted: Boolean);
begin
     With Datos Do
     Begin
          IBQ_Items.Close;
          IBQ_Items.SQL.Clear;
          IBQ_Items.SQL.Add('Select * From "DOrden"');
          IBQ_Items.SQL.Add('Where "Ord_Numero"=:Var1');
          IBQ_Items.Params[0].AsString := Num_Orden;
          IBQ_Items.Open;
          IBQ_Items.First;
     End;
end;

banda detail / proceso Before
Código Delphi [-]
procedure TOCompra.DetailBand1BeforePrint(Sender: TQRCustomBand;
  var PrintBand: Boolean);
begin
     sCtd.Caption  := FormatFloat('#,',Datos.IBQ_Items['Dor_Cantidad']);
     sDes.Caption  := Datos.IBQ_Items['Dor_Descripcion'];
     sUnit.Caption := FormatFloat('#,',Datos.IBQ_Items['Dor_Valor_Unitario']);
     sTot.Caption  := FormatFloat('#,',Datos.IBQ_Items['Dor_Valor_Total']);
end;

bueno, y eso es todo el código...

mi problema es que cuando muestro el informe por primera vez la banda detail solo muestra el primer registro, pero si salgo e ingreso nuevamente (sin salir del sistema), me muestra todo... trate de cambiar los IBQuerry e IBTransacction al Formulario ... pero sucede lo mismo....

a alguien se le ocurre que puede ser
__________________
BlueSteel

Última edición por BlueSteel fecha: 21-11-2006 a las 21:58:26.
Responder Con Cita